Skip to content

Instantly share code, notes, and snippets.

@kragen
Last active January 23, 2019 02:03
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kragen/6bee5b4529cbde133050e9dc2e0b4b7e to your computer and use it in GitHub Desktop.
Save kragen/6bee5b4529cbde133050e9dc2e0b4b7e to your computer and use it in GitHub Desktop.

What I have most of are ideas, that and paranoia about evildoers imperiling their realization with patents, or using patents to force them to be realized in ways that strengthen the existing structures of oppression. So here are a few ideas, in case anyone else is interested.

  • Programmable self-reproducing robots from inorganic raw materials, of course, are the absolute most important thing that anyone could be working on right now. This is the crucial missing piece that keeps us constrained to a political structure where the owners of capital goods are dominant, giving them the opportunity to extend that structure of oppression into new realms like software where there is no scarcity of capital goods, but it’s probably also necessary for asteroid mining and for taking Moore’s Law to its atomic limits. The first such self-reproducing robots need not be very durable, reliable, precise, large, or efficient; they just need to be able to produce, on average, one or more robots that are at least as good, quickly. This was the objective of the RepRap project, but it got distracted by lesser triumphs. Robotics has advanced enormously since RepRap, and with those advances we should be able to get something running within a year or two.

  • Quasimodal multitouch user interfaces: right now multitouch user interfaces are mostly confined to scrolling lists, tapping to select items from them, pinch-zoom, and text entry via on-screen keyboards. Progeome is an initial prototype of a user interface that goes in a different, more expressive direction — on-screen objects declare some set of methods, which appear in a pie menu when they’re selected, using quasimodal presses to indicate method arguments with a second thumb. This permits dramatically more expressive interaction with a small gesture vocabulary that generalizes across many domains while freeing multitouch programmers from the tyranny of low-level programming of touch events.

  • Cheap cooling vests: I have serious difficulties with summer heat, as does some small fraction of the population; I know someone who had to abandon her house in New Mexico when she developed this after menopause. Ice vests, either using coolant tubing to an external insulated ice pack or pockets for gel, are regularly used by workers in extreme-heat environments, but remain an expensive specialty industrial supply (>US$1000) rather than an accessible medical device. In theory, though, a cooling vest with plastic tubing could be produced quite inexpensively; the most expensive part is a US$10 aquarium pump. This would be life-changing for some people. Additionally, it might be feasible to drop the ice — all you really need is a 100W Peltier thermoelectric module, which is about US$15, a heatsink insulated from your body, and a rapidly-charging ½MJ battery.

  • The Magic Kazoo: a synthesizer in a harmonica form factor, primarily controlled by pitch tracking (humming into it), equipped with autotune, live looping, canned rhythm tracks, and a plethora of synthesized instrument sounds. I think it should be possible to manufacture at a BOM cost of under US$5 nowadays and would be a very popular children’s toy.

  • Optimization-based visual art and music: using mathematical optimization algorithms on human perceptual models to minimize perceptual distance from some approximation under constraints to a desired percept, like PrimitivePic; for example, generating a mosaic pattern using an available repertoire of mosaic tile colors. Even in that limited domain, using an experimentally-validated, explicit perceptual model should permit noticeably better tradeoffs between edge sharpness and color fidelity than existing dithering algorithms. Other potentially interesting design spaces include reflection caustics like Rayform, photomontages, audiomontages like Paul Lansky’s notjustmoreidlechatter, designing arrangements of found objects (e.g., broken tile bits grouted onto furniture), and 3-D Lambertian surfaces of uniform color under some given illumination (which also has some potential application for object reconstruction), knitting pattern design, and papercraft design.

  • The Egg of the Phoenix: a computer designed to preserve the intellectual heritage of the humans in an executable form even if buried for a century or more. I recently learned about the Atmos clock; some calculation shows that a fraction of a cubic meter of working fluid could extract enough energy from atmospheric-pressure fluctuations to refresh gigabytes of Flash memory reliably, even deep underground, as long as the equipment remained working. Very unfinished draft at http://canonical.org/~kragen/eotf/ — it goes off into the weeds about capacitor energy density pretty quickly!

  • Loyal Objects: inserting tiny radio beacons into objects likely to be stolen, such as bicycles, cars, suitcases, laptops, TVs, rare books, home appliances, patio furniture, headphones, motorcycles, and maybe even cellphones. This kind of thing has been used for cars for years (LoJack), and in 2005 at CommerceNet, I talked to a guy who was doing it to track and geofence boxcars and other train cars with satellites, so his clients could find out when their clients were borrowing their boxcars for other shipments before returning them. Now, though, we have LoRa as well as very inexpensive cellular modems; it makes economic sense to apply this technology to preventing thefts of value-US$50 items instead of only value-US$5000 items. It might make the most sense to structure the Loyal Objects business as an insurance company with an asset-recovery private-investigator arm.

  • Graded-index optical systems, produced by deposition of transparent materials in precise 3-D locations in precise mixtures followed by a diffusion/homogenization step, should be able to duplicate the full gamut of traditional mirror-and-lens optical systems, but due to the lack of discontinuities in the index of refraction, they have absolutely no stray light, avoiding expensive coating processes like VantaBlack. Additionally, because they contain no empty space, they are immune to internal condensation and deformation from high pressures.

  • Speedy Delivery of sub-100g packages within a 5km radius in under two minutes, using a three-stage delivery system: a ballistic launch at 150 m/s using an actual ballista; a cruising phase gliding to the destination at an altitude of 120 m, guided by an inertial guidance system supplemented by GPS and passive radar, then diving once the target is near; and a parachute-braked landing cushioned by airbags, with a precision measured in centimeters. The Speedy Delivery vehicle contains no onboard propulsion and is thus not regulated as a “drone” in most jurisditions; it is as silent as an owl in flight to diminish complaints from nosy neighbors; it emits no radio waves to avoid the possibility of any interference; and it costs about US$30, less if you can get the recipient to return the vehicle for subsequent uses. In addition to the obvious uses for contracts requiring paper signatures, delivery of computer hardware (especially to hard-to-reach locations), and pharmacies delivering goods to housebound patients, this has significant humanitarian uses for delivering mifepristone in areas where abortion is prohibited.

  • Autism-assistive hearing aids. Many autistic people find earplugs and/or noise-canceling headphones to be a valuable assistive device for auditory sensory overload, but these have two big drawbacks: undesirable social semiotics and physiological irritation. (Also, there are probably autists who can’t deal with the tactile aspects of earplugs, especially when they’re dealing with sensory overload, but nobody has reported this experience to me yet.) The hearing-aid form factor can provide the same selective-attenuation benefits without these drawbacks, and potentially offers a gateway to unobtrusively using beamforming microphones to permit conversations in noisy environments normally only tolerable by the allistics.

  • 3-D-printed fractal heat exchangers structured like retia mirabilia could be several orders of magnitude smaller and lighter than the heat exchangers the humans have managed to fabricate so far; by using a broccoli-like fractal geometry for each of the four fluid feeds, perhaps more than 10% of the volume of the device can be comprised of microscopic capillaries, flipping the heat-exchanger material figure of merit from how well it transfers heat from one fluid to the other, to how well it insulates the hot reservoir from the cold reservoir.

  • Leconscrip: under GPLv3, for BubbleOS, I’m working on a new low-level language without garbage collection that incorporates ML-like pattern-matching and CLU-like iterators using Ruby-like block arguments with Pascal-like downward-funarg semantics for safety. The reason is that Lisp-memory-model languages (including Lua, Python, Ruby, and Java) lack the ability to reify the address of an object field or local variable, but C lacks any form of closures at all — even the GCC nested-function extension is hopelessly clumsy things like collection iterators, resource cleanup, and button callbacks. An ideal language for IMGUI programming would incorporate both closures and object-field pointers.

  • Non-Turing-complete scriptable Wercam GUI: for BubbleOS, again under GPLv3, I’m writing a window system called Wercam, which I want to be able to guarantee real-time responsiveness, so that no combination of system load and malicious applications can make the window system unresponsive. The design I’ll most likely use is extremely simple, just a screen multiplexor like Rio or 8½ (with maybe a video codec in the loop like Xpra for remote apps), but in that design, you’re still at the mercy of the application’s response times to actually echo back keystrokes or draw menus when you click, a problem exacerbated by me being here in Argentina 200ms from any remote server. The ancient solution to this problem was NeWS, which allowed arbitrary applications to upload Turing-complete PostScript to the window server, but I think attaching scripts in a non-Turing-complete language like Bitcoin Script or eBPF to arbitrary events could allow application GUIs to guarantee some kind of immediate response even when the application process itself is bogged down, without giving them the ability to make other applications slow.

  • PEG-based DOMification: consider this parsing-expression grammar as a way to describe markup you wish to be virtually inserted into an arithmetic expression for, for example, a stylesheet or even compilation or evaluation:

      _: (' ' | '\n' | '\t')*.
      digit: '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'.
      atom: <num> (digit+ ('.' digit* | ) | '.' digit+) </num> _ | '(' _ a ')' _.
      e: <exp> <base>atom</base> '**' _ <pow>atom</pow> </exp> | atom.
      m: <term> e (<op>('/' | '*' | '%')</op> _ e)+ </term> | e.
      a: <sum> m (<op>('+' | '-')</op> _ m)+ </sum> | m.
    
  • A planispheric conformal map app projecting from the point where you are, to display the entire Earth on your phone’s screen with smoothly varying zoom levels that provide enough local detail to use for local navigation. i

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment