Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Hash: A free, online platform for modeling (joelonsoftware.com)
208 points by tobr on June 19, 2020 | hide | past | favorite | 59 comments


Imagine the impact on human culture if the skills of running, interpreting, and creating computer models were as widespread as the skills of reading, interpreting, and writing text are today. The person on the street would have new intellectual tools for making sense of the world around them. Decision-making might improve as the public understanding of issues moves beyond sound-bites. The fog surrounding economic projections, and the other uses and abuses of statistical evidence in politics, might lift at least a little.

Unlike many hermeneutic activities spawned by the Information Age, modeling urges one to look outward at that which is being modeled, which could lead to more involvement and less passivity. The widespread establishment of computer modeling as a hobby seems to me one clearly necessary aspect of broadening cultural participation, just as reading for pleasure and writing for personal purposes were necessary driving factors for widespread use of text.

- Why simulation modeling should become a popular hobby

http://www.qrg.northwestern.edu/papers/files/simhobby-local....


I think this looks pretty interesting. "Build multi-agent simulations in minutes". The grand plan here seems to be that customers build lots of little simulations to solve their individual problem domains. And then a big brain could learn to build a world model from those tiny experiences. The potential here is in a "no-code" studio. Purely visual or natural language interface that could be used by children and executives alike ;)

AI scholar Pei Wang actually theorizes this in his definitions of AI and AGI. Real-world, real-time optimizations in uncertain environments built from the bottom up, that eventually coalesce into something greater than the parts

https://content.sciendo.com/view/journals/jagi/11/2/article-...


Congratulations on the launch! I've been excitedly waiting for the public release since hearing about HASH on Joel's blog a few months ago. I've been playing with some models over the past few hours and I have a few questions / comments.

First, would it be possible to perform sensitivity analysis on parameters of the model? For example, with the city infection model, run a number of simulations in parallel with different infection rate values, and see how it affects the model output. Relatedly, I think it would be useful to specify a probability distribution over a parameter rather than setting a fixed value. The state space of the model would become exponential in the number of parameters which can vary, so I understand if it's infeasible, at least in the public version.

The real-time spatial and plot views are great. I would like to try some network based simulations. Any plans to add visualizations for these?


Thanks! We have some network features in the pipeline (including better viz) and will be introducing some stdlib functions to help in the coming days. :)

We have some users representing networks in the 3D viewer at present, and have seen three ways implementing networks to date:

1. Edges are represented as agents. They are used to store properties such as edge length, and to provide nodes with a way of accessing other nodes.

2. Edges are represented AND USED as agents. Edges not only store properties but themselves exhibit behaviors.

3. Nodes are given a network object which contains information about their network neighbors and all relevant properties (such as directed/undirected edge, edge length, etc...)

Re: your question around experiments... yes to all three (parameter sweeping, Monte Carlo, and sensitivity analysis), and a bunch more. We'll be shipping this alongside H-Cloud. More on that in the full explainer at https://hash.ai/about/mission

Thanks for giving the beta a spin! Happy to chat in more depth over on our public Slack.


Thanks for your response! This technology is very exciting. Since you're targeting WASM there's a whole host of possibilities. Python is already supported through Iodide [1], but I imagine other languages could also be ported, and even DSLs specifically tailored for agent based modelling. That's not the mention all the other things happening in the WASM space like webgpu [2] and WASI [3].

The potential for ABMs are huge now that we have access to cheap and massively parallel compute. Imagine arbitrarily complex models of each individual in an economy interacting with each other over a distributed network of thousands of machines -- that's possible now. Instead of trying to predict the future, we can compute it.

[1] https://github.com/iodide-project/pyodide

[2] https://github.com/gpuweb/gpuweb/wiki/Implementation-Status

[3] https://wasi.dev/


The Python simulations we run in-browser are indeed using Pyodide in part! It's brilliant, but there's quite a performance penalty at present. We're working on some optimizations, but right now running the engine locally or offloading to the cloud are the only places real scale can be achieved. That said we're thrilled that Python-in-browser is possible at all, and excited at how many high-quality complementary projects are in the works. It really does feel like "everything is coming together" :)


