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

The associated paper references Judea Pearl's theories on causality, but curiously doesn't mention the DoWhy implementation [0], which seems to have some recognition in the causal inference space.

[0] https://github.com/py-why/dowhy


Apparently some of the software in Nikola vehicles was written in Crystal [1]. [1] https://manas.tech/blog/2020/02/11/nikola-motor-company/


Interesting. That’s only the second time I’ve heard of crystal being used in production. The first is Kagi, which uses it in search query processing.


>in production

are there Nikola trucks on the road right now?


> are there Nikola trucks on the road right now

Importantly, under their own power, and not going downhill.


Did it compile to wasm and run at the edge at scale?


The reactive data store bits seem very similar to baobab.js [0]. Baobab's api seems a bit more terse though, which I prefer.

[0] https://github.com/Yomguithereal/baobab


I'm surprised Kivy [0] doesn't get more attention for desktop app development. Apps are developed in Python, it's cross-platform and MIT licensed. Running the hello world example uses just ~2.5% cpu and ~57mb memory on a 2015 mbp.

[0] https://github.com/kivy/kivy


This seems very similar to GitXiv: http://www.gitxiv.com . Maybe there is an opportunity to join forces.


GitXiv has been very unprofessionally maintained. Their RSS feed often has junk posts like by a child. They were once good, but that time is long gone. I still subscribe to its feed, but there isn't much to find in it.


Does Substrate VM have cross-platform support for major operating systems (i.e. for Linux, Windows, MacOS)? If so, can a binary compiled on MacOS run on Windows, and vice versa?


Yes, that is the long term goal.

Project Metropolis is about rewriting OpenJDK C++ parts in Java, so SubstrateVM needs to support all major OpenJDK targets.


Doesn't (compiled) java run slower than c++ though?


Not necessarily.

It depends on the application, how it is written, the compiler and optimizer being used.


Seems similar to OpenWhisk: https://github.com/apache/incubator-openwhisk . The built-in metrics reporting of OpenFaas looks useful though.


For a great live demo of the auto-scaling and metrics shown in Grafana see my video from Dockercon's Cool Hacks closing ceremony - https://www.youtube.com/watch?v=-h2VTE9WnZs&t=1058s


Nice. Maybe it's finally time to upgrade to the latest Firefox for testing. We had been pegged at an older version because we ran into some issues with the new (at the time) MarionetteDriver[1], but I imagine the migration might be smoother now.

[1] https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionet...


I'm wondering how this compares to Xtext[1], which is another framework for developing domain specific languages. Xtext feels more approachable to me, but maybe that's because there appears to be a lot more documentation and tooling.

For example, the docs on Xtext's grammar language[2] seem very intuitive to me, even though I'm not experienced in compilers or language design. I don't have quite the same intuition when looking over the AnyDSL docs[3]. Maybe the Xtext docs are just more goal-oriented, i.e. "Five simple steps to your first language".

[1] https://eclipse.org/Xtext/index.html [2] https://eclipse.org/Xtext/documentation/301_grammarlanguage.... [3] https://github.com/AnyDSL/anydsl/wiki/Tutorial


Xtext and AnyDSL have very different goals. Xtext is mostly about Syntax and IDE-Support, while AnyDSL is about compilation. With Xtext you'll get support for defining the grammar of your language, but you'll write your own compiler for your DSL - the DSL is "deeply-embedded" in the host language Java, that is: represented as a Java datastructure. In AnyDSL, you don't have any support for custom syntax - all your DSLs are basically just "libraries"/types/functions in the host language Impala - a "shallow" embedding. Java examples of shallow embedding are most "fluent interface" libraries, e.g. jOOQ[1].

This has the benefit that you don't need to know about compiler tech to implement your DSL. However, a domain-specific compiler can optimize using domain-specific knowledge and potentially generate faster code. For this reason AnyDSL/Impala provides online partial evaluation with the '@' operator, which aggressively specializes functions and evaluates at compile time. With the right DSL abstractions, this can result in generated code that is as fast as hand-tuned code.

For a more complete view of the relation between partial evaluation and DSL embedding, have a look at the GPCE'15 paper[2].

We totally agree that the website and documentation (there is some in the github wikis) is lacking at the moment and we're working on them. However, AnyDSL is still a young research project.

[1] http://www.jooq.org/doc/3.9/manual/sql-building/sql-statemen... [2] http://compilers.cs.uni-saarland.de/papers/gpce15.pdf


JetBrains' MPS also is in the same field


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

Search: