Sitting in 2020 the technology is near trivial. The problem is that some knucklehead would point a bunch of them at the same window and set curtains and pigeons on fire. (You’d do this because you had a large room with few windows, so dispersed mirrors would give you multiple dispersed lighting spots in the room… and incinerated pigeons.)
I was unable to make the leap to what happens if you are a deliberate and well reasoned knucklehead! In a controlled situation a megawatt of light might be just the thing.
Addendum: The mass field of mirrors introduces a lot more work. Some of the immediately interesting problems:
• you need a “everyone stop shining at the target” mode for emergency stop, but the mirrors need to move away from the target in such a way that they don’t create convergences elsewhere. Obviously sweeping your portal to hell down the tower would be a bad idea. So you have a collection of autonomous, free thinking mirrors, but when commanded to stop hitting the target they need to not make the same decisions.
• your camera probably needs to be able to stare into the heart of a thousand suns (literally). But it also needs to see in ordinary daylight. Maybe a pinhole filter that moves over the lens would be appropriate.
• with 999 mirrors shining on the target, you will not be able to see your own contribution to aim. There probably needs to be a “hey! Everyone else look away for a second” command for unit to aim and calibrate itself. See complexities from the first bullet and not incinerating things you like.
So yeah, they could have started with my garden heliostats, but then it would be a crack the knuckles, bring in the eggheads, and get to work operation to solve all the hard problems.
I thought about using something like a prototype called Hydra (1) as a sort of runtime for evaluating graphs. Anyway, I really want to get back to it at some point but other cool things that are slightly more low hanging tends to get in the way. :)
Another nice inspiration for these things is Ecolanguage (2), not really programming related but a diagram language for visualizing economic transactions.
(1) - https://github.com/giorgidze/Hydra (2) - https://www.youtube.com/watch?v=-QI1iuAvTKE
[0]: http://blog.chewxy.com/2016/12/06/a-direct-way-of-understand...
GraphViz's "dot" algorithm (i.e., Sugiyama-style graph drawing algorithm) [2] should give a fairly compact representation that is organized into layers, and avoids crossing edges in at least simple cases, but rotating the nodes would again "spread out" the layout by forcing increasing height of each layer.
Under "Possible solutions" you mention "create a better graph layout algorithm" - that sounds quite ambitious, wouldn't this be a PhD-thesis-level research task in itself?
The only graph drawing library I'm aware of that might be competitive with GraphViz's algorithms is MSAGL [3] but that's a .NET library.
[1] https://github.com/rgleichman/glance/issues/1
[2] https://en.wikipedia.org/wiki/Layered_graph_drawing
[3] https://www.microsoft.com/en-us/research/project/microsoft-a...
However, it does seem that vertical and angled text is harder to read than horizontal text, so there is room to improve here.
[0] https://gist.github.com/rgleichman/f812150151b549ca9f634832c...
The next step for the project is to improve graph layout (see Glance issue here [1]), which likely means moving away from Graphviz.
What tools to use for interactivity or an editor is still up in the air.
Most of the time I use an external keyboard. If you only cared about the keyboard I would definitely recommend getting the X1 Carbon over the XPS 13.
Not stadiums or sports arenas that host Top 40s mega-acts like Britney Spears and Lady Gaga, but also not the local coffee shop that has a guy play some guitar covers on Friday nights.