Hacker Newsnew | past | comments | ask | show | jobs | submit | nulldata's commentslogin

ECS might have a higher initial complexity overhead, but once you scale up, ECS can really help you keep complexity at bay.

There's a great talk [0] from the Overwatch developers where they talk about how they built Overwatch using the ECS architecture. They barely mention performance at all, but instead talk about how it helped deal with complexity.

[0] https://www.gdcvault.com/play/1024001/-Overwatch-Gameplay-Ar...


At https://story.ai we're using Shipyard ECS to model the data behind the structured editing experience. Although at first I was suspicious, I've come to realise it's an extremely elegant way to handle our complexity.

Consider for example, a snippet that reads along the lines of:

    when there is a new stripe charge
       send a slack message
It's very nice to attach something like a "ScopeContext" component to each Entity that has a "TokenLine" component, that is a Vec of EntityIds that are sharing values into scope. Very easy to model and add without interfering with other data structures.


Great first episode. I'd love to hear Aaron Hsu on this!


That's not necessarily the same thing though. Verbosity can obscure the information you're trying to gather from the code you're reading. A "can't see the forest for the trees"-kind deal.


I cannot see the source code for the documentation. This happens to me in so many cases. I work with a couple of codebases that have 90% documentation, 10% code. In Ada, code IS the documentation that also can be formally verified. It is wonderful.


I think I've heard "the code is self-documenting" a hundred times in my career and it hasn't been true once.


Yup, look at any driver in the Linux kernel.


But making people angry doesn't imply that you're doing something important though.


Well yeah, it’s necessary but not sufficient. ;)


What lispy language is that in the screenshot?


It's Arc, and the program is an ancient prototype of https://github.com/akkartik/mu


Thanks!


Aaron Hsu's work has truly inspired me, and expanded my horizon when it comes to code and programming in general.



Thanks I missed those


I'll also note, I emailed him a random question and he spent a non-trivial amount of time answering it and just came off as a legitimately decent and helpful person. So piling on, I'm also a fan now.


I too want my algorithms to fit in a less than a java method name size


Now I really want to see someone use this to make ML generated comics.


I imagine it might be similar to https://www.reddit.com/r/SubredditSimulator/

I'm with you. The result would either horrify, or be hilarious


Reminds me that I should probably finish my article on how I wrote a BrainF*ck interpreter in sed.


This I would like to see. Do you have the code somewhere right now or do you plan to release it with the article?


If you're interested in things being implemented in non-standard languages, I would check out the Make-A-LISP project on Github [1]. Someone even took it upon themselves to write an implementation in AWK :) [2]

[1] https://github.com/kanaka/mal/ [2] https://github.com/kanaka/mal/tree/master/awk


There's even an implementation of lisp in sed :) https://github.com/shinh/sedlisp/


The problem is that it's not the "clickfarming" apps that are the real danger for the majority of people, I'd argue it's the endless algorithmically tailored content and social media streams most of us consume. The ones that fill our every - otherwise - idle moment with something to distract us with.


I spend at least as much time on HN as Facebook these days. (My relationship with HN is fine but my relationship with my phone is not as healthy as I feel it should be.) I think the problem is related to the fleeting mental rewards of surprising information, not any particular application. Perhaps the product of all available applications.


Isn't it the same thing in nature? That is also a part of the same click/impression economy.


Not to be confused with LightTable[1], an editor with Clojure live coding support.

[1] http://lighttable.com/


Is this still actively maintained? I haven't kept up with the project but my impression was the original creator moved on and left the project in the cold


http://witheve.com/deepdives/lighttable.html

The maintainer decided that a more fundamental change to programming was required to improve the experience as radically as they hoped.

They're writing a new language and literate programming environment called Eve:

http://witheve.com/

It's early days, but the language has some very interesting ideas so far.


Eve is - was, when I last checked - a poor reiteration of Smalltalk with a bit of CWEB bolted on top. You can get much more mature implementation if you just download Pharo, with the added benefit of Pharo being native, not browser-based.

Chris is one of very few people in tech that I genuinely dislike, because he managed to get me to believe in him and in LighTable, only to dump LT and make me feel stupid. LT was an ambitious project, promising to finally deliver something better than Emacs for working with dynamic languages and there was a chance of it being completed in this decade. Eve is a moving target and after two years it's not any closer to being a practical tool.

Personally, I need a modern, powerful editor, preferably polyglot, with tight integration with languages runtimes and Emacs-level scriptability - and that's what LT promised. It could have been a real, immediate improvement in how I work with code. Switching to Eve development is adding a gorilla and a whole jungle in fire to the banana we (LT backers) originally needed. Not to mention, Chris failed to complete a simpler project, I see no reason to believe he'll do a good job on Eve.

/rant


> A number of folks were upset by our decision to work on Eve in lieu of Light Table, but in reality, we were working on Eve to finally arrive at the LT we always hoped to have.

I must admit I was one of those upset that they "left" light table. Thank you for sharing the link to Eve


I love Light Table and used it all the time for teaching Clojure. Unfortunately the instarepl feature was moved into a separate plugin which increased the barrier to entry for new adopters: https://github.com/LightTable/LightTable/issues/2283

Happy to see any movement in this space because as far as I can tell, Clojure(Script)/DataScript/Datomic are the killer long-term web stack.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: