226 karma · joined October 4, 2014
Nybble - 4 bits
Byte - 8 bits
Snyack - 16 bits
Lyunch - 32 bits
Dynner - 64 bits
This is possible because I have exhaustive knowledge of the product, having worked on it for many years as an IC (and watched several other people struggle to manage it before I took the wheel). I imagine I'm a scenario where a manager and team are more disconnected, and nobody is really passionate about the product, that milestones would feel a lot more muted.
If your civilization can annihilated in a single strike, the only civilizations that survive have the strategy to a) avoid being detected and b) destroy anyone who has detected them (which results in destroying everyone, to eliminate uncertainty).
The idea being that assuming the actual survival of your species is at the top of your moral pyramid, all kinds of atrocities in its defense are justifiable.
CWL is intended for stringing together other programs. It is useful for reproducibility in that it attempts to provide a fairly specific description of the runtime environment needed to execute a program, and also abstracts site-specific details such as file system layout or batch system in use. CWL platforms such as Arvados also generate comprehensive provenance traces which are vital for going back and reviewing how a data result was produced.
Leibniz seems to be a numerical computing language for describing equations, which is more similar to something like NumPy or R. It seems like an apples-and-oranges comparison.
The original call-out is weird, because CWL did not exist 10 years ago so you can't yet answer the question yet of whether it facilitates running 10 year old workflows.
My most used been apps on my phone are RssDaemon and Twitter. I read Hackers news though RSS. Twitter on the other hand has been getting worse.
The backlash against centralized social media platforms is building, but it is hard to say what comes next.
> the project doesn’t even provide you a dispatcher component but instead tells everyone to take a spec and write their own.
Close...
Software that supports CWL are SaaS vendors, FOSS projects, and various HPC schedulers that all have their own incompatible data management and dispatch/scheduling systems. If you want to write an analysis that runs on more than one of these platforms, you need some abstraction for it. CWL is one such an abstraction.
This matters because maybe you've developed a research pipeline that integrates a bunch of different tools written in different languages and want to run it on somebody else's data, and you need to run it on their infrastructure because copying 12 terabytes of HIPAA-restricted data from their LSF cluster to your Google cloud instance isn't an option.
"Just use bash" is what people who adopt CWL are trying to get away from. It is nearly impossible to write portable parallel / distributed analysis in bash, and the result is brittle scripts with more coordination code than code that actually does scientific work. Because CWL is declarative, the CWL engine handles all the coordination, scheduling and data staging for your particular infrastructure.
You may not have any of these needs, but suggesting that we're just bored developers creating castles in the sky is really unhelpful.
The goal is to provide a way to describe dataflow processes that is highly portable, auditable, and reproducible. This is incredibly important in research, clinical, and regulatory domains where you need to be able to show how you came up with a result.
It's not a general purpose language on purpose, and operational concerns like notifications are the domain of specific implementations (engines).
I agree the syntax is horrible (and I designed most of it) but it also makes it easy to write programs that read and write CWL, enabling an ecosystem. For example, here is a transpiled languages that emits CWL:
For interns, they might not know when to ask for review, so you might need to check in on them once a day.