Tuesday, April 24, 2018

[kkdnzbbn] Experiments with 1/x and the natural logarithm

The integral of 1/x is log(x).  For u=x+delta, the area under the curve between 1/u and 1/(u+1) is exactly log(u)-log(u-1) and approximately 1/x for some delta.  Define f(delta,x)=log(x+delta)-log(x+delta-1).  We experiment with different values of the delta offset, seeking to approximate 1/x well.

The value delta=0.5 is optimal for large x in the following sense.  Define the error function Y(delta,x)=1/f(delta,x) - x.  Then (limit (x tends to infinity) of Y(0.5,x)) = 0.  However, approximations for small x are not so good: f(0.5,1) = 1.0986 = 1/0.9102.  f(0.5,2) = 1/1.9576.

The value delta1=1/(e-1) = 0.581976706869326424385 causes the approximation to be exact at (only) x=1: f(delta1,1)=1.  f(delta1,2)=1/2.0413.

For general delta, we claim without proof that (limit (x tends to infinity) of Y(delta,x)) = delta-0.5.  For the above value delta1, f(delta1,x) ~= 1/(x+0.081976706869326424385) for large x.

Motivation is to sample from the Zipf distribution without having to compute and store partial sums of the harmonic series.  Could also do a hybrid approach of computing and storing the probabilities of the more frequent items and using the above continuous approximation for the rest.

Monday, April 16, 2018

[ljdyledo] Sort of UTF-6

We present an encoding of Unicode code points to printable ASCII characters while keeping English text still vaguely readable.  It accomplishes a similar purpose as Quoted-Printable.  This design is modeled after UTF-8.  We use 6-bit bytes instead of UTF-8's 8-bit bytes.  We also do not encode the number of continuation bytes in the first byte; instead, the most significant bit (high bit) signifies whether a byte is followed by further continuation bytes.  The last byte of a sequence does not have its high bit set, signifying it is the last byte of a sequence representing one Unicode character.  The binary bits of the Unicode code point numbers of various magnitudes are encoded big-endian into the x's as follows:

  • 0xxxxx
  • 1xxxxx 0xxxxx
  • 1xxxxx 1xxxxx 0xxxxx
  • 1xxxxx 1xxxxx 1xxxxx 0xxxxx
  • ...

This encoding can encode values of arbitrary size, in contrast to the 36-bit limit of UTF-8 extended in the obvious way.  But this is a moot point (for now) as Unicode was originally limited to 31 bits, and later (including currently) limited further to 21 bits.

Here, in order, are the 64 printing characters used to encode a 6-bit byte.  It is modeled after ASCII, but some common punctuation namely ;,-.? has been moved so that it remains unchanged when encoded.  (The moved punctuation was moved only up or down a column of the 16-wide ASCII table, preserving low-order bits out of tradition).  The second row, beginning with @, are characters that will only be used in multibyte sequences.  The first row, beginning with space, represents characters which will be unchanged when encoded but can also occur as the last byte of a multibyte sequence.


The following is how Unicode code points 0 through 127 are encoded.  Here is a 16-wide ASCII table to see the corresponding original characters.


The fact that some multibyte sequences are terminated by space (e.g., code points 48 and 64, corresponding to the digit zero and the at-sign respectively) is a little unfortunate.

Here is some more text containing higher Unicode code points, followed by its vaguely readable encoding:

lowercase Capitalized camelCase UPPERCASE numbers 0123456789 common punctuation ;,-.? at-sign @ bob@example.com http://example.com exclamation ! (parentheses) time 12:01 tilde ~ ‘single curly quotes’ “double curly quotes” yen ¥ euro € en–dash em—dash ellipsis … y-umlaut ÿ eng ŋ tent emoji ⛺ fire kanji 火 canoe emoji 🛶 newline

lowercase Acapitalized camelAcase AuApApAeArAcAaAsAe numbers C CaCbCcCdCeCfCgChCi common punctuation ;,-.? at-sign A  bobA example.com httpCjC?C?example.com exclamation Cq CxparenthesesCy time CaCbCjC Ca tilde C. H@xsingle curly quotesH@y H@,double curly quotesH@- yen Ee euro HEl enH@sdash emH@tdash ellipsis HAf y-umlaut G? eng Jk tent emoji IWz fire kanji \Ck canoe emoji C]Wv newlineBj

We implemented an encoder and decoder in Haskell (after first trying in Perl but finding it to be the wrong tool).  Some code excerpts:

We represented bytes as lists of Bool, sometimes little-endian sometimes big-endian depending on where we were in the conversion.  This is highly space-inefficient, but does allow some elegant code.  Given a list of big-endian bytes, splitting off the initial bytes that all have their high (first) bit set is elegantly span head.  This is used in decoding.

type Bstring=[Bool];
myspan :: [Bstring] -> ([Bstring],[Bstring]);
myspan = span head; -- takeWhile (\l -> head l == True)

Conversion to binary is an unfold.  Output is little-endian.

to_binary :: Integer -> [Bool];
to_binary = unfoldr (\n -> if n==0 then Nothing else Just (case divMod n 2 of {(q,r) -> (r==1,q)}));

Conversion from big-endian binary to an integer is a fold.

from_binary :: [Bool] -> Integer;
from_binary = foldl' (\accum b -> 2*accum+(if b then 1 else 0)) 0;

A few times we relied on the fact that mod x y with x negative and y positive yields a positive result.  This is in contrast to rem x y which would return a negative result.

Wednesday, April 04, 2018

[dahjjtaq] Fingerprint and PIN

Are there any phones which can be set to requiring both scanning a fingerprint and typing a PIN or password in order to unlock, for increased security?

We want "and" not "or" as most phones currently do.

[xfkccubv] Decrypt incorrectly to comprehensible text

Use a very good language model (e.g., LSTM) when encoding and encrypting text so that decrypting with the wrong key will result not in nonsense but normal-seeming text.  One could give a false key under duress.

Bit of a problem that it needs to decrypt to text that it is plausible someone would want to encrypt; there isn't much of a language model for that.

Could also do for pictures: there is a good model, namely porn, for pictures people would want to encrypt.  Then, encrypt text as a picture of text.

Another scenario is a master key to a password manager.  Each encrypted password should have a "language model" associated with it (used or valid password characters, or a more sophisticated password generating scheme like diceware), then an incorrect master password will generate incorrect passwords consistent with its language model or scheme.

[njogcgwc] In praise of calculating pi

Calculating pi to a record number digits stress-tests CPU, memory, and disk: there must not be even a 1-bit error in (typically) months of calculation.

