for example, I would love to be able to refer to this when watching Erik Singer describe accents: https://www.youtube.com/watch?v=NvDvESEXcgE
1,514 karma · joined October 14, 2011
for example, I would love to be able to refer to this when watching Erik Singer describe accents: https://www.youtube.com/watch?v=NvDvESEXcgE
To make this clear, I would upload your video to gfycat and link the gif in your readme.
Interesting approach. I suppose this makes whitespace inside square brackets significant. And quotes inside of these brackets would have to be escaped if written inside C-programs.
Let's be clear that "human nature" is relatively stable, but the "cultures" that sit atop are much more capricious-- slowly changing in different ways to fit the same human desires.
Makes me wonder if I'm just influenced by the work happening in ML, or if we are really approaching what the brain is already doing.
> Persistent data structures are different, as their performance improvements are passive. Although seamless-immutable does not (and cannot, while maintaining its backwards compatibility with vanilla JS collections) use things like VLists under the hood, its cloning functions—such as merge—only bother to make shallow copies, as shallow and deep copies of immutable values are equivalent. In practice, this simple passive optimization has been sufficient; we have yet to encounter a performance problem that Bagwell-style persistent data structures would have solved.
from: http://tech.noredink.com/post/107617838018/switching-from-im...
Freedom is one such example since it cannot belong to everyone when competing interests are at play. That might be a strange way to slice it though, since the language we use to describe freedom is probably not as well defined as we think.
I used to wonder why I felt good when looking at sunsets, landscapes and clouds. But I figured that our aesthetics probably evolved in response to what was around us. Happier people probably survive better.
The way we hear music seems like such an aesthetic, as it might've occurred within ancient cultures as a form of play and release. I suspect that our random genetic hunger towards different aesthetics might have created an incredible developmental feedback loop. I'm not sure where I'm going with this incredibly complicated topic, but I have a lot of very unrefined thoughts about them, that are probably overly-reductive and wrong.
The only difference is that bounding boxes are still used for sprites, but he adds a sort of voxel heightmap inside of it to represent occupied volume.
> heightmap: https://youtu.be/Ssrkq6_6JYU?t=15m21s
If you imagine this heightmap as a building with multiple floors (e.g. 1st floor, 2nd floor) the algorithm takes the lowest common floor of each of these buildings and performs an intersection test between them and nothing else. This allows the sprites to interact more fluidly inside the bounding boxes! Neat.
> heightmap floors: https://youtu.be/Ssrkq6_6JYU?t=16m12s
He maintains projects by trying to triage issues in an efficient and emotionless manner. I wouldn't take it as rude though.
Python showed me the Force, but I'm with the Dark Side now.
I think it's interesting that Elm and ClojureScript have chosen immutability as the default. I wonder what other languages have chosen this.
My main complaint with Scheme is that it's hard to distinguish a "call" from a plain list. For example, in `(let ((foo 1) (bar 2)))`, `let` is a call, but `foo` and `bar` are just being assigned, not called. Clojure uses `(let [foo 1 bar 2])`, so you can tell that `let` is a call, but `foo` and `bar` are now unwrapped and placed inside square brackets to signify plain data, not a call.
> To give clojure a whirl, ... there were so many non-s-expr syntactic special cases for things like list comprehensions and common macros
Everything is still an s-expr. The square and curly braces still follow the same rules, but they just mean they are not "calls" like parens would normally signify.
For a list comprehension example: `(for [m messages] (str m))`, `for` and `str` are calls and `[m messages]` is just data. It could be unwrapped like `(for m messages (str m))`, but it's wrapped in square brackets as a visual indicator for what's important. But if it was wrapped in parens like in Scheme, it could be confused as a "call".
Clojure is very well-designed to solve visual problems of Scheme and other Lisps. I recommend looking at it again :D
> Jade can be used along with code too. I think that you mean view logic by code here as mixing business logic with your view is a big no no.
Code is data. Separating concerns by using different technologies to solve the same problem is not simplification. You can separate views from logic as you would separate different functions in code. We can organize that.
> I took a look at Hiccup. It looks interesting and promising but I'm an indentation oriented developer and that's why I favor Jade and Sass and the likes.
Not liking Hiccup because you prefer indentation doesn't make sense. Hiccup is indented by convention. If you're speaking about the delimiters, those are what keeps it from slipping into limitations shared by JS, Jade, etc.
> Also, I like the design philosophy that they chose with Jade by absorbing JS in HTML and not the other way around like in JSX where HTML & CSS being subordinates to JS thus making the process a whole lot more tedious and time-consuming.
You don't need to choose an absorption direction between JS and HTML if you treat HTML as what it is, a nested data tree, and realize that templating is the mixing of logic into this data tree. S-expressions in Lisp were designed exactly for this.