OCaml, Go, Ruby, Node. Microservices, GraphQL. Senior Principal Engineer @workday. Formerly Zendesk, Hailo, Citrix.

Joined January 2011
15 Photos and videos
Andreas Garnæs retweeted
28 Jan 2021
We’re excited to announce @peakonteam will be joining us! Together, we'll help customers elevate #employeeengagement in today’s changing world of work: wd.inc/3op84tu
1
24
42
I'm speaking at the next GraphQL Copenhagen meetup hosted at @peakonteam. Hope to see you there 😊
12 Feb 2020
The second #GraphQL #Copenhagen @Meetup is next week! Join and learn with other GraphQL beginners and experts! 😍 Short Intro 🎆 @cuvius on type systems in different languages 🧐 Reverse Talks - Speaker shares issues, crowd helps 🤫 Demo new library meetup.com/Copenhagen-GraphQ…
4
15
Extremely pleased with my IKEA/Sonos hack! 😀 Converted an old B&W DM602 into an active speaker with Sonos, Airplay 2, etc. ~135 EUR for a much better sounding speaker than Sonos One. makezine.com/2019/08/16/hack…
1
15
I made the first draft of a GraphQL API for Irmin on the flight back from a MirageOS Hack Retreat almost 2 years ago. It's super exciting to see this an official part of the Irmin project now! 🎉
27 Nov 2019
Introduction to the new GraphQL API for Irmin 2.0 by @cuvius here: tarides.com/blog/2019-11-27-…
4
16
Learned a lot at FoundationDB Summit, and enjoyed sharing my own talk on using FDB as a storage engine for Irmin! Slides for the curious: static.sched.com/hosted_file… #FoundationDB #irmin

1
13
This talk on selective functors inspired me to see an alternative implementation for GraphQL unions in ocaml-graphql-server 💡
1
7
The basic insight is this: - Functors allow introspection, but not choice. - Monads allow dynamic choice, but not introspection. - Selectives allow static choice *and* introspection 🏆
1
3
Really looking forward to this talk next week!
1
New blog post: GraphQL Resolver Arguments as Diff Lists (part 3) andreas.github.io/2019/05/20… #ocaml #graphql

8
40
I find air travel is a great place for writing. Part 3 of type-safe GraphQL series finally coming along 😄
2
24
Latest version of ocaml-graphql-server finally supports websockets as a transport 🎉 This means you can fully enjoy the subscription support contributed by @_anmonteiro. Works for both Lwt, Mirage and Async.
2
8
54
The GraphQL parser has also been rewritten from using parser combinators (angstrom) to the good ol' lexer and parser generator combo (ocamllex and menhir). Better error messages and more maintainable!
1
1
8
The testing story around @FoundationDB is really next level, even when writing client bindings. There's a spec for a small stack machine that exercise the FDB API, and if you implement it using your library, you get property-based testing for free 🤯 github.com/apple/foundationd…

1
6
32
Testing of @FoundationDB itself is also really well thought out. Recommend this video if you want to learn more: youtube.com/watch?v=4fFDFbi3…

1
10
Ctypes is a quite amazing and magical project for binding C libraries from OCaml ✨ Struggled with segmentation faults because I accessed a packed struct defined with the standard DSL, but turns out the library even has a solution for that (Cstubs).
9
I started writing OCaml client bindings for @FoundationDB back in 2014, but shelved it after the Apple acquisition. Now that it's open source, I've dusted off my code from back then: github.com/andreas/ocaml-fdb
5
26
I've wanted to add websockets as a transport mechanism to ocaml-graphql-server for some time, but the existing libraries have left me wanting. As such, I ended up spending the holidays improving websocketaf (to go with httpaf): github.com/inhabitedtype/web…
1
2
23
Had great fun last week hosting a workshop "GraphQL servers in OCaml/ReasonML" 😀 The theme was a bit local: a mashup of public Danish geo APIs. If you're curious, you can find the material here: github.com/andreas/graphql-s… Thanks @cem2ran helping out with the Reason side 👏🏻
7
28
Andreas Garnæs retweeted
Happy to announce our next event hosted at @Zendesk featuring: @cuvius who will show us how we can implement a GraphQL server in @reasonml & @OCamlLang and leverage the powerful type system to ensure correctness of your GraphQL schema: meetup.com/ReasonML-CPH/even…

3
13
irmin-graphql has been updated to have parity with the command-line interface thanks to the great work by @zachshipko 🎉 This means you can now manipulate your Git repo via GraphQL 😀
1
2
29
Here's the PR with all the changes: github.com/andreas/irmin-gra…