Thanks so much for posting this! This was one of the most technically interesting projects I have worked on and was a great opportunity to learn a huge amount about scaling systems.
In order to make running the crowdfunding easier for ourselves we added new tools for load shedding, optimised our apps to reduce the number of API calls and prepared crowdfunding specific runbooks. These steps made a huge difference on the day. Hopefully you all manage to learn something from our experience.
For context Monzo is a bank in the UK and last month we crowdfunded £20 million from 36,000 users through our own platform. We run the bank on our own software stack using Kubernetes & AWS, which we used for crowdfunding too.
If you have any questions please do let me know and I will do my best to answer them!
Thanks for the feedback, I try to keep GoRethink up to date and to the same high standards as the official drivers. That being said I can understand why you would want an official driver.
Regarding the json support the driver actually uses the native package however due to RethinkDBs use of psuedo-types an extra decoding step is needed and that is why GoRethink doesnt let you use json tags directly. Regarding your other ideas it would be great to discuss them.
I hope to have a "production ready" version of the driver ready in about a month. I know its slow but currently I am the only dev working on maintaining this project and all work is done in my free time.
I think this a good place to say thank you for you're work on the Go Rethink driver.
This is a clear written easy to follow and effective peace of code.
I would like to thank you as well! I didn't really have any time to work on rethinkgo after I made the first version, thanks for doing such a good job with gorethink.
Just released the latest update to the Go driver, it has some pretty big changes including the ability to connect to a RethinkDB cluster + automatic host discovery.
I have been using RethinkDB for a while now (although mostly for small side projects + maintaining the Go driver https://github.com/dancannon/gorethink) and have really enjoyed it, having a functional query language is quite refreshing. The recent introduction of change feeds are also really cool, building a realtime app with websockets was surprisingly easy.
Honestly I would recommend RethinkDB to anybody looking to start a new (small-medium sized) project. While there are some small performance issues this is to be expected for a project at this early stage and after seeing how the RethinkDB team works I am confident that these will be sorted pretty quickly.
Yeah there was an unfortunate bug with how I was encoding values being sent to the database. I understand that it was frustrating and fixes should be coming soon.
That being said this update brings a couple of great new features and I look forward to see what else comes.
Thank you making a go driver, I've played with it a bit and the first thing that jumped out at me is the documents passed to and from the database use a special "gorethink" tag instead of the built-in "json" tags. I thought this was odd since rethinkdb is a JSON database.
Yeah this is because I encode from json string > interface{} > final data structure. This is so that I can process any psuedo-types such as times.
I am now looking to do this whole process in a much simpler way in the next release which will solve the issue mentioned by evmar. I think its also worth mentioning that both RethinkDB and my driver are not yet production ready but both projects are getting there.
So I am about to finish university in a couple of months and I have been using Go for the past year. Would it be a good idea to go to this conference or maybe wait a bit longer before I have more experience/money?
It's a hacker conference, meaning it's cheap/affordable and there will be more focus on code and interesting things you can do with the code.
It's also cheap to get to from the UK as Eurostar in advance is relatively affordable, especially when compared to the cost of US conferences.
You will get to meet a lot of people, and right now people who can demonstrate a good standard of Go programming are definitely in demand. So you can make contacts to help get you a job (though you may already have a job by the time the conference comes around).
I hate the word "networking"... but "nerding out with people who share an interest in a set of technologies and a language" works pretty well. Especially given that this world is quite small, make friends now and when you are looking for a job some of them may remember that they met and liked you... and wouldn't it be good to give you a break whilst they gain another solid set of hands.
I say all of this with the caveat that I've been to a fair few conferences, and I'd recommend strongly steering clear of the heavily business and corporate focused events (obvious by the £500+ fees). But a hacker conference? Hell yeah.
If you plan your trip a couple months before (or even now) you should get pretty good rates on Eurostar+hotel.
For the experience, definitely not an issue... Most attendees will be just like you and 1 year experience is already quite good for such a young language!
In order to make running the crowdfunding easier for ourselves we added new tools for load shedding, optimised our apps to reduce the number of API calls and prepared crowdfunding specific runbooks. These steps made a huge difference on the day. Hopefully you all manage to learn something from our experience.
For context Monzo is a bank in the UK and last month we crowdfunded £20 million from 36,000 users through our own platform. We run the bank on our own software stack using Kubernetes & AWS, which we used for crowdfunding too.
If you have any questions please do let me know and I will do my best to answer them!