good point - but if you actually search for "rabbit chasing dog", you do get a rabbit chasing a dog video - https://www.youtube.com/watch?v=GBYdaPacHJg, as well as some for the other way around
In this case, could you even know which one was actually meant?
Technically, I'd think that the ambiguity is removed when you use "rabbit-chasing dog", but that is assuming the text available is sufficiently precise.
As far as using other abstractions, you're at the mercy of the developer(s) who made the abstraction, and I've found having to do lots of extra work to figure out how to inject desired customization that makes it generally worth it to just use d3 in the first place
I've been seeing folks get excited about this, and haven't yet been able to see why it is so interesting. However, the people behind it (Bret Victor et al) and who I've seen playing with it are too interesting for me to ignore this...
Seeing the Dynamicland tweets made me rethink all of Bret Victor's previous work, and I wrote up why it's interesting from a design perspective here: http://vitor.io/on-dynamicland
I do very little of my coding on a computer. Instead, I build up all the discrete parts of my code using sticky notes, that kind of get constantly re-organised while I'm writing.
So my desk ends up as a mess of sticky notes that get pushed and pulled around, which seems a lot like what you can do with this - except you can also run each part of this code, instead of relying solely on your memory.
It's a very different kind of interaction than with code on the screen, and fits the way one thinks in a much more concrete way. It's like an embodied metaphor, one that people are intimately familiar with, and the immediacy of it allows you to iterate quickly as you have direct feedback, and the whole structure is made visible for everyone to see, enabling a kind of collaboration unusual for computer programming (image the dynamic of a group of people trying to build a tent together compared to a group of people all staring at a static view of an IDE).
Of course, it's nothing groundbreaking just yet, but I can't help but get excited at the possibilities of this sort of medium.
I still don't see how this is true, either in this case or in Dynamicland - neither of those seem to OCR programs from the piece of paper. So you still do classical programming alone, and only get to play with the results. A piece of paper may contain the actual program behind system's reaction to it, or it may contain a picture of a cat - the contents are irrelevant; it's the dots that matter.
If you write small programs that interact with other programs, then rearranging them on the floor/table becomes a form of programming (similar to how combining UNIX-style programs in shell scripts is a high-level form of programming).
So even when playing just with the papers, you can be programming.
There's also the interplay of arranging papers, and live-editing the code in a particular piece of paper. In Dynamicland, the projector highlights printed code in green/red to visualize diffs.
You can sketch a UI element on the paper (eg a rectangle and token for a numerical slider), then go back to code the interactivity. Units in the code are inches on the table. Subtle things like that break you free from the laptop.
When you want to "commit" your code changes, you print a new version.
One of the more interesting things that I've seen in Dynamicland is that it allows you to create programs that modify other programs - basically the beginnings of a physical IDE. You can use a scrubber or dial to modify a constant, as a very basic first step.
IMHO, the ability to create new physical interfaces to editing code might allow for new programming paradigms to pop up, or better interfaces for people to develop logic in their own domain. Someone could combine a calculator interface and a context-sensitive variable selection interface to write arithmetic logic using an interface/"syntax" that they already understand, and debug all the way through that with a testbed program that allows the programmer to set variables to specific values and work through how the math works. You can have yet another program which describes a program as a flowchart and allows people to edit it that way.
The thing is, as you make the IDE physical, you get to invite people to interact with it more - rather than staring at a screen, suddenly you're livecoding, you can have multiple people working on it at once. "Ah, but doesn't that fail if you do this? Sets some variables on the testbed", or "I can fix the UI while you update that calculation".
And then, when your accountant has something on a piece of paper that works, they could point a "make this an app on my computer" program at it and bring it out of Dynamicland, into their workplace.
I wouldn't be surprised if tangible coding could be a lot better of an environment for debugging. Something with real physical space makes it much easier for me to follow the flow of things than scrolling things on a screen.
What about that ambient/"cognitive/aural beats" stuff on youtube? I've been trying that lately and it seems nice. No data to see if better or not, but definitely more relaxing.
I've also started just using earplugs which can also seem to be (subjectively) effective.
basically, I search for "cognitive enhancement music"- sometimes the "meditation" ones seem nice, too. I have an immediate relaxation response to this stuff, and it's pleasant.
Sorry, for me this just comes off as a hamfisted cliche of "calm". I'm distracted by the constant modulations. Just not my thing, but it probably works great as a constant drone against unwanted noise.
I have begun a small project whereby I am looking to (subjectively) quantify on a scale of 0 to 10 different properties of images/situations that may be considered "ironic" by some. The current properties include things like "twinge of irony", incongruity, unexpectedness, etc. My longer-term goal is to play with some data visualizations based on the data.
You can submit your own example(s) with your own values for the different properties (you don't have to give values for all of them). The example can be an image or the description of a situation. If you want, you can submit your contact info with your example, or just do it anonymously (for now, these values are being posted into a google docs spreadsheet that will be imported later to the list for the site and used as a basis for future data visualizations).
Also - if there are other properties that you think should be included, please let me know.