Why is login required to view simulations? If I want to share my simulations with my followers, I don't want everyone to have to sign up for an account. Also, the "play" button in the editor UI should probably look more like a play button.

I'm excited by what you're building here!


Hi! Fully appreciate that; we're looking into removing the gate following feedback here (https://news.ycombinator.com/item?id=23573136).

The run and play buttons being distinct are in our mind important in larger sims... but fully appreciate the confusion. We'll give this some more thought. Thanks for your patience and comments!


>Re: your question around experiments... yes to all three (parameter sweeping, Monte Carlo, and sensitivity analysis), and a bunch more. We'll be shipping this alongside H-Cloud.

Firstly, fantastic work.

I'd love to see more details on 'H-Cloud' regarding infrastructure, pricing, and feasibility/licensing options for self-deployment should I need to recreate/run a similar environment on premise vs. at a remotely hosted service.

I'm also quite interested in what's going to be FOSS'd in terms of the 'H-Engine' (written in Rust) and if some friendly interface (similar to H-Core) will still be provided.


Very interesting, making simulations "easy and accessible" really resonates with me having spent far too many years single handedly trying to get traction for my "easy to use" engineering physics, FEA, and PDE ideas and simulation tools [1]. I would be very interested in collaborations if anyone from hash.ai (or anyone else) is reading this and ever think of including/or moving in to the "easy to use" PDE based simulation space.

[1]: https://www.featool.com


I've been thinking about these kinds of things a bit. PDE and FEA seem core to lots of interesting simulations. From chemistry and climate to engineering.

Firedrake [1] and Fenics [2] seem like interesting approaches to this. I know that firedrake is being explored for some climate modelling with fluidity project [3][4].

The value of any simulation platform is based on the value of the models and datasets in that platform. So the key question is, can you attract the people making the valuable models to your platform. Working with things that people are already using seems important, as does talking to those people about it. I've got a Google form asking questions currently to try to get more information about what people who currently make and use simulations need. [5]

[1] https://www.firedrakeproject.org/

[2] https://fenicsproject.org/

[3] http://fluidityproject.github.io/

[4] https://www.archer.ac.uk/community/eCSE/eCSE06-01/IC15-ecse-...

[5] https://docs.google.com/forms/d/e/1FAIpQLSfH-ns1CSQlyVyo7oj_...


A better link may be the launch blog, which is linked in the above post.

https://hash.ai/about/mission


It would be great to know how Hash compares to other free or open-source simulation tools, like NetLogo, OpenModelica, SimPy or SimJS, in terms of features and licensing.

What is Hash's business model in relation to its free tooling?

https://openmodelica.org/

https://ccl.northwestern.edu/netlogo/

https://simpy.readthedocs.io/en/latest/

http://simjs.com/


How does this compare to NetLogo? http://ccl.northwestern.edu/netlogo/


Doesn't work well on Firefox. Perhaps it's an extension, but the plots disappear, there are access violations, and a few other things.

Technically, it's funny: it looks like a relatively easy way to set up simulations for other people to run, with the integration with plots and viewers.

However, it's simple. I don't think it'll go beyond a bit of playing around and educational purposes (which, btw, is not to be underestimated).


Hey. I'm on the development team at hash.ai. I'm going to be looking into this today, and will hopefully make some progress soon!

I'll certainly look into the plots issue. If you think of anything else worth mentioning about Firefox, it would be very helpful if you could email me at nh@hash.ai with details! If you feel comfortable providing it, a list of extensions you're using would go a long way to helping diagnose the issues you're encountering.


Unless I missed it, this needs a page demonstrating how this can be used to solve real world problems and challenges without me having to sign up.


I came here to make the same point. There are some example simulations on the landing page but they too ask for my email to open them.


Thanks for the feedback; we're going to look at removing the gate. :)


