bcongdon
High-Availability Feature Flagging at Databricks
Escargotic Commotion: The Internet of Snails
I suspected something like the `ff` labeling approach would improve the solution, but I had no idea how much of a difference `all_different` made vs. `all_distinct`!
I like to write about productivity, Go/Rust, and my various web development projects. I also tend to write pretty frequently about programming language ergonomics.
Popular posts:
* https://benjamincongdon.me/blog/2019/11/11/The-Value-in-Gos-...
* https://benjamincongdon.me/blog/2018/03/23/Python-Idioms-in-...
* https://benjamincongdon.me/blog/2018/03/01/Scraping-the-Web-...
Favorite posts:
* https://benjamincongdon.me/blog/2019/03/07/Generative-Doodli...
* https://benjamincongdon.me/blog/2018/10/07/Wordscapes/
---
I also have a blogroll of other blogs I think are interesting: https://benjamincongdon.me/blogroll
... and a list of books that I've read: https://benjamincongdon.me/books
I’m Done with Food Delivery Services
Solving “Wordscapes”
Hedonic Treadmill
As a very rough estimate, for a light-to-medium load of 1Tb, the cost would probably be in the ballpark of ~$0.50. AWS's own reference MR framework[2] (which is mostly a tech demo) quotes prices in a similar order of magnitude.
Corral isn't great for processing-heavy MR jobs, as Lambda pricing rises quickly if you need a lot of memory or take a lot of time with each record. But, for small-ish low-overhead jobs, it can pretty easily beat the pricing and hassle of using something like EMR.
[1]: https://aws.amazon.com/lambda/pricing/#Lambda_pricing_detail... [2]: https://github.com/awslabs/lambda-refarch-mapreduce/
Corral deals with this by splitting input data into small enough chunks that each chunk can be processed within the timeout -- I exposed options for setting the amount of data that each Lambda function has to process. However, if each data item requires more than 5 min of processing, then corral won't work for you.
The "driver" that coordinates the Lambda functions runs locally (not in Lambda), so it doesn't have this constraint.
I think there’s a lot of interesting applications for using function-as-a-service platforms as executors in data processing frameworks such as this.
If you’re interested more in the development/internals of this project, I wrote a blog post with more details: https://benjamincongdon.me/blog/2018/05/02/Introducing-Corra...
[1]: https://github.com/Miserlou/Zappa [2]: https://serverless.com/
Show HN: Corral – A Serverless MapReduce Framework
Introducing Corral: A Serverless MapReduce Framework
Hi, I’d Like to Add Myself to the New Yorker (2016)
“Happy Little Words” – Analysis of Twitch's Bob Ross Marathon (2015)
Thanks for sharing!
Show HN: GitTrophy – Create a 3D Printed Model of Your GitHub Contributions
This is a project I've been working on for a while now. It's a hobby horse to try new technologies, but I've really enjoyed working on it.
I'm a fan of the GamesDoneQuick (gamesdonequick.com) speedrun marathon that pops up to the top of Twitch twice a year. Inspired by previous sites that have done visualizations like this, I decided to take a crack at realtime stats last year.
This is the current iteration of GDQStatus, which is powered by React + Recharts and AWS Lambda.
The site itself is static - which is hosted in Github pages, and data is fetched from S3 (as a caching layer) with hot data served by a Lambda.
Let me know if you have any questions!