Closing thoughts

There's more to Geneva

Check out the README for more information about what is possible in Geneva. Here are some highlights.

  1. Geneva has a CLI for executing files.
  2. Geneva has a special Definition Builder that works like Azure's ARM templates.
  3. Geneva has a REPL to use in the terminal.
  4. You can pass regular code into Geneva, so most JavaScript code will work.
  5. As we see here, Geneva can run in the browser.

What are downsides?

  1. This may not be better than using code. AWS has gone the code route with the Cloud Development Kit.
  2. It's not easy to debug. Geneva isn't mature, so it lacks debugging tools and clear feedback that mature languages give you.
  3. There may be better tools out there. There is a programmable configuration language called Dhall.
  4. You're no longer writing in the specification. If you're writing in a new format, you lose any benefits your editor might provide for writing directly in the specification.

What could be next?

  1. Define a standard. Geneva has a few rules that can be standardized.
  2. Make it cross-platform. Geneva is in JavaScript and relies on JavaScript libraries.
  3. Add support for real code. If it's true that people are moving to use real programming languages, it's an opportunity to create standards and tools that follow the trends.

Thank you

I hope Geneva has a few features you've been wanting. I hope it sparks new and better ideas about how to think about making specifications more dynamic.

If you're interested, check out the GitHub repo. Drop an issue there if you have questions or ideas.

Thanks for your time!

Q & A

If there's time, I'll try to answer some questions. If not, please reach out to me at the conference or outside of it with my contact information on the main page.