Simulation and modelling are great tools in engineering, but it is still very difficult to create realistic models that predict behavior of the real thing well. There are always things you leave out, and sometimes they come back to bite you on the ass. Things like friction, thermal effects, small forces, delays... Stimulating organisms or institutions seems way more prone to errors of this kind. How do you verify that your agent represents realistic behavior of the thing or organism it is supposed to be representing?

(Of course, having a platform for models is a great first step, congrats on the launch)


Are composable behaviours a common thing in actor systems? I don't think I've seen it expressed like that in the actor frameworks I've used in the past.

Kind of looks like a actor system mixed with an ECS (Entity Component System).


Yes, they are. It would be quite nice if the agent behavior composition system in HASH supported modern behavior tree paradigms though, which seems to be a core lacking feature that would add significant strength to the product, IMHO.

I'm currently working with a project in an overlapping domain with similar goals and this is a potentially fantastic product/service overall.


Right you both are. Re: behavior trees, we've explored a few visual programming metaphors (for the most part inspired by TouchDesigner), and I'd love to chat through any specific ideas you have around ideal implementation. I'm at david@hash.ai


It'd be nice if the docs were available without signing up. I don't want to sign up to something before reading these first.


Thanks for the feedback! You should be able to view the docs directly without logging in at https://github.com/hashintel/docs

UPDATE: GitHub is down. Of course it is.


Ha, what luck! Thanks for the link - I really like the idea. Maybe you could be the Github or Kaggle of simulations/modelling :)


Build multi-agent simulations in minutes... the marketing got me here. But in fact, it's just a huge JS/phython mess.

NetLogo is still far more easier than this. For sure there is a space to make easier simulations, but this is not the right way.


When I went to see one of the samples, I was pushed to a signup screen. There seems to be no way to explore without signing up. Is that what others are also seeing?


Same here. Overall, I am a bit confused and everything that would explain it better seems to be behind the sign-up wall. A bit annoying.


I tried to build something similar to some of these samples using D3.js a while ago (modelling/visualising actual work being done, not statistically, at different stages between geting, assigning, starting, completing, returning, mainly to look for bottlenecks, but also to explain how our system worked).

It was immediately obvious that D3 was not the best tool for the job, and I spent a fair amount of time looking for a framework that could do some of the more obvious stuff. Maybe I didn't know the right keywords to look for, but it seemed like it was a pretty empty space, so it's great to see more players in it.

I really battled to figure out exactly what this was though. I think some code samples (if it is some kind of framework) or screenshots (if it is just an editor) would help a lot. Some of the overview links went to a "you need to be signed in to access this" page, and even when I tried to look at the examples, some were labeled "Python" but clicking on them didn't show me any Python code.


Heads up to founder wrt UX, I abandoned my signup because of the password complexity rules. It may be worth checking your logs for similar experiences. I'm interested, but don't know enough about it to care enough to think up a new password, especially one with those enterprisey rules.


The password rules don't even enforce a strong password. It let me use "Password123!". It just ads friction to the signup process and protects nobody.


Hi there! We're using Auth0's defaults but will happily take a look to see if we can make things a little less onerous for the casual user.


Maybe it is because I'm a non-native speaker but I find the name of the company very confusing. Why is it named HASH?


I think it is the verb meaning of "hash". e.g. hash things out i.e. come to an agreement.


I like this interpretation! The original idea related to building a 'hash map for the universe'.


I can’t see the examples on hash.ai’s front page without creating an account.


Loved being greeted as 'wpareamatuers' when I signed in for the first time :')


Well that's a fun one... could you email over your username/info to david@hash.ai so we can take a look and see what might have gone on here? Sorry about that!


This is very cool! I wonder if this is related to agent oriented programming.


the 3d visualization makes it appealing to modelling mechanistic phenomena. But the area were widespread simulation woudl be impactful are in social sciences.


Is this affiliated with Glitch at all?


Joel is Chairman of both Glitch and HASH (also Stack Overflow), and my co-founder Jude was the former CTO at Fog Creek Software, but not beyond that.