Better -- a less complicated calculation which accomplishes the same tasks -- would be calculating sqrt(2)/2 in binary.  It can more easily be checked afterwards: just square it or compute 0.5/x.  But does calculating pi (using a Ramanujan-style formula with binary splitting as recent PC-based (not supercomputer) records have) test things that sqrt(2) (presumably calculated using Newton's method, an algorithm more similar to Brent-Salamin, not used in recent record-setting pi calculations) would not?

We specify sqrt(2)/2 and not sqrt(2) to eliminate ambiguity about whether calculating N bits includes the bits to the left of the radix point for numbers greater than 1.  There is something elegant about the square root of X in base X: dividing by X is simply a right shift.  However, one could do radix conversion to base 10 at the end.

In contrast to pi, sqrt(2)/2 has a nice feature that subsequent calculations to more bits can start from a previously published result then do more Newton iterations.  Slightly better would be if the fraction, before the final division, were published.

Parallel over many computers would also stress-test network, though it might be tricky to avoid it becoming a bottleneck.  Maybe file storage with disk arrays interconnected by network.

Are there better ways to test these things?  Probably something involving cryptographic hashes like Argon2, though it's not so glamorous.  Also cache-oblivious matrix transpose.

Saturday, March 31, 2018

[myoypbbj] From hierarchical to a simple list of records

Given hierarchical data, e.g., html: <lorem>ipsum <dolor>sit</dolor> amet <a href="consectetur">adipiscing</a> elit </lorem>.  Expand it to a collection of records, for ease of processing with a record-oriented tool.

lorem _content ipsum <dolor>sit</dolor> amet <a href="consectetur">adipiscing</a> elit
lorem _contentdolor _content sit
lorem _contenta href consectetur
lorem _contenta _content adipiscing

If the records are printed 1 per line, then newlines in the content will need to be escaped.  Record separators, e.g., tab, in content will need to be escaped.

Other hierarchical data formats, e.g., JSON, probably don't need to do the _content pseudo tag.

Content could be an array, avoiding the repetition of content and tags broken down.

[caqwyduy] Belt and caps

A cube can be considered as having square two polar caps and a belt of 4 squares around its equator.  The belt can be conveniently unfolded, in the style of a polyhedral net, into a strip, which is nice for a map projection.  Also chess on a cube.

Similarly, a regular octahedron "on its side" can be seen as two triangular caps and a belt of six triangles in a strip.  In the tetrahedron, the caps are line segments and a belt of 4 triangles.  Probably not so good for a map projection, though I haven't seen it.  The equator should go through the middle of the belt.

The regular dodecahedron has two pentagonal caps and two rows of pentagons as its belt.  The belt no longer unfolds nicely into a contiguous strip.  Choose the unfolding which keeps the equator continuous.

Icosahedron: two caps of 4 triangles each, a center one and 3 neighbors.  The belt is a single row of triangles that weaves up and down between the caps.

We can also consider points as caps, then all the faces as rows of belts.

[xjommsdj] Polyhedral map projections

Project the globe onto a cube then print the 6 faces onto 6 pages.  People understand square-shaped maps.  There are several ways to project 1/6 of a sphere onto each square face.

Of course, the four squares around the equator can be joined and printed onto a (long) flat page.

Each square could cover slightly more than 1/6 of a sphere, allowing overlap with neighboring squares for convenience.

Projection onto a cube is equivalent to views from the 6 vertices of the regular octahedron.  We could view from more than 6 points: what are some nice symmetric collections of points on a sphere?  Tammes problem.  We prefer symmetry so readers can understand how different pages relate to each other (especially in distance).  12 pages seems doable; maybe 20 corresponding to the vertices of the regular dodecahedron? The region covered will no longer be naturally square; use circles or the shape of the polyhedral face.  Azimuthal equidistant projection is nice for circles.

[hwvlhzae] Two patch failure possibilities

  1. Apply patch A
  2. Apply patch B
  3. Remove patch A

Patch A might have a conflict when trying to remove.  Or, it might seem to be cleanly removed but actually induce a hidden problem.

Software installation and uninstallation.

[pbldsmje] Evil next week

Look upon the face of true evil, perhaps the latest mass murderer or serial killer paraded in the news.  That could realistically be you next week: the Stanford Prison Experiment demonstrated that anyone can be turned -- in 6 days or less -- to commit atrocities.

If that face of true evil could very easily be yourself, then why are we contemptuous of Them?  There's something sociological going on.

Friday, March 30, 2018

[zognwxxq] Transferring files via USB cable on Android

Nexus 5x, Android 8.1.0, Ubuntu 16.04

Need USB-C to USB-A cable.

Enable Developer Mode.

Settings -> Developer Options -> Select USB Configuration -> MTP

It will automount at /run/user/NNNNN/gvfs .

It is good from a security standpoint that cable access is disabled when the phone is locked.

[nteqtrws] ifupdown in the NetworkManager world

Notes on toggling wifi:

nmcli help
nmcli connection help
nmcli connection
nmcli connection down (ap-name)
nmcli connection up (ap-name)

Does not require sudo.  Does not require retyping the wifi password.

Thursday, March 29, 2018

[teictrfe] VR on an office chair

Consider a virtual reality system in which your swivel chair simulates a vehicle, the direction your vehicle is pointing.  This is independent of which way your head is pointing.  The view you see in VR is the sum of orientations of your vehicle and your head.

Rotations around the vertical axis (yaw) of your vehicle are done by physically turning your chair.  This will require somehow tracking or sensing the rotation angle of the chair.  Other orientation changes (pitch, roll) of your vehicle are done with a hand controller, as are translation movements.

If the game has a horizon or a zenith-nadir axis, it probably makes sense to have those rotations always be around that absolute axis rather than the vertical axis relative the user's current orientation.  But this might be confusing if the user is upside down.  Gimbal lock might occur.

If you push the button to go "forward", you virtually go in the direction your chair (your vehicle) is facing.  You can look sideways while moving forward.

[aiwebpwx] Sexual fetish sim game

You play a god overseeing a world of simulated people as in The Sims. Your goal as a benevolent god is to make your sims happy.  Your sims have sexual fetishes which you need to predict or discover, then you need to manipulate the world so that your sims get them so they can achieve happiness.

Inspired by, the mechanisms which cause which people to develop which fetishes are not understood in the real world.

[nwtkgnqj] Rounding off a corner

Consider rounding off the corners of a parallelogram.  Easiest is to fit circles into the corners.  But another way is to round off the corners of a square or rectangle using circles then do an affine transformation to a parallelogram.  Then the fillet will not be a circular arc.

[nfeqogok] Intimidating refs

A coach or player gets into an argument with a referee or umpire.  Does it work?  That is, does it change how the referee referees for the rest of the game?  This can be measured.

The effect of players intimidating each other through fights and arguments can also be measured.

If it does work, to what extent should it be permitted?

Wednesday, March 28, 2018

[iwgjdcyx] Touch the high bar

The traditional high jump (kind of) measures how high you can elevate the lowest part of your body.  A different competition could measure how high you can elevate the highest part of your body, measuring the tip of your hand in a jump.  This is more realistic as a task people often do.  Use technology to measure the height, maybe a grid of lasers.

Of course, tall people will have a huge advantage, unlike traditional high jump.

[udoetndm] To crush then Schadenfreude

Step 1, to crush your enemies, is best in life only insofar as it consequently provides you the only true joy, Schadenfreude: to see them driven before you, to hear the lamentations of their women.

[ndcjjiev] Sphere world

Consider a virtual world built not out of cubes as in Minecraft but spheres arranged in a grid.  With an ambient-lighting-only lighting model, spheres are even simpler than cubes to render: just circles. However, one cannot render an entire flat face all at once as one can with a wall of cubes.

One can see through gaps between spheres, perhaps a nice feature for gameplay but a headache for computer graphics as testing occlusion becomes difficult.

Which grid of spheres? The one aligned with the centers of cubes is the most straightforward coming from Minecraft, but it is not a close packing.  The hexagonal close packing has infinitely deep holes in the gaps, but the face-centered cubic (fcc) packing does not (I think). Does fcc have lines through the packing which do not pass into the interior of any sphere?

[xyecmjsr] Rendering simplified Minecraft

A simplified world of cubes could be very simple to render: blocks are solid color only; lighting is ambient light only. How quickly can a large number of such blocks be rendered?  (This might be too simple; one will not be able to see the edges of cubes.  Maybe we want textures, or at least different colors for different cube faces.  Adding diffuse lighting would also not be difficult: there are only 6 normal vectors.)

As Minecraft demonstrated, sophisticated modeling and photorealistic lighting are not necessary for an enjoyable game. However, the ability to render large scenes is desirable, so keep things simple for performance.

[pgjogxxj] Warn using a default value

One additonal possibility wanted (beyond those previously mentioned): a function provides a default value for an argument, but the compiler emits a warning if the default value is used.

[vectvwqp] Animated vector graphics

Vector graphics can be rendered at any resolution. Extend the idea to animated vector graphics which can be animated at any time resolution: a function from a real-valued time variable to a vector graphics image.

We can also extend to 3D (and 3D + time); this is mostly already done: probably every 3D object representation except voxels.

Saturday, March 24, 2018

[zencjwey] Desktop UI keeps changing

It's unfortunate that despite the desktop UI (GUI) having being around for 40 years (Xerox Alto), designers still feel compelled to radically change things often, confusing people who learned the previous version, forcing them to rather pointlessly learn the new way of doing something.

We don't get the feeling that desktop interfaces are converging to an optimal design.

When in doubt, keep it looking and behaving like the old version.  New stuff supplements old, not replaces.  Keep the old way working even if there's a new way.  At least, where the old way was, leave instructions for the new way.

What are the forces for silly change?  Egos of designers, look and feel copyrights, patents, and trade dress, incentives to decrease functionality.

[efzxvlay] Optimal barriers to voting

Assume the objective function for a democracy includes preventing the majority from tyrannizing the minority.  Barriers to voting help accomplish this: a minority highly motivated not to be tyrannized will overcome the barriers while a majority only slightly in favor of tyrannizing will tend to be stopped by the barriers.  This magnifies the political power of the highly motivated, which probably helps things like preventing famine (Amartya Sen).

What is the optimal amount of barriers to political participation to maximize the (still unspecified) objective function of a democracy?  Barriers to participation are enacted and dismantled by the democratic political process: does a democracy naturally converge to the optimal amount of barriers?

Barriers to voting probably also decrease the power of demagogues, something democracies probably need to do some -- but not too much: another optimization problem.

[yrbtlvdw] Learn enough to translate

Learn a language just well enough to be able to use translation tools.  This probably means learning the alphabet (or common radicals for Chinese and Japanese), maybe phonemes for speech-input translation tools.

[gxzxttrh] Velocity sensitive game controller

We don't yet have game controllers which are sensitive to how hard or fast you push a button.  It seems very doable, and good for making games around that mechanic.

Inspired of course by the piano, and the possibility of making a musical instrument of that form.  In the meantime, consider using a velocity-sensitive electronic piano keyboard as a game interface.

Thursday, March 22, 2018

[ezjqmcuc] Locality because simulation

Our universe (mostly) obeys locality: information and influence do not travel faster than the speed of light.  Speculate that this is because we live in a simulation: simulation is easier if there is locality.  Can special and general relativity be seen as "ugly hacks" by our universe's engineers, forcing locality?

The famous violation of locality, quantum entanglement, mostly obeys locality: where the universe is dense, a particle/wave does not travel very far before it interacts with something else, forcing the wavefunction to collapse.  Where the universe is sparse, the simulators can do some sort of sparse computation, like sparse matrices.

[wercuqeo] Soldier Field in the future

"17776: What football will look like in the future" missed an opportunity to set game 27 in renovated Soldier Field, Chicago: "It's hideous".

[ahpsjsbl] Different sized air hockey

Experiment with air hockey on different sized tables and different goal sizes.  An arcade could offer different sizes.

[aobmrmdw] Outsourcing AFS

The Andrew File System seems like a service that could be easily provided by a 3rd party vendor.  Use large AFS caches to disguise high latency if the vendor is far away.

[magxbcla] Artistic football

Radically modify football by eliminating defense.  Points are awarded not just by moving the ball downfield (which is trivial in the absence of defense) but also doing it with style.

Number and rapidity of laterals, number of spins by a ball carrier, no-look maneuvers, leaping maneuvers, choreography of players in pretty patterns.

Collision injuries will hopefully decrease.

[zxevkvev] Walking houseplants

I have yet to see anyone take their house plant out on a walk.  It doesn't seem too difficult: load it onto a wagon.  Maybe even practical: get some sun.

Inspired by cats on leashes.

[tqodhrnz] Command line with text formatting

For an enhanced terminal application, let output have text formatting, with pipe utilities to interpret and render markup like HTML or LaTeX (just a subset of such markup).

Previously, images.

[dhipnjdq] Multi word identifiers in Lisp

We consider a programming language that allows identifiers with spaces in them, eliminating the need for camelCase, underscores, or dashes in identifiers.  We consider building on Lisp syntax, which is the most challenging because of Lisp's limited syntactical elements.

Easiest is for multi-word identifiers to have a parenthesized special form, preceded by a reserved word signifying a multi-word identifier:(sine x) ((mwi inverse sine) x)

Making mwi a reserved word does subtract that word from the user's available namespace; however, things like (mwi my mwi) are available.  Alternative words: "id", some symbol, and... "multiWordIdentifier".  The irony is that "multi-word identifier" is itself a multi-word identifier, but we can't use it to signify itself, or else we fall into a recursive rabbit hole like (((mwi multi word identifier) inverse sine) x).

Intriguingly, multi-word identifiers in Lisp allow parentheses within identifiers: ((mwi sine (implemented by Bob)) x), ((mwi (multi word) identifier (avoiding a dash)) x)

Another way to do it is to let multi-word identifiers be simply parenthesized: (inverse sine).  This interferes with function call syntax, so we modify function call syntax with a reserved word "do": (do sine x) (do (inverse sine) x).

Using up "do" as a reserved word prevents any multi-word identifier from starting with the word "do".  We could use some other word or symbol, perhaps period: (. (inverse sine) x).  This steals syntax from Lisp dotted pairs, so use another symbol for dotted pairs, assuming one wants to keep that feature.

Period to signify function invocation could be made more unobtrusive by making it postfix, radically departing from Lisp's normal prefix convention: (sine x .) ((inverse sine) x .)

Explicitly invoking functions is reminiscent of Haskell's $ operator.  It also suggests providing many different options on how to invoke a function, e.g., lazy evaluation, concurrency.

[bnekxptx] Tired but happy

One can be in a state of being tired but happy.  Tiredness is associated with low self-qi (often in the combination tired and irritable), but happiness is associated with with high.  Which is actually going on, assuming self-qi can be objectively measured in responses to and perception of unpleasant or stressful stimuli while in that state?

Some people like to cuddle in that state.  Cuddling is an activity associated with high self-qi; with low self-qi, you don't want to be around people, nor can you handle things going wrong.

Wednesday, March 21, 2018

[jpanfkuk] Summertime suppertime

Mash up "Summer time, and the living is easy" with "Supper time" from You're a Good Man, Charlie Brown.

[qdhplkfr] Adjusting VR field of view

Virtual reality can provide a viewer with a wider field of view then they would naturally see.  Perhaps useful for first-person games, decreasing the chances of someone sneaking up behind you.

One can compress the field of view linearly, or nonlinearly with normal angles near the center of vision and distortion near the edges.

[oynrnmoz] VR binocular vision

In virtual reality, provide a control to adjust binocular separation, the amount of parallax between the two eyes.  Make it useful for a game somehow?  Previously

[bgrwfcni] Draw the minimum graph

Given some points in the plane, draw the minimum Traveling Salesman's Path.  Or, Euclidean Steiner Tree.  These seem pretty easy to make into competitive games: whoever has the current best solution earns points based on time until someone else finds a better one.

For Euclidean Steiner, the player draws a topology and the computer automatically does local minimization to compute the total edge length.  Perhaps no one earns points until the approximate tree based on locally optimizing the minimum spanning tree is beaten.

In 3D with VR.

[qiiemukv] More battles of wits

The location of the Battle of the Wits in The Princess Bride seems to be accessible in a national park in England.  What are its exact coordinates?  "Lathkill Dale where it meets Cales Dale in Peak District National Park, England" according to Wikipedia.  One could film other battles of wits there, maybe a chess game.

Monday, March 19, 2018

[dwpotjwt] Spirals on spirals

Draw a line in 3D space.  Draw a helix around that line.  Draw another thinner helix around the first helix.  Repeat.  Probably related to Fourier transform.

Wrap a logarithmic spiral around a cone.  Repeat the previous construction, with the helices getting thinner as it approaches the apex of the cone.  Arc length might remain finite.

[ovnejymj] Fairy chess pieces in foreign languages

Using the name "wazir" as a fairy chess piece will cause confusion where that word is already used for what English-speakers call the Queen piece (e.g., Hungary and Azerbaijan are countries where chess is very popular.  Hindi.).  Similarly, "ferz" is the queen in Russian (and others).  Arabic uses both for the queen.

Similarly, "alfil" as a fairy chess piece will cause confusion where that word is already used for bishop (Spanish, and others), and relatedly "fil" (Azerbaijan, Persian, and others).


Invent systematic names for a nice subset of fairy chess pieces that does not run into problems with translation..

[efpkpefb] TINA

stands for "TINA Is Not an Acronym" (or Abbreviation).  Or any ?INA, ?NA, ?IA.  Inspired by GNU.

Renaming the CIA to "CIA Is an Acronym" (and that's all you Need To Know) seems like something an intelligence agency might do.  Also DIA.

[xymeylpw] Base 29

Slightly modify the previous system of encoding arbitrary Unicode with 30 characters by making open parenthesis the escape character.  We no longer get short escape sequences, nor can parentheses be used directly in text, but escape sequences can easily be ended with close parenthesis.

Is the scope of an escape sequence limited to what's within the parentheses?  Should capitalization be (caps a) or (caps)a?  (allcaps ibm) or (begin allcaps)ibm(end allcaps)?

This resembles HTML with parentheses instead of angle brackets.

[ynrhmpbn] Integer and real zooms

When magnifying a raster image, sometimes you want integer zooms, turning pixels into square blocks of pixels.  Other times you want smooth interpolation, e.g., bilinear or bicubic.

[mjdtvttx] Flipping function composition

Here is how to refer to the function composition operator in Haskell when it has a qualified prefix: "Prelude..".  It certainly looks very weird.  Here it is in the context of creating an operator which puts its arguments in an order which some might consider more natural.

import Prelude hiding ((.));
import qualified Prelude;
(.) :: (a -> b) -> (b -> c) -> a -> c;
(.) = flip (Prelude..);

But consider just using the builtin operator Control.Category.>>> instead of redefining "." in this way.

Sunday, March 18, 2018

[czqkaghm] Some integers

Is your number theory conjecture true of all nonnegative integers?  Some numbers to test looking for counterexamples:

0, 1, 2, 3 (first odd prime), 4 (first square larger than 1), 6 (first product of two distinct primes), 8 (first cube larger than 1), 9 (first square of an odd prime), 15 (first product of distinct odd primes), 27 (first cube of an odd prime), 30 (first product of 3 primes), 105 (first product of 3 odd primes).


And of course, try some negative numbers if you suspect it true for all integers.

[zmlnouxm] Freenet for point to point communication

Create a system by which two parties can communicate but an eavesdropper has difficulty even telling that a message is being sent.

One solution is to piggyback on a system which is constantly sending messages, and messages are routed through multiple hops.  Can Freenet work for this purpose?

Global traffic analysis, looking at message sizes and timing, might be enough for an eavesdropper to connect the two parties.  Maybe nodes can collect messages over a time period and send them to another node as a bundle.  This disguises message sizes and introduces more delays making timing analysis difficult.

Inspired by David Petraeus and Paula Broadwell communicating through Gmail drafts of a shared account.  What if it was far more difficult to tell that either of them was connecting to a common service?

[xhazmizv] Genocide and economic well-being

Hypothesize there is negative correlation between a country's economic well-being and its predilection to commit genocide.  The hypothesized mechanism is they are looking for a scapegoat to blame for their economic troubles.

Is this true?  I suspect there is lots of data to test this hypothesis.  Are there exceptions (low economic well-being but no genocide, or high economic well-being with genocide)?  How can one explain the exceptions (if there are any)?

To what extent can the economic troubles of Germany after World War I be attributed to actions taken by the WWI victor countries seeking spoils of war, e.g., reparations?  Assuming true the causality from economic downturn to genocide, this becomes an intensely political question: who is to blame for the Holocaust?

[skbsmufv] Reverse Rubik's cube competition

The solver is shown a pattern (most likely a scrambled state), given a solved cube, and asked to transform the solved cube to the given pattern as fast as possible.

Thursday, March 15, 2018

[uubpwgfn] Paradox of promiscuity

Having sex, aiming for enjoyable sex, is inherently a risky activity: you have to put yourself in a physically or emotionally vulnerable state to maximize enjoyment.  However, things could go wrong in such a state: you could get hurt.  To handle and recover from things going wrong requires a positive attitude, mental fortitude: high self-qi.

Therefore, one would expect a correlation between people who have sex with many partners and high self-qi.  Therefore, we would expect that people believed to have had sex with many partners would be prized for courtship: prefer partners who signal (as in game theory imperfect information) high self-qi.

This seems not to be occurring: In women, promiscuity is very frequently looked down upon ("slut"), and in men, although it carries value ("stud"), the meaning of that value does not seem to be because it directly signals high self-qi.

Possible explanations resolving this paradox:

This model of self-qi is entirely wrong.

The reason some people have had many sexual partners is because they can't retain them, losing them because of their own low self-qi or some other flaw like lack of commitment or loyalty.

Self-qi is a currency that can be used to advance yourself in many ways.  Those who choose to spend it on having sex are doing so because of lack of other opportunities, signaling low social status.  Future post: on the history social dancing.

People are not being rational in how much sex they have.  This seems incorrect: people make less mistakes the more chances they have to try and learn from their mistakes, so a promiscuous person for whom promiscuity is rationally bad decision will learn not to have sex so often.  Similarly, those for whom promiscuity is rationally a good decision will shift towards it, though this is contingent on other people wanting to have sex with you.

[obxqhvtm] Contagious handrails

Should you hold the handrails of public stairs or an escalator?  On one hand (no pun intended), you are touching the thing everyone before you touched, so exposing yourself to everything contagious those people had.  On the other hand, stairs are some of the most vicious killers out there due to slips and falls.  Even a light maiming by stairs can leave you injured for life.

The problem is somewhat game theoretic. The degree to which handrails are coated with contagious disease depends on how much everyone else touches it.  The degree to which everyone else touches it depends on what they believe to be the contagiousness of the handrail.

[ekeyyuib] Many vulnerable Android devices?

How many active Android devices are out there, no longer being patched for security vulnerabilities by their manufacturers?  It is of course a shame that otherwise perfectly fine hardware reaches this state: DRM at work, as well as not-too-large an ecosystem of alternative well-maintained distros one can install on one's phone.

Wednesday, March 14, 2018

[kfernrxl] Politics and pro wrestling

Tell a story juxtaposing the behind-the-scenes of both politics and pro wrestling, each side scripting a story for the people to consume, full of invented and hyped-up conflicts.

Sunday, March 04, 2018

[omvgtkqp] Dodecahedral edge cover

Can one partition the faces of an icosahedron into 10 non-overlapping pairs of adjacent faces?  Some simple investigation suggests yes.  If so, one can set up a grid on each nonplanar rhombus by connecting opposite edges.  If distortion is OK (e.g., in a game), this can be a map with 10 square shaped regions connected to each other.

Are there any nicely symmetric face pairings?  Zonohedra, polyhedra with all faces parallelograms (the "more restrictive definition" according to George Hart) exist, including the nicely symmetric rhombic dodecahedron and rhombic triacontahedron.

Equivalently, this partitions the surface of a sphere into 10 congruent rhombus shaped patches.  Equivalently, it is an edge cover of the regular dodecahedral graph.

What happens when this is done on a octahedron?  There seem to be two ways of doing it: 4 wedges from pole to pole, or 2 sideways with respect to the other 2 reminiscent of a sphericon.

[hurozhls] Large chess is like go

Chess on large boards and especially in higher dimensions might feel more like go 囲碁.  There are many battles going on in different parts of the board which only weakly interact because it takes many moves for a piece involved in one battle to move to influence another battle.  Perhaps enhance this characteristic by limiting long-range movement to only the movement of the small rook, parallel to orthogonal axes.  Another possible enhancement: forbid long-range captures.

Change the scoring to be more like go.  There is no king, no checkmate.  The game ends with 3 fold repetition or consecutive passes.

For a static final position (consecutive passes) score it by something like territory: maybe the number of squares your pieces can reach before any opponent's piece.  If the final position is a loop (repetition) take the average over the loop.  Scoring is complicated and best done by computer.

Perhaps the initial position has every square occupied, so there is something to play for, not immediately passing.

[bljdmymf] Shortest paths for higher dimensional chess pieces

Given a higher dimensional rook or bishop as previously described, compute a path which reaches a given destination in the smallest number of moves.

In 2D on an empty board, a rook or bishop takes at most 2 moves to reach any given (accessible) square, and it is not difficult to describe the positions in which they require only 1.

In N dimensions, I suspect at most N moves are necessary (which is a lot).  When can we get there in less, and how?

The movement of both pieces can be described as a integer scalar multiple of a vector whose components are all -1, 0, or 1.  For a bishop, the number of nonzero components is even; for a rook, odd.  Without loss of generality, assume the piece is at the origin.  Find moves which sum to the coordinates of the destination.  This seems reminiscent of bin-packing.

One heuristic is, for all possible moves from the current location, choose the one that minimizes the straight-line (Euclidean) distance to the destination: the distance from a point to a line.  Repeat for the next move.

Other open problems: computational complexity; the tricky knight; what if there are obstacles?

[tjwlghtv] Limited higher dimensional chess pieces

A family of additional pieces for higher dimensional chess:

The Small rook, wazir, and dabbaba move only parallel to orthogonal axes.  2*D possible directions.  This is the most obvious generalization of the rook to higher dimensions, but originally rejected because of how relatively weak it becomes in higher dimensions.

The Small bishop, ferz, and alfil move only in the directions of longest-length space diagonal.  In odd dimensions, the pieces are not colorbound.  2^D possible directions.

The Small knight jumps to a square reachable by one Small wazir move then one Small ferz move in the outward direction.

Of course, these abilities can be combined to form compounds like a queen.

Compared to the Great versions of the pieces previously described, these pieces are relatively much weaker.  The Great rook and bishop both move in approximately 3^D/2 possible directions.  However, the weakness of the Small versions might enhance a game in which pieces rarely interact over large distances.

Saturday, March 03, 2018

[eltiajwk] Short Diceware

We consider generating passwords using dice, inspired by Diceware.  However, unlike Diceware, we generate short, non-memorable passwords, intended for use with a password manager.

A-Z a-z 0-9 and two punctuation give 64 characters, suitable for 2 throws of a d8 (octahedron) die, looking up the letter in a compact table, in contrast to Diceware's very long lists.  The choice of the 2 punctuation characters depends on what punctuation is permitted for that site.

A d20 labeled with the 20 most common initial letters.  d24 and d30 exist as Catalan solids.  For d30, the 4 extra faces could be reroll, common letters (maybe vowels?), numbers, or punctuation.  Previously, on how to turn a random string into a sentence.

[tvuxbiuq] Password generation with a deck of cards

Easiest is to mark up the fronts of deck of 52 cards with lowercase a-z and uppercase A-Z.  (It's convenient how the numbers work out.)  Shuffle and get some random letters.  Drawing with replacement (shuffling after each draw) has slightly more entropy, but requires more effort.  Use the number cards (rejecting face cards) if you need to add some digits to satisfy password character class requirements.

We need a way of writing individual letters to distinguish uppercase from lowercase: c o p s u v w x z.  Maybe tilde or macron for lowercase, as these conveniently do not have ascenders.  Or cursive.

Slightly more sophisticated is to add 10 number cards from a separate deck, bringing the total up to 62: letters and digits. Add jokers or more face cards for punctuation.

Sites often disagree on what punctuation is permitted/required.  Is there a set of 2 (for jokers) or 3 (for face cards) which are usually permitted?

These would not be memorable passwords, so use a password manager.

[ebxhxgtj] Despacito magnets

The song Despacito could be interpreted as about science, the attraction of metal to a magnet.  Create a music video to the song illustrating magnets in action.

[ttjsbzma] Avoiding the birthday paradox

Each person draws with replacement from an urn containing N balls.  For a given population size, how large should N be so that the probability of collision is smaller than some given small probability?  Of course, larger than Population^2 because probabilities are around 50% there.

If we want collisions to "never" happen, what should that small probability be?  2^-128? 2^-256?  Randomly chosen 128-bit UUIDs only offer 2^64 collision resistance, probably OK for each human on earth choosing just one, but not enough for (say) tagging rapid transactions.

Inspiration was, how does a galactic civilization with a population on the order of 2^114 choose unique identifiers, e.g., the future equivalent of Social Security Numbers, for each person in a distributed way (not requiring central coordination because communication might be expensive)?  Or, how should it assign IP addresses to its galactic network of computers (though that might be more difficult, also requiring solving routing)?

[iaqaplhi] Star Trek: K3

Tell stories of a Star Trek-like universe (people generally get along, not war all the time) taking place in a galaxy colonized to Kardashev level 3.  Most stars have Dyson spheres (swarms) around them.  We probably need FTL travel and communication.

Assuming a person requires an average of 4 kW of power (including energy cost of agriculture to grow their food), a galaxy's power output can support a population of 10^34.

If this were instead a Star Wars-like universe with such a population, a quadrillion deaths would not be a big deal, proportionally less (much much less) than 1 person dying on our planet of 7 billion.

[dpxfesvt] Inventing evolving languages

Invent not just one fictional language but multiple versions of it corresponding to snapshots over time for a story that takes place over a very long time.  How do languages realistically evolve?  Inspired by Tolkein.

[iiycledq] Fastest cryptographic RNG

How quickly can cryptographically secure pseudorandom numbers be generated?  Probably something parallel that runs on GPU.

Assume that we are consuming such a large quantity of random numbers that statistical irregularities that show up after 2^64 samples will become visible.  This means we cannot just use AES in counter mode to generate a random stream.

This seems useful only as a curiosity: what could need so much cryptographic randomness so quickly?  Monte Carlo simulations do not require cryptographic security.  What could even consume numbers that quickly?

Maybe high-bandwidth encrypted communications of data at rest.  Other than data at rest, it's hard to imagine data being produced so quickly as to require an extremely fast cPRNG to encrypt it.  But even data at rest is limited by disk bandwidth.

[rgifeuwg] Human power

Another way of putting amounts of power or energy into human-comprehensible terms is to compare it with a human on an exercise bike.  Previously.

[dlowwfka] Car average power

A car with fuel efficiency of 20 miles per gallon traveling 20 miles per hour on average conveniently consumes 1 gallon of gasoline per hour (similarly 30 and 30, etc.).  This translates to 36000 watts.  Less if your car has better gas mileage.

[qdkedsco] Thwarting the evil maid

Preventing physical attacks against unattended computers carrying valuable data is simply the problem of physical security, e.g., safes and locks, which has been studied for a very long time, though this is a new form factor.

Desired features: A laptop which can be locked closed with a lock (maybe padlock) of the user's choosing so that the user can balance security versus convenience.  Laptop cannot be disassembled while locked.  Ports cannot be accessed while locked.

Some users may want tamper-proof physical security; others may just want tamper-evident physical security.  Tamper-evident can interface with the computer to record and notify attempts at tampering.

[smofltff] Connect the dots

In a workbook, provide many pages offer practicing drawing the same image many times with numbered dot-to-dot.  Later pages for the same image have fewer and fewer dots.  This teaches how to draw.

The last dot or number before a discontinuity is marked with some symbol indicating pick up your pen and restart at the next number.  A picture does not have to be a single continuous line.

[fqdnhwqh] Even versus odd dimensions

Enumerate geometric things which behave differently depending on whether the number of dimensions is odd or even.  Inspired by algorithms in computational geometry.


[dccpeblm] CNN CA

Convolutional neural networks and cellular automata like Conway's Game of Life seem like a good fit, but not sure exactly how.  Maybe spaceship searches and design, searches for other interesting objects, or design of universal circuits and constructors.

Sunday, February 25, 2018

[xucvjwda] Pari/GP first-stage ECM time

Number of seconds pari/gp's factorint function spends on other algorithms before trying MPQS for factoring numbers of various sizes (in bits).  Most of that time is spent on the Elliptic Curve Method.  Hardware and software info:

Intel(R) Core(TM)2 Duo CPU E8600 @ 3.33GHz
GP/PARI CALCULATOR Version 2.9.4 (released)
amd64 running linux (x86-64 kernel) 64-bit version
compiled: Jan 16 2018, gcc version 5.4.0 (Funtoo 5.4.0)
threading engine: single

for(n=95,151,p=precprime(2^n);q=precprime(p-1);T=gettime();factorint(p*q,9);print(2*n," ",(gettime()-T)/1e3))


One additional data point from a different computer and different software version: 299 bits (10^90-81), 5767.238 s.

Friday, February 23, 2018

[gmiuenaz] Base 30

Yet another partial attempt (previous attempts yet to be published) at creating something like MIME quoted-printable, a way of encoding any Unicode code point using only printing 7-bit ASCII characters while still keeping English text vaguely readable (so not say Base64 applied to UTF-8).  If there's anything I've learned, there are many ways to do this.

We want the letters a-z to keep plain text readable; let's choose lowercase.  We want space, though maybe we want to use underbar or period as space (similar to URL encoding using plus as space).  We want an escape character, say semicolon (;).  We choose it because it is on the home row on QWERTY keyboards.  Add parentheses because matched delimiters are useful if we want to encode hierarchical structure.  This yields 30 characters.  We could do more, but for simplicity start here.  Previously similar.

Similar ideas: if the escape character were backslash (\), text would look like C strings or LaTeX.  If the escape character were ampersand (&), text would look like HTML.

Characters that are not the lowercase letters or space are encoded in two possible ways:

  1. Long Parenthesized escape sequences ;(something)
  2. Short escape sequences ;lowercase

Let's choose uppercase to have short escape sequences, specifically the escape character followed by the letter repeated: ;aa ;bb...  Numerals should be similar, though there's a choice between (a=0 ... j=9) or (z=0, a=1 ... i=9).  The former sorts better; the latter follows models like Greek and Hebrew which have used letters as digits though perhaps not in place-value systems.  (Or we could just add 0-9 to the 30 letters.)  Let's choose 0=;z ;a ;b... ;i=9.  Numerals get the second shortest escape sequences.

Short escape sequences in general start with semicolon followed by a sequence of lowercase letters.  How should a short escape sequence end?  Several possibilities we could choose: a space, the escape character again, or the sequence of lowercase letters encodes its endpoint.  The latter is what UTF-8 (very roughly) does: the high bit in each byte indicates we're still in an escape sequence.  More generally, the escape sequence could traverse a Huffman-tree-like structure where in we know we've hit a leaf because we know the structure of the tree.

Variations possible: if we had more than 1 escape character, then different escape characters could be the root of different trees.  UTF-8 could be interpreted as having 128 escape characters.

Let's choose short escape sequences to end with either a space or the escape character again, but the latter signifying the start of another escape sequence.  This keeps compact things like digit sequences.  It does introduce a few awkwardnesses: the encoding of a character requiring an escape sequence followed by a character not requiring one will awkwardly have a space in it: camelCase = camel;cc ase.  A character requiring an escape followed by a space awkwardly needs to be encoded with two spaces after it: the capital letter ;aa  has decimal ;aa;ss;cc;ii;ii  value ;f;e .

Short escape sequences are reminiscent of HTML entity references, though the latter use characters beyond a-z, like uppercase.  They also explicitly mark the end of a reference with a special character, semicolon.

There is no difficulty in finding the end of a Long Parenthesized escape sequence so long as we enforce that parentheses match.

The escape sequence of semicolon immediately followed by a space is uniquely the shortest escape sequence.  Let's keep it unassigned; maybe it gets used by the UI to signify something special like leaving typing mode (similar to vi), or the user can assign it.

At this point, all that remains is to assign escape sequences to the all the rest of the Unicode code points.  Long escape sequences permit many schemata, each preceded by a schema identifier.  One possible schema is a formula to convert back and forth between a Unicode code point number and a digit sequence in base 26.  It's not strictly a number is base 26 because leading "zeroes" (the letter a?) matter.  Use the formula for the sum of a finite number of terms of a geometric series.  Unfortunately, some will spell out vulgar words.

Long parenthesized escape sequences also intriguingly permit a rich Lisp-like language with different combinators for expressing the how a complex Unicode character is put together from components.  This requires the structure of complex Unicode characters be broken down into their component parts.  This probably already exists.  Previously, thoughts on Japanese and investigation into Korean (Hangul).

[hclhaknu] Seven Usual Suspects

Mashup The Usual Suspects and Se7en, both movies with Kevin Spacey playing a clever villain, so they take place in the same universe.

Thursday, February 22, 2018

[mkhbjbvh] Chess on a hypercube

Adapt chess on the surface of a 6x6x6 cube to the hypersurface (a 3D manifold) of a 6x6x6x6 4D hypercube (tesseract).  Apply this movement of 3D chess pieces.

A tesseract has 8 cubical cells that comprise its hypersurface.  There are the top and bottom cubes (promotion areas), and 6 side cubes which are connected roughly as the 6 faces of a cube are, as seen in the famous cube-within-a-cube cell-first perspective projection of the tesseract.

There are some literal edge cases of bishops hitting edges that need to be thought through (probably movement through an edge prohibited), similar to bishops hitting corners when playing on the surface of a cube.  3D knight moves through edges and rooks through corners also require thought.

Each player starts with 216 pawns, 54 rooks, 54 bishops, 54 knights, 27 queens, 26 commoners, and 1 king: total 432.  Board area 1728.

Sunday, February 18, 2018

[oebfsidv] Taxicab numbers

There are many ways to generalize the Hardy-Ramanujan number 1729:

The {a}th number which can be written in at least {b} different ways as the sum of {c} numbers all of the form {d}^{e}.

The {d}s could be restricted to positive and/or relatively prime.  The form {d}^{e} could be relaxed to any form, e.g., triangular numbers (Gauss's Eureka theorem).

The most famous generalization is the sequence that is a function of b, restricting a=1 c=2 e=3 and d=non-negative.

I like the sequence that is a function of a, b=2 c=2 e=3 and d=unrestricted.  This is A051347.  Allowing negative numbers seems appropriate for the cubing operation as the range of cubing extends to negative numbers (unlike for squaring).  If cubing can do it, let it.

Waring's problem is about b=1, and its most narrow form restricts to nonnegative d.   But how many signed cubes (what value of c) does it take to express any sufficiently large number?  Probably 4 (same as with positive-only, though the "sufficiently large" threshold might be different).  Coincidentally, this is the same number of squares needed, by Lagrange's Four-Square Theorem.

Incidentally, it is not too difficult to notice that 1729 can be expressed as the sum of positive cubes in 2 different ways.  If one happens to have cubes memorized up to 12^3=1728, then one has probably also noticed that 9^3=729 differs from 12^3 by almost exactly 1000, and 1000 is also a cube.  From this, it is easy to realize 12^3+1^3 = 9^3+10^3.

[pkobcsan] Polyhedron facts

Cube: 6 faces, 8 vertices, 12 edges, 24 face-vertex tuples, 24 face-edge tuples, 24 edge-vertex tuples.  98 items total, maybe good for a deck of cards for a game.

Same for octahedron.

Tetrahedron: 4 4 6, 12 12 12 = 50 items.

Dodecahedron / icosahedron: 12 20 30 60 60 60 = 242 items.

Vaguely an extension of half-edge data structures for computer graphics.

For a general polyhedron, the cards could include additional information in the style of Pokemon cards.  Faces, edges, vertices get names.  Face: fraction of total surface area, number of sides, number of holes, fraction of the interior volume closer to this face than to any other face.  Edge: length (in what units?), dihedral angle, adjacent faces, adjacent vertices, fraction of close interior volume.  Vertex: degree, spherical angle of interior, fraction of close interior volume.  Face-Edge: which vertex is to the left and which is to the right when standing on the edge facing into the face, fraction of the area of the face closer to this edge than any other edge, fraction of the perimeter of the face.  Face-Vertex: angle, which edges are to the left and to the right when standing on the vertex facing into the face, fraction of the area of the face closer to this vertex than any other vertex.  Edge-Vertex: which face is to the left and to the right when traveling along that edge to the vertex.

Edge length could be scaled relative to the longest edge, total length of all edges, maximum distance between two vertices (diameter).

In general, a card contains a fixed amount of information, so we do not for example list all the edges of a face because that is unbounded in number.

We could also define the "angle" of edge on a polygonal face by imagining the face at the center of a very large coplanar circle, and computing what part of that circle is closer to some point on that edge than to any other edge on the face.  For nonconvex polygons, this angle could be zero.  This probably already has a name.  It seems related to Voronoi.  Similarly, spherical angle of a face or vertex.  Maybe also angle of an edge visible from an infinite sphere.

Or, again consider the plane of a face.  Bisect the angles of the vertices adjacent to an edge of a face: give the angle between the two lines, negative if they intersect on the exterior of the polygon due to concavity.  Call this local convexity.

We could also concretely define a center of a face or polyhedron as the centroid and give angles, areas, volumes, distances.  These values might be negative for faces with holes, concave shapes.

Previously, on adding edge cards to a deck representing the vertices of the Hoffman-Singleton graph.

In 4D each face touches 2 cells.  Edges bound an arbitrary number of faces so we would no longer list all of them.  We probably need to consider 3-tuples instead of (in addition to?) 2.  Use ideas from abstract polytopes to organize things.

[rtprjaew] Could we blow up to earth?

If we took all the deuterium and lithium on the earth's surface and crust and did fusion with it, would the energy released sum to more than the gravitational binding energy of the earth?  If not, how thick of a shell could be lifted to infinity? What smaller astronomical bodies could we blow up entirely?  Or, if the energy is more than enough to blow up earth, what larger bodies could we blow up instead?  Blowing up a gas giant avoids the need to bore a hole to the center.

(Why blow up a gas giant?  Because it's there of course.  Though the astroengineers can probably think of a better reason.  Maybe to get a clear shot at a moon on the far side with a rebel base.)

What if we used all the lithium and deuterium on and in the planet, not just the crust?  Though the process of extracting it might leave the planet pretty destroyed.  Which element is the limiting reagent?  If it is deuterium, can we effectively make more deuterium by fusing a neutron to protium?  What other elements can be straightforwardly fused to release energy (i.e., not iron) in a multi-stage thermonuclear bomb?

The original thought was, there is no known upper limit on how large and powerful we can make a thermonuclear bomb, especially one utilizing 3 or more stages.  Making one large one instead of many small ones is more efficient because the former only requires one primary fission bomb.  Of course fission could supplement fusion, but I suspect the total energy available on earth from fission is much less than from fusion.

Depict in science fiction scientifically accurate very large thermonuclear bombs, perhaps planet busters.

[ewzsytrb] Artist caste

The people who make entertainment are often a very different group in society than those who consume entertainment, the latter usually more wealthy.  How do the creators know what to create, what will appeal to people whom they are very culturally different from?

Inspiration was African-Americans who performed jazz and blues, whose recordings were probably mostly purchased by whites.  Presumably the record producers bridged the gap, communicating to the composers and musicians what they believed would sell well.  Exactly how and what did they communicate?

[fbdvgmvu] More computer Jeopardy

There interestingly haven't been follow-ups to Watson playing Jeopardy: computers competing in knowledge competitions.  Lots of room to explore things like tricky questions that might give humans an edge, or different computers playing against each other.

[bpkyrail] Text with timestamped keystrokes

Create an editor which records a time and date for each character, when it was typed.

It could also record the times when characters were deleted, for saving undo state.  Deleted text might be visible grayed out or with strikethrough.

[ypndkvis] Not left-handed chess

When playing strictly by the rules, you are supposed to push your chess clock with the same hand that you move your pieces.

After initially using his or her left hand, a player dramatically declares, "I am not left-handed", and so on, mimicking The Princess Bride.

The duel references chess in naming attacks and defenses.

[irufelsj] Monospace text when mouse UI

Whenever the user might be using a mouse (or finger for touchscreen) to interact with text, e.g., selecting text or positioning a cursor for editing, the text should be in monospace font, because precisely positioning a mouse cursor among long thin characters like lowercase L in proportional font is difficult by Fitts Law.

Ironically, it is old-school terminal applications which use monospace, despite them mostly not using the mouse, perhaps running in environments (e.g. console) which don't take mouse input.  These would be fine in proportional font.

Saturday, February 17, 2018

[jxbgqbof] Boring football

Every possession begins on the 50.  Scoring is by total yardage.  A touchdown simply completes a 50-point score and ends possession.  Getting tackled behind the line of scrimmage loses points.

No field goals, no punts, no kickoffs: essentially we've just eliminated kicking, anything having to do with a foot contacting a ball in football.  On fourth down you always go for it.

Turnovers end possession, and then the opposing team begins on the 50.  If there was yardage loss on the turnover, then the loss is subtracted, similar to a play ending behind the line of scrimmage.  A safety is a turnover (which must have been preceded by a 50 yard loss that possession).  Turnovers can be costly: lose up to 50 points on your possession then immediately give your opponent the opportunity to gain 50 more.

Like in regular football, the following can all be easily adjusted: field length (currently 100 yards), number of downs (currently 4), first-down distance (currently 10 yards).

A 20-yard field might be interesting: all red-zone, all the time.  Every possession begins 1st and goal at the 10, and every possession lasts at most 4 downs.  One cannot earn additional 1st downs.  Even more extreme: 2-yard field.

[zpqnupzy] Slow feedback on durability

People create many things designed to last a long time.  Some actually do.  After the long time and some things have survived and some not, are there surviving records of how the things were made, recorded with enough precision to be able to determine what construction techniques caused which things to survive longer?

Inspired by very old mosaics as a possibility for long-term preservation of data.  How was the cement made?

[wjfejort] A decade of independence referenda

An independence referendum, voting for a portion of a country to secede, should be repeated.  Only after 10 years of consecutive yesses should it count: this is roughly the length of a business cycle of recession and boom, so thwarts a populist from taking advantage of a temporary change in the economy to induce a permanent change in a country border.

Should all decisions be made this way?

Inspired by Catalonia's independence referendum.

[qwpvxadu] PGP hanko

Create a stamp of the QR code of the fingerprint of your PGP public key for ease of communicating it to others in paper settings.  We need to specify a QR code format for key fingerprints.  Key fingerprints are normally expressed in hexadecimal, but hexadecimal is terrible for QR codes.  Decimal or raw binary is better.  Include the key identifier (e.g., email address in all caps) in the QR code.

Some experimentation yielded QR codes typically between 21x21 to 49x49 pixels depending on error correction level and what other information is included in the code.  What is the practical resolution of stamp?  This is probably going to be a fairly large square stamp.  Maybe better would a barcode that has a rectangular shape, which would work better in forms originally designed for text.

This is a good application for 3D printing (or milling) because everyone gets a uniquely different physical object; it cannot be mass produced.

Unlike Japanese hanko, this stamp isn't meant to be used as a signature (these would be very easy for someone else to copy by virtue of the error correcting code in QR codes).  They definitely do not cryptographically sign the document they are stamped on, despite cryptographic signatures being a popular use for public key cryptography.  That would require a different stamp for every document.

Alternatively, carry around a pad or roll of stickers each with your QR code on them.  This is a little bit weaker because a sticker could be removed and replaced with that of a man-in-the-middle.

[lfrgtxqf] Uniquely shaped maze rooms

Create a maze of rooms connected by passageways in which each room has a unique shape.  Useful for remembering whether you've been in a place, at least for people whose memory works that way.

VR or Minecraft.

[cxbuefac] Force Heat

Remake the diner scene between DeNiro and Pacino in Heat with the Emperor and Yoda. (Previously, on why they don't fight.)

[wihcptju] 2D manifold maze embedded in Euclidean 3D

The maze is 2D (every junction is straight, left, right, or backward) but the paths twist, curve, and fly around in 3D.  Assume the character is wearing magnetic boots.  Can the player keep track of where they are in 3D, forming a mental map in 3D?  Perhaps the task is to get to or near a point specified in 3D.  Easier might be if the path direction changes are also only orthogonal, walking up a wall or down a cliff.

Vaguely similar to Perplexus marble dexterity puzzle.

[uoujnmzg] Wanted masse

Adapt the movie Wanted with the characters curving billiard balls instead of bullets.

[omqzhxkn] Lagrange Four-Square Theorem examples

A listing of numbers and how to express them as a sum of 4 squares will probably provoke curiosity: There isn't an obvious pattern of how to express a given number as sum of 4 squares.  Can all natural numbers be expressed this way?  (Yes, by Lagrange.)  Which numbers can be expressed as the sum of just 3 squares (answer: Legendre Three-Square Theorem), or 2?  As numbers get larger, there seems to be a trend of more ways to express it as 4 or fewer squares, kind of reminiscent of Goldbach conjecture.  What is the rate of growth of the number of ways?  What about cubes and higher powers (Waring's problem)?  There's lots of deep mathematics lurking just beneath the surface.  It's just a short skip and a jump to Fermat's Last Theorem.

We generated 4-square decompositions up to 121=11^2 in order to include 112 = 7 * 4^2, the first instance where Legendre's 3-square theorem applies with an exponent (on 4) greater than 1.  The number which had the most number of ways to express it in the range was 90, with 9.

We also provide a more compact list which expresses each number in the fewest number of squares, but still listing all possibilities for that fewest number of squares.  The full version has 436 lines; the compact version has 188.  The compact version makes it more clear (perhaps inspiring more curiosity) which numbers require 4 squares and which ones can be done in less.

Similar lists could be made for Gauss's Eureka Theorem on sum of 3 triangular numbers and the Goldbach conjecture on the sum of 2 primes.

Haskell source code is here.  Here is a pedagogical excerpt of how to choose num decreasing numbers bounded by 0 and amax.  We use the list as a nondeterminism monad.

choose_n_of_max :: Integer -> Int -> [[Integer]];
choose_n_of_max amax num = case compare num 0 of {
LT -> error "negative choose_n_of_max";
EQ -> return [];
GT -> do {
  x <- [0..amax];
  y <- choose_n_of_max x (pred num);
  return (x:y);

Below is a machine-readable listing of the numbers through 121 and all the ways to express each number as the sum of 4 or fewer squares.

(0,[[0,0,0,0]]) (1,[[1,0,0,0]]) (2,[[1,1,0,0]]) (3,[[1,1,1,0]]) (4,[[1,1,1,1],[2,0,0,0]]) (5,[[2,1,0,0]]) (6,[[2,1,1,0]]) (7,[[2,1,1,1]]) (8,[[2,2,0,0]]) (9,[[2,2,1,0],[3,0,0,0]]) (10,[[2,2,1,1],[3,1,0,0]]) (11,[[3,1,1,0]]) (12,[[2,2,2,0],[3,1,1,1]]) (13,[[2,2,2,1],[3,2,0,0]]) (14,[[3,2,1,0]]) (15,[[3,2,1,1]]) (16,[[2,2,2,2],[4,0,0,0]]) (17,[[3,2,2,0],[4,1,0,0]]) (18,[[3,2,2,1],[3,3,0,0],[4,1,1,0]]) (19,[[3,3,1,0],[4,1,1,1]]) (20,[[3,3,1,1],[4,2,0,0]]) (21,[[3,2,2,2],[4,2,1,0]]) (22,[[3,3,2,0],[4,2,1,1]]) (23,[[3,3,2,1]]) (24,[[4,2,2,0]]) (25,[[4,2,2,1],[4,3,0,0],[5,0,0,0]]) (26,[[3,3,2,2],[4,3,1,0],[5,1,0,0]]) (27,[[3,3,3,0],[4,3,1,1],[5,1,1,0]]) (28,[[3,3,3,1],[4,2,2,2],[5,1,1,1]]) (29,[[4,3,2,0],[5,2,0,0]]) (30,[[4,3,2,1],[5,2,1,0]]) (31,[[3,3,3,2],[5,2,1,1]]) (32,[[4,4,0,0]]) (33,[[4,3,2,2],[4,4,1,0],[5,2,2,0]]) (34,[[4,3,3,0],[4,4,1,1],[5,2,2,1],[5,3,0,0]]) (35,[[4,3,3,1],[5,3,1,0]]) (36,[[3,3,3,3],[4,4,2,0],[5,3,1,1],[6,0,0,0]]) (37,[[4,4,2,1],[5,2,2,2],[6,1,0,0]]) (38,[[4,3,3,2],[5,3,2,0],[6,1,1,0]]) (39,[[5,3,2,1],[6,1,1,1]]) (40,[[4,4,2,2],[6,2,0,0]]) (41,[[4,4,3,0],[5,4,0,0],[6,2,1,0]]) (42,[[4,4,3,1],[5,3,2,2],[5,4,1,0],[6,2,1,1]]) (43,[[4,3,3,3],[5,3,3,0],[5,4,1,1]]) (44,[[5,3,3,1],[6,2,2,0]]) (45,[[4,4,3,2],[5,4,2,0],[6,2,2,1],[6,3,0,0]]) (46,[[5,4,2,1],[6,3,1,0]]) (47,[[5,3,3,2],[6,3,1,1]]) (48,[[4,4,4,0],[6,2,2,2]]) (49,[[4,4,4,1],[5,4,2,2],[6,3,2,0],[7,0,0,0]]) (50,[[4,4,3,3],[5,4,3,0],[5,5,0,0],[6,3,2,1],[7,1,0,0]]) (51,[[5,4,3,1],[5,5,1,0],[7,1,1,0]]) (52,[[4,4,4,2],[5,3,3,3],[5,5,1,1],[6,4,0,0],[7,1,1,1]]) (53,[[6,3,2,2],[6,4,1,0],[7,2,0,0]]) (54,[[5,4,3,2],[5,5,2,0],[6,3,3,0],[6,4,1,1],[7,2,1,0]]) (55,[[5,5,2,1],[6,3,3,1],[7,2,1,1]]) (56,[[6,4,2,0]]) (57,[[4,4,4,3],[5,4,4,0],[6,4,2,1],[7,2,2,0]]) (58,[[5,4,4,1],[5,5,2,2],[6,3,3,2],[7,2,2,1],[7,3,0,0]]) (59,[[5,4,3,3],[5,5,3,0],[7,3,1,0]]) (60,[[5,5,3,1],[6,4,2,2],[7,3,1,1]]) (61,[[5,4,4,2],[6,4,3,0],[6,5,0,0],[7,2,2,2]]) (62,[[6,4,3,1],[6,5,1,0],[7,3,2,0]]) (63,[[5,5,3,2],[6,3,3,3],[6,5,1,1],[7,3,2,1]]) (64,[[4,4,4,4],[8,0,0,0]]) (65,[[6,4,3,2],[6,5,2,0],[7,4,0,0],[8,1,0,0]]) (66,[[5,4,4,3],[5,5,4,0],[6,5,2,1],[7,3,2,2],[7,4,1,0],[8,1,1,0]]) (67,[[5,5,4,1],[7,3,3,0],[7,4,1,1],[8,1,1,1]]) (68,[[5,5,3,3],[6,4,4,0],[7,3,3,1],[8,2,0,0]]) (69,[[6,4,4,1],[6,5,2,2],[7,4,2,0],[8,2,1,0]]) (70,[[5,5,4,2],[6,4,3,3],[6,5,3,0],[7,4,2,1],[8,2,1,1]]) (71,[[6,5,3,1],[7,3,3,2]]) (72,[[6,4,4,2],[6,6,0,0],[8,2,2,0]]) (73,[[5,4,4,4],[6,6,1,0],[7,4,2,2],[8,2,2,1],[8,3,0,0]]) (74,[[6,5,3,2],[6,6,1,1],[7,4,3,0],[7,5,0,0],[8,3,1,0]]) (75,[[5,5,4,3],[5,5,5,0],[7,4,3,1],[7,5,1,0],[8,3,1,1]]) (76,[[5,5,5,1],[6,6,2,0],[7,3,3,3],[7,5,1,1],[8,2,2,2]]) (77,[[6,4,4,3],[6,5,4,0],[6,6,2,1],[8,3,2,0]]) (78,[[6,5,4,1],[7,4,3,2],[7,5,2,0],[8,3,2,1]]) (79,[[5,5,5,2],[6,5,3,3],[7,5,2,1]]) (80,[[6,6,2,2],[8,4,0,0]]) (81,[[6,5,4,2],[6,6,3,0],[7,4,4,0],[8,3,2,2],[8,4,1,0],[9,0,0,0]]) (82,[[5,5,4,4],[6,6,3,1],[7,4,4,1],[7,5,2,2],[8,3,3,0],[8,4,1,1],[9,1,0,0]]) (83,[[7,4,3,3],[7,5,3,0],[8,3,3,1],[9,1,1,0]]) (84,[[5,5,5,3],[6,4,4,4],[7,5,3,1],[8,4,2,0],[9,1,1,1]]) (85,[[6,6,3,2],[7,4,4,2],[7,6,0,0],[8,4,2,1],[9,2,0,0]]) (86,[[6,5,4,3],[6,5,5,0],[7,6,1,0],[8,3,3,2],[9,2,1,0]]) (87,[[6,5,5,1],[7,5,3,2],[7,6,1,1],[9,2,1,1]]) (88,[[6,6,4,0],[8,4,2,2]]) (89,[[6,6,4,1],[7,6,2,0],[8,4,3,0],[8,5,0,0],[9,2,2,0]]) (90,[[6,5,5,2],[6,6,3,3],[7,4,4,3],[7,5,4,0],[7,6,2,1],[8,4,3,1],[8,5,1,0],[9,2,2,1],[9,3,0,0]]) (91,[[5,5,5,4],[7,5,4,1],[8,3,3,3],[8,5,1,1],[9,3,1,0]]) (92,[[6,6,4,2],[7,5,3,3],[9,3,1,1]]) (93,[[6,5,4,4],[7,6,2,2],[8,4,3,2],[8,5,2,0],[9,2,2,2]]) (94,[[7,5,4,2],[7,6,3,0],[8,5,2,1],[9,3,2,0]]) (95,[[6,5,5,3],[7,6,3,1],[9,3,2,1]]) (96,[[8,4,4,0]]) (97,[[6,6,4,3],[6,6,5,0],[7,4,4,4],[8,4,4,1],[8,5,2,2],[9,4,0,0]]) (98,[[6,6,5,1],[7,6,3,2],[7,7,0,0],[8,4,3,3],[8,5,3,0],[9,3,2,2],[9,4,1,0]]) (99,[[7,5,4,3],[7,5,5,0],[7,7,1,0],[8,5,3,1],[9,3,3,0],[9,4,1,1]]) (100,[[5,5,5,5],[7,5,5,1],[7,7,1,1],[8,4,4,2],[8,6,0,0],[9,3,3,1],[10,0,0,0]]) (101,[[6,6,5,2],[7,6,4,0],[8,6,1,0],[9,4,2,0],[10,1,0,0]]) (102,[[6,5,5,4],[7,6,4,1],[7,7,2,0],[8,5,3,2],[8,6,1,1],[9,4,2,1],[10,1,1,0]]) (103,[[7,5,5,2],[7,6,3,3],[7,7,2,1],[9,3,3,2],[10,1,1,1]]) (104,[[6,6,4,4],[8,6,2,0],[10,2,0,0]]) (105,[[7,6,4,2],[8,4,4,3],[8,5,4,0],[8,6,2,1],[9,4,2,2],[10,2,1,0]]) (106,[[6,6,5,3],[7,5,4,4],[7,7,2,2],[8,5,4,1],[9,4,3,0],[9,5,0,0],[10,2,1,1]]) (107,[[7,7,3,0],[8,5,3,3],[9,4,3,1],[9,5,1,0]]) (108,[[6,6,6,0],[7,5,5,3],[7,7,3,1],[8,6,2,2],[9,3,3,3],[9,5,1,1],[10,2,2,0]]) (109,[[6,6,6,1],[8,5,4,2],[8,6,3,0],[10,2,2,1],[10,3,0,0]]) (110,[[7,6,4,3],[7,6,5,0],[8,6,3,1],[9,4,3,2],[9,5,2,0],[10,3,1,0]]) (111,[[6,5,5,5],[7,6,5,1],[7,7,3,2],[9,5,2,1],[10,3,1,1]]) (112,[[6,6,6,2],[8,4,4,4],[10,2,2,2]]) (113,[[6,6,5,4],[8,6,3,2],[8,7,0,0],[9,4,4,0],[10,3,2,0]]) (114,[[7,6,5,2],[7,7,4,0],[8,5,4,3],[8,5,5,0],[8,7,1,0],[9,4,4,1],[9,5,2,2],[10,3,2,1]]) (115,[[7,5,5,4],[7,7,4,1],[8,5,5,1],[8,7,1,1],[9,4,3,3],[9,5,3,0]]) (116,[[7,7,3,3],[8,6,4,0],[9,5,3,1],[10,4,0,0]]) (117,[[6,6,6,3],[7,6,4,4],[8,6,4,1],[8,7,2,0],[9,4,4,2],[9,6,0,0],[10,3,2,2],[10,4,1,0]]) (118,[[7,7,4,2],[8,5,5,2],[8,6,3,3],[8,7,2,1],[9,6,1,0],[10,3,3,0],[10,4,1,1]]) (119,[[7,6,5,3],[9,5,3,2],[9,6,1,1],[10,3,3,1]]) (120,[[8,6,4,2],[10,4,2,0]]) (121,[[7,6,6,0],[8,5,4,4],[8,7,2,2],[9,6,2,0],[10,4,2,1],[11,0,0,0]])

Thursday, February 15, 2018

[hjyeziee] Energy cost effectiveness of thermonuclear bombs

Suppose we wish to extract useful energy, probably generate electricity, from thermonuclear explosions by blowing up H-bombs.

The motivation is, both magnetic and inertial confinement fusion might be too difficult to ever be commercially successful.  However, if we want fusion, we do have a proven way of doing it now.

How cost efficient is it, counting only the cost of the consumables?  Unfortunately the things that go into an H-bomb, and their costs, are closely guarded military secrets.  Weapons-grade uranium or plutonium for the primary stage.

Bigger bombs are probably more efficient: the fuel of the secondary stage (and later fusion stages) are likely much cheaper than the primary.  Tsar Bomba proved large bombs do work, though we might want to go even larger for cost efficiency.  How large of a nuclear bomb can be built before hitting difficult engineering or science problems?

Of course, harnessing the huge amount of energy released by the bomb in the very short amount of time is a mechanical engineering challenge.  But internal combustion engines harness explosions all the time.  Bullets and Project Orion are other examples of the energy of explosions harnessed to do useful work.  We imagine an extremely large blast chamber, large enough so that the explosion doesn't destroy it, then heat is collected on the outer surface to generate electricity.  How large does the blast chamber need to be?  Because of the inverse-square rule, there's definitely a size that's large enough. I'm guessing it might be comparable in size to the planet.  What material should the blast chamber be filled with?

If the nuclear explosion could be made anisotropic, a shaped charge, then this could make the blast chamber easier to build, for example, building a hemisphere instead of a giant sphere.

Is the largest hurdle to doing this the mechanical engineering difficulty of containing the blast and extracting energy, or the political / national security traditions of keeping nuclear weapons and information about them off limits to everyone?  What's stopping us from having unlimited energy?

Tuesday, February 13, 2018

[cjauuaxv] Big-game pumpkin hunting

Create a business which offers clients the opportunity to shoot a pumpkin, which gives a satisfying explosion when hit.  Wealthy clients are given the opportunity to shoot very large pumpkins which are rare and difficult to grow, with very powerful guns.  They give a very large and very satisfying explosions.

Of course, this is modeled on trophy hunting of big animals, including how the hunting outfit lures the animal close enough so the wealthy client has an easy shot.  A very large pumpkin could be just as rare as big game -- you might have to wait years for the opportunity to shoot one.  Shooting a stationary pumpkin is approximately a similar amount of challenge as shooting an animal lured in front of you, perhaps more exciting because the pumpkin gun might need to be larger.  Finally, its dramatic explosion makes the pumpkin much more satisfying as a kill.

Inspired by https://www.reddit.com/r/Unexpected/comments/76428m/going_hunting/.

[rkgjmqgg] Partial peer review

A peer reviewer of a scientific paper might have replicated the experiments and analysis and got the same results.  Or, looked over the Methods and deemed them sufficiently clear that the experiment could be replicated, and checked the analysis.  Or something else, perhaps just endorsed that the author is a trustworthy and diligent person.

Accompanying a publication, it would be nice if it were declared how far the peer reviewers went to, well, review.  This would help readers decide how much to trust the paper.

Monday, February 12, 2018

[wyhqwyhd] Spherical pool

Consider playing pool on the surface of a sphere.  Balls travel along great circles, geodesics.

Place some barriers on the sphere for the balls to bounce off of, and some pockets in which to sink.

Ambitiously, build it for real: only one ball is possible, which balances exactly on top of the spherical "table".  When the ball rolls, the table rolls the opposite direction underneath keeping the ball balanced precisely on top.  This continues until friction brings the ball to a stop.  There needs to be some precise tracking.  We need some way of imparting initial rotation to the billiard ball: I think hitting it with a traditional cue will simply knock the ball off.

[vxwwbbud] Learning foreign language songs

Learn -- memorize -- how to sing a large number of songs in one foreign language.  Is this an effective way to learn a foreign language?  The brain will organize the songs into patterns for easier memorization, especially common patterns of form words, idioms, and grammatical constructs, and store them in a way suitable for quick retrieval.  This is exactly language acquisition.

It could be a fun way to learn a foreign language, if you like to sing, if the songs are good.  You'll probably be inspired to learn the meanings.

What songs are good, covering the useful parts of a language?

[rkwktjlk] Time advantage for black

In chess, white seems to have a slight advantage due to first move.  Try to balance it out with a time advantage given to black.  What are the time advantages that are good at various time controls?  Fixed multiplier or something higher order?

Sunday, February 11, 2018

[tnnhqckp] Best poker deck

Poker can easily be modified to decks with a different number of cards per suit and a different number of suits.  Probably want to recalculate probabilities and reorder hand types by probability, including 5-of-kind or greater.  Which deck produces the best game?  How do you define "best"?  Perhaps the ability to segregate humans to many levels of play.

Decks can have more interesting structure than a two-digit number is some base.  The Hoffman-Singleton graph has many structures around the number 5, which happens to be the number of cards in a poker hand.  Previously.

[ievqdaab] Planet-sized Rube Goldberg

Actions in one place emit signals which are received elsewhere, setting off further actions that release signals.  Ambitiously, the sequence circles the earth and repeats.  What kind of cycle time can you achieve?

Internet is of course the obvious global communication network, though others exist: bouncing radio signals off the moon.

[hbrtsvpe] The turn of the wheel

Fairly straightforward framework for a story: People are drinking.  Hookups happen.  Some of those hookups turn into relationships.  Some of those relationships break up.  They take solace in drinking, and then the whole cycle repeats.

Idea from elsewhere.

[uibxcdhp] Speed does not matter in congested traffic

Assuming people are obeying guidelines for safe following distance (a false assumption in reality), then the speed cars are traveling makes no difference in the maximum flux of the highway: a car passes a given point every 4 seconds.

[dahvviwo] Recruiting PreCheck

TSA PreCheck seems like a bad idea because terrorists get to move second.  A person initially completely unaffiliated with terrorism gets approved for PreCheck because they are completely unaffiliated with terrorism.  Terrorists can then target their recruiting to already PreCheck-approved people to get a device through the more lax security measures of the PreCheck lanes, perhaps another shoe bomb because PreCheck does not require X-raying shoes.

Is it even good security theater?  Does the sight of certain people going through more lax security make people feel safer?

[uxttlofp] Plentiful day care and reeducation camps

What would happen if society provided child care, or more broadly child raising support for free as much as the parents wanted until the child reaches adulthood?  Parents can take as little or as much involvement in "parenting" as they wish; government picks up any and all slack.

Perhaps many parents would take very little involvement in their children, essentially putting their kids up for adoption.  Then, the state, given nearly full control over (some) children's lives and development, might deploy procedures that homogenize the next generation of the population, for better or for worse.

What could possibly go wrong?

[emihqled] Acronyms in ideographic languages

Acronyms in languages like Japanese and Chinese can be far richer than those with small alphabets.  Inspired by 全 日本 食品 株式会社 (All Japan Food Corporation), which can be abbreviated 全日食 which could be interpreted to mean "total solar eclipse".  This is similar to an acronym spelling out a real word in English, but the space of real words possible in a small number of characters is much larger with kanji.

[nuyxqahp] Sofa maze

Depict a solution to Moser's Moving Sofa Problem, e.g., the Gerver Sofa, moving around a No Left Turn maze.

Subtleties: is U-turn permitted?  If so, the sofa changes parity in what type of turn it can make.  If the maze has infinitely thin walls, then I think the Gerver Sofa cannot navigate hairpins, two right turns immediately in a row.  This suggests a new problem, the largest sofa which can make that turn.

Romik's ambidextrous sofa can travel through an ordinary maze with no turn restrictions, though it may still have problems with hairpins.

Moser's Moving Sofa Problem can easily be generalized to other angles (e.g., a maze using an underlying equilateral triangular lattice), and probably more dimensions.

[zdcnrpzx] Maze of twisty little passages

The simplest maze-generating algorithms generate mazes with straight passages and only 90-degree turns.  Create an algorithm which permits many more angle possibilities and curved passages (of many and varying curvatures).  There will likely be wasted space because the passages no longer fit nicely next to each other.


[bnrtnzfv] 3D maze with ramps

Consider constructing a maze based on a grid of square rooms with doors between them.  Adjacent connected rooms can differ in height be a small amount, perhaps an amount small enough to have a ramp that is easy to go up or down, or a short flight of stairs.  It is then possible to have several rooms stacked on top of each other, making it a 3D maze.  Go to the room directly above by traveling though a series of rooms whose small level changes sum to the height of a room.  This is in contrast to a typical 3D maze which requires traveling vertically straight up or down.

Lots of hints possible: 3D coordinates of where you are, windows in which you can see into but not travel to adjacent not-connected rooms.

Minecraft or VR.

Other tessellations possible.  It doesn't even have to have an underlying tessellation.

[ainsclnz] Two types of satire

There are two distinctly different kinds of satire, one which makes the audience feel good about themselves and the other which makes the audience feel uncomfortable about themselves.

Some publications / compilations do a mix of both.

Probably only the former can be commercially successful.

[xzwxflda] Spaces matter in Markdown

Enumerate the situations in Markdown in which whitespace matters.  Inspired by this gotcha with unordered lists.

* one
* two
* three
* four



The latter gets rendered as a paragraph of alternating italicized and non-italicized text: one two three four.

Previously, on other special characters which may trip you up in Markdown.

[xvdfqlev] Dialects with armies

A language is a dialect with an army.  Among countries whose language is named after a different country, list them by size of their army.

  1. American
  2. Brazilian
  3. Mexican
  4. ...
  5. Moldovan
  6. ...

It's not that bad an idea to define a language in terms of an army: it means there's enough mutual intelligibility including shared culture that one can practically organize an army with it.  Curiously, the word Urdu means "army".  Urdu is Hindi with its own nuclear arsenal so is of course a separate language.

Go further and define the normal or standard dialect as the one belonging to the country with the largest army.  Hugh Laurie speaks American with an Englandish accent, but can lose the accent and speak normally when playing an American character.

[bducdsxa] Gravity on non-spherical planets

Given a hypothetical non-spherical planet, especially one wildly different from a sphere, compute its gravity at its surface.  One way to depict it is drawing arrows on the surface saying which way and how fast a drop of water would flow.  Compute basins and watershed boundaries.  It is also possible that gravity is such that water might be pulled off the surface in certain locations.

[yczsdnxs] Neural net backdoors

A vendor provides you with a neural network system that identifies bad entities, for some definition of "bad".  Does it contain a backdoor?  It is currently very difficult to look at a neural network and determine what is does.  How would one design a difficult-to-detect backdoor into a deep neural net system?  How would one prove a system doesn't have a backdoor?

Of course, the ultimate example of such a "system" is a double-agent human whose brain is the neural network.

Saturday, February 10, 2018

[wwhkkicd] Emoji as heraldry

A cumbersome but arbitrarily easily extensible framework for encoding emoji is to index them (at least, new ones) by arbitrary text strings instead of numeric code points.  The font rendering agent has access to the text string and can render it appropriately, perhaps using NLP AI to generate an emoji image for text it has never seen before.  Such emoji (probably) cannot have interesting properties like specifying alphabetization, but usually that's not needed for emoji.  It is a little strange that a large number of characters as data go into producing a single displayed character, but this is similar to characters composed of multiple combining characters or joined by zero-width joiners.

This is similar to heraldry, in which the text describing an image is canonical; different artists may render the text in different ways.

The Unicode consortium can establish standard characters for the beginning and end markers of the descriptive text strings and standards for what goes in them (what language?  What encoding?  All caps?  Are emoji recursively permitted within the descriptive strings?).  Then, a decentralized process happens with people inventing text strings describing emoji and font designers inventing how to render them.  Standardization can then do things like the following: Identify popular emoji supported by many fonts and used commonly.  Popular emoji can be assigned code points to conserve data usage.  Multiple different text strings describing the same thing could be combined into one code point.  Identical text strings describing different things (homonyms?) could be separated out to different code points.

[fcgqncyr] Typing Latin

What portion of the world (among the subset that uses computers) use computers with keyboards with which it is difficult to type the Latin letters A-Z?  I suspect very few: a keyboard with local orthography will also have additionally marked the Latin alphabet for ease of typing web and email addresses.

What portion of the computer-literate world does not know the Latin alphabet?  By "know", probably something like: given a web or email address in print, they can type it on their computers.  How much of a barrier to access to computing is learning the Latin alphabet?

If the barrier is low, then maybe we don't have to push so hard to do internationalization, at least in some areas.  Inspired by IDN, Punycode, and attacks against it, though domain names are not necessarily a domain we should decrease efforts at internationalization.  If a user remembers only how a website is spelled in the local orthography, he or she will need a search engine to find the ASCII address.  This puts search engines in the position to be gatekeepers.  In contrast, if the user can directly type the address in the easier-to-remember local orthography, DNS is a decentralized system for which it is far more difficult to be a gatekeeper.