Live data from Hacker News

Dgsh – Directed graph shell

www2.dmst.aueb.gr

41–50 of 61 posts

Re: Dgsh – Directed graph shell

#42

Earlier quoted context omitted.

There is a lot of stuff for Python which follows the "express computation as a dag" approach, especially Apache Airflow https://airflow.apache.org/

Apache Airflow solves a very different problem. Its DAGs are static dependencies between sequentially executed processing steps, whereas the DAGs of dgsh express live direct data flows.

Do you mean to say that two non-dependant tasks in an Airflow DAG aren't able to concurrently execute? Thats not my experience. I'm also confused by the use of 'static' in this context.

Re: Dgsh – Directed graph shell

#43

Hello. In English this makes me think of the phrase “dog shit”. Not sure if that’s intentional or not.

That's what I think when I hear "bash".

That's literally the word for shit in Norwegian: bæsj https://upload.wikimedia.org/wikipedia/commons/6/69/Nb-b%C3%...

Re: Dgsh – Directed graph shell

#44
post #30

Earlier quoted context omitted.

Thank you for the suggestion. This would mean that you'd also then create some mapping from each name (like git_log) to its implementation, right?

Yes, using shell functions: git_log() { git log --pretty=tformat:'%at %ae' } Separating function definitions allows you to run, test, and re-use them.

And, more importantly, assign a name to a process, so that it can appear multiple times in the graph.

Re: Dgsh – Directed graph shell

#46
post #42

Earlier quoted context omitted.

Apache Airflow solves a very different problem. Its DAGs are static dependencies between sequentially executed processing steps, whereas the DAGs of dgsh express live direct data flows.

Do you mean to say that two non-dependant tasks in an Airflow DAG aren't able to concurrently execute? Thats not my experience. I'm also confused by the use of 'static' in this context.

That's the point: non-dependant tasks can run concurrently in Airflow. In sh/BAsh/dgsh dependant tasks can also run concurrently, as in tar cf - . | xz.

Re: Dgsh – Directed graph shell

#48
post #30

Earlier quoted context omitted.

Yes, using shell functions: git_log() { git log --pretty=tformat:'%at %ae' } Separating function definitions allows you to run, test, and re-use them.

And, more importantly, assign a name to a process, so that it can appear multiple times in the graph.

You might want to try looking at the Neo4j query language Cypher for some possible inspiration for the syntax.

Re: Dgsh – Directed graph shell

#49

Hello. In English this makes me think of the phrase “dog shit”. Not sure if that’s intentional or not.

> In English this makes me think of the phrase “dog shit”.

In English, this makes me think of the phrase "dig shell". I guess we just have different things on our minds...

:-p

Re: Dgsh – Directed graph shell

#50
post #42

Earlier quoted context omitted.

Do you mean to say that two non-dependant tasks in an Airflow DAG aren't able to concurrently execute? Thats not my experience. I'm also confused by the use of 'static' in this context.

That's the point: non-dependant tasks can run concurrently in Airflow. In sh/BAsh/dgsh dependant tasks can also run concurrently, as in tar cf - . | xz.

Ok. thank you!
Post reply on HN