Thanks!


> We believe that most bad things in the world are the product of some form of information failure. From economic collapse and the outbreak of war and disease, to choosing the right life partner or university degree, we’re on a mission to help everybody make the right decisions and overcome information failure

I'm not commenting on the merits of the product itself, but this is exactly the kind of arrogant "make the world a better place" attitude tech could use less of these days.

When you look at how many bad decisions have been taken these past few years despite plenty of access to good information, this sentiment seems pretty out of touch…


The following paragraph:

> Brilliant innovators have sought to organize the world’s information and make it accessible to all, and the next step on this journey is to make that information understandable and usable to everybody.


> When you look at how many bad decisions have been taken these past few years despite plenty of access to good information, this sentiment seems pretty out of touch…

I'd argue we have lots of good information about what is going on. I'm not sure we have lots of good information about what we should do. Should we move to renewables and storage, nuclear or carbon capture and storage or would it be better to geo-engineer?

There are lots of trade-offs for all these paths. Being able to simulate their interactions accurately and under different assumptions might help form a consensus about a not too bad way forward.


Agreed. And in regard to GP's comment:

> kind of arrogant "make the world a better place" attitude

It's not "arrogant" to want to make the world a better place. If GP thinks they're lying, they's better described as "deceptive". If GP thinks they're naive, they should say that, and ideally provide some constructive feedback. This kind of knee-jerk comment (and the subsequent knee-jerk upvotes) is my least-favorite thing about HN.


That’s conflating availability of lots of data with ability to understand though.


Could you be more precise in what you are responding to?


Meant to agree with your reply, the comment was for the post you were replying to. We have lots of data but that doesn’t mean we have widely distributed understanding. Data != understandable models of the world. We need much more of the later.


Right (likewise commenting on your note, and not on this product)--we need development down multiple tracks... maybe:

1. data/info-skepticism

2. data/info-literacy

3. soundly interpreting data/information

4. data/info-interpretation skepticism

5. data/info-interpretation literacy


On the other hand, there's "You furnish the pictures and I'll furnish the war."

(e.g. https://medium.com/covilian-military-intelligence-group/you-... )


> "make the world a better place" attitude tech could use less of these days.

What's wrong with aiming to empower people?

If you like to see less of that, what would you like to see?


I think the thing that’s readily critiqued is the rhetoric — instead of “X will make the world a better place “, how about just “We think X is pretty neat” or “X seems like something people will pay money for.” There’s no need to pretend that every startup is engaged in a deep moral mission.


I think that flips the logic around. Because not every startup needs to have a deep moral mission, you imply every deep moral mission is pretended.

Why are you so sure it can't be their true deep moral mission? More importantly; how would you ever be able to recognize a startup that has one in general? Should they hide their moral mission, so people like you won't judge them for it? How is that for honesty?

If you apply this logic to people, you'll only see either 'honest people who have no deep morals' and 'dishonest people who attempt to have deep morals'. you would then feel better about those that openly have lower morals. That's not in your interest.

And you would be making the world a harder place for those that actually try to improve it with their deep morals. And this annoys me, therefore, this long answer :).

For instance, FairPhone, you think they should say 'We try to make a phone that's nice and makes money?'.

https://www.fairphone.com/en/


Agreed. Seems like a bit too much self-aggrandizement. This sort of lofty rhetoric is fine if you have developed a COVID vaccine, but perhaps not if you’ve made a useful tool for system analysis. The teams that built Linux, Redis, Postgres, etc. were realistic and concrete about their value propositions and did not make any pronouncements like, “we’re changing the world.” Seems more honest.


"This sort of lofty rhetoric is fine if you have developed a COVID vaccine,"

Why wouldn't it be fine for someone who just start to study medicine to say "I'm going into medicine to try to change the world for the better." It's aspirational.

How honest someone is, is not something you can judge based on the goals that are set.


Don't touch anything from Spolsky. He's toxic and it will die.




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

Search: