592 karma · joined June 17, 2010
https://groverlab.org
http://media.fishreports.com/reports/img-20170303-78a7bb40.j...
Hard to comprehend how massive those blocks are...
https://gist.github.com/1wErt3r/4048722#file-smbdis-asm-L160...
I'd love to see the process of extracting actual audio from that.
- LabVIEW creates loops by enclosing the repeated code in a graphical frame of sorts. That ends up being an elegant way to deal with iteration: An array that flows into a loop turns into individual elements inside the loop (one loop iteration per element) and elements that flow out of a loop stack up into an array. I wonder if something similar might work well in AsciiDots? Or more generally, a way to deal with multi-dimensional data by having dots pile up into an array?
- The way AsciiDots deals with libraries (defining inputs and outputs spatially, i.e. top/right/bottom/left) is very similar to how sub-VIs are created in LabVIEW. The way your operations like addition, subtraction, multiplication, and division take two inputs and wait until both inputs arrive to release the result is reminiscent of LabVIEW, but they way you use horizontal and vertical to mean different things is different and very interesting. Direction is mostly meaningless in LabVIEW, so I love the way that AsciiDots ascribes a meaning to horizontal vs. vertical. Can that idea go even deeper?
- Having the "dot" carry information and have a value (not just be the point of execution) is very consistent with LabVIEW and a difference from some other text-based visual languages.
- LabVIEW "wires" (the connections between things) have different thicknesses and colors to tell the user what datatype they carry. It sounds clunky but ends up giving a lot of readability to LabVIEW programs. Not sure if a similar idea could help make AsciiDots programs more readable...?
- LabVIEW has a "highlight execution" mode that slows the program down and highlights the flow of data; very reminiscent of your animated GIF. More than just a pretty gimmick, it helps debug LabVIEW programs and it'd be a great addition to your "try it online" Heroku app.
- For when arithmetic becomes a spaghetti of symbols, LabVIEW has a "formula node" that lets you type in traditional code in C++, thereby mixing graphical and traditional languages. Maybe an interesting paradigm for AsciiDots?
All in all, AsciiDots seems to have a much lower entry barrier than other text-based graphical languages like befunge. It could even be practical for some things, the same way LabVIEW has an interesting niche in the data acquisition and instrument control world. Maybe it could be used for data analysis, where arrays flow from "open file" to "manipulate data" and "plot results"? Or a very interesting way for children to learn some programming concepts, combining the visual-ness of things like Scratch and Lightbot while still having the kids use a text editor?!
I'll shut up now. Fantastic work! Thank you for sharing it!
for line in file: for line in file:
print line print line
print "all done!" print "all done!"You could at least estimate the length in characters of the blacked-out text. For a monospaced font this character count is trivial; for a proportionately-spaced font it'd be a little harder but you have lots of other non-censored characters to learn from.
http://www.oldsf.org/#ll:37.780073|-122.513765&m:37.7772...
and building the Palace of Fine Arts:
Your "rabbit hole" analogy is spot-on and I'm not sure how NI can address some of those problems. Some things like Ctags that are so valuable in text-based languages just seem to have no obvious analogy in a graphical programming language... it's fun to imagine though.
(Caveat, chemist talking about programming)
I guess this is analogous to algorithmically reformatting code in a normal text-based programming language...
http://www.ee.buffalo.edu/faculty/paololiu/edtech/roaldi/tut...
"Wires" that carry values are color-coded according to their contents (integers are blue, floating point values are orange, booleans are green, etc.). Loops like FOR and WHILE are actual "loops" that encircle the repeated code. The flow of information along the wires determines the order of execution for the code, and you can debug your code by turning on a special mode that actually shows the information moving down the wires.
I don't know MATLAB, R, etc. well enough to say whether they can use the cloud as easily as Python, but it sure was easy with Python.
I disagree that the bill is merely a "mild bit of meddling," but I'll remember your admonition about civil debate when writing missives in the future.
Opponents of the bill claim that it's written the way it is (emphasizing critical thinking) to differentiate the bill from various earlier pro-creationism legislation that got overturned by the courts; details [1] and [2]. But anyway, I hope you're right and the bill ends up encouraging debate about real science.
[1] http://ncse.com/news/2012/04/boos-tennessees-monkey-law-0073...
[2] http://thedianerehmshow.org/shows/2012-04-09/debate-over-how...
For me it comes down to the fear that because of this law, the rest of the world will view Tennesseans as less desirable to have in the world's companies/universities/laboratories/etc. because Tennesseans spend time learning about creationism instead of real science. As a Tennessean that embarrasses and worries me.
For me, what's troubling is the language in the bill that "the teaching of some subjects, including... biological evolution... can cause controversy." The bill's authors aren't referring to any real subtle controversy about the fine details of evolution, they're referring to some controversy about the fundamental validity of evolution, a controversy that just doesn't exist.
Teaching students critical thinking is of course hugely important, and that's what makes this bill so threatening. In the guise of "encouraging critical thinking" the bill allows teachers to teach creationism, or flat-earth-ism, or whatever other unsupported pseudoscience they like. There are plenty of real debates in the scientific community that make excellent examples for teaching critical thinking - there's no need to invent fake debates.