cdo256's comments

cdo256 | 6 years ago | on: Autocomplete as an Interface (2015)

If you're referring to formal verification tools (which help programmers mathematically prove that their program has certain properties). Then it doesn't need to extend into all the edge cases. Usually if the machine tells you it can't create a proof you add more checks to your code or pick the properties so that they're easy to prove. There's no need for completeness.

If you're referring to anything your parent mentioned, those tools already exist.

cdo256 | 6 years ago | on: Autocomplete as an Interface (2015)

I tried this once. I can do it easily with natural language but it's much harder to do with code (even code you're familiar with). I think this is because so much of writing new code is back-and-forth:

start writing loop, realize I need another variable, go back and initialize the variable, back to where I was, oh this should be brought out into a function, ah this function should is now getting quite large I need to split it, back to where I was, oh that should be an array not a map etc.

I like Visual Studio's 'jump back to where I was' (Ctrl+-) feature because it leaves a trail of bread crumbs across the many files I'm working in of what I've been doing and what's left to be done to implement feature x.

cdo256 | 6 years ago | on: Autocomplete as an Interface (2015)

I could imagine two tools: 1. A tool that parses the text and draws red underlines on all the errors, this exists but (at least for C++ in VS 2017) it is quite slow. 2. A tool that automatically populates and updates types of variables and functions.

Both of these could be achieved by somehow decoupling the front-end (as in before semantic analysis) of compilers and making them output the AST in some standardized tree-structured format like XML.

cdo256 | 6 years ago | on: Autocomplete as an Interface (2015)

I don't think the main problem is that they're distracting, in the drawing attention away from what you're writing sense. I think the main problem is that, for an unfamiliar editor, the autocomplete takes an unknown subset of keystrokes, meaning that common things like inserting a newline or navigating vertically can interrupt your train of thought.

Once you get familiar with a particular editor then these problems become less acute. What remains is the obscuring of other lines of code which can be fixed by making the autocomplete box only appear when you press tab.

cdo256 | 6 years ago | on: An ant colony has memories its individual members don’t have (2019)

Children of Time by Adrian Tchaikovsky [1] explores this exact question. In the story, a human consciousness is uploaded to a computer orbiting a planet. Meanwhile spiders on the planet go though an industrial revolution and start using ant colonies as computers, using pheromones to control the behavior of the ants. Over thousands of years the computer housing the orbital consciousness begins to fail and transmits her consciousness to an ant colony on the surface.

In the second book, her brain is then duplicated across multiple colonies. Because the ant computer isn't as powerful as silicon based computers, one of her instances later realizes that she is a significantly compressed version of herself and that she doesn't have most of the old memories, capabilities or capacity for emotions that her human self had, presumably in large part also due to being transferred between three different substrates (flesh, silicon, ants).

[1] https://www.goodreads.com/book/show/25499718-children-of-tim...

page 1