R
Ravelin Tech Blog
syslog.ravelin.com · Company blog · on HN since 2016
Ravelin's engineering team writes about Go, databases like DynamoDB and BigTable, security, and engineering practice at a fraud-detection company.
What HN saysHN cites it for its Go channel overhead benchmarks and its critical take on DynamoDB use cases.
21HN people shared it
7linked it in comments
20stories submitted
353story points
3 years agolast shared
2016people per year2026
Most-shared posts
- 1There are very few suitable use cases for DynamoDB3 people · 234 points · first shared 2017 · 140 comments on HN
- 2So, just how fast are Go channels anyway?3 people · 4 points · first shared 2017 · discussion on HN
- 3Go in a scratch VM2 people · 6 points · first shared 2018 · discussion on HN
- 42FA is missing a key feature2 people · 3 points · first shared 2021 · discussion on HN
- 5Go and memory layout2 people · 2 points · first shared 2017 · discussion on HN
- 6Joy and Pain of Using Google BigTable1 people · 70 points · first shared 2019 · 20 comments on HN
- 7Full Stack is more than Front end: Every engineer needs to be a DevOps engineer1 people · 11 points · first shared 2019 · 1 comments on HN
- 8Run your data science team like an engineering team1 people · 7 points · first shared 2019 · discussion on HN
- 9A profiling adventure to speed up Go1 people · 3 points · first shared 2017 · discussion on HN
- 10Further Dangers of Large Heaps in Go1 people · 2 points · first shared 2018 · discussion on HN
- 11Powering real time fraud detection with BigQuery1 people · 2 points · first shared 2016 · discussion on HN
- 12Go routines vs. C threads1 people · 2 points · first shared 2017 · 1 comments on HN
- 13Running Tensorflow Models Using Golang1 people · 2 points · first shared 2020 · discussion on HN
- 14What's all that memory for?1 people · 2 points · first shared 2018 · discussion on HN
- 15GC is bad but you shouldn’t feel bad1 people · 1 points · first shared 2018 · discussion on HN
What HN people wrote when they linked it
progbits · 2023-08-12
Channels come with significant overhead [1]. While that is fine (or unavoidable) when communicating between goroutines, in single threaded code that iterates some custom container you don't want a channel.
That is why stdlib map and vector have their own range magic, but as library author this isn't available to you. That is the point of the proposal.
[1] https://syslog.ravelin.com/so-just-how-fast-are-channels-anyway-4c156a…
masklinn · 2023-08-12
Channels introduce a ton of overhead (https://syslog.ravelin.com/so-just-how-fast-are-channels-anyway-4c156a… plus concurrency issues, and termination concerns (they are essentially a resource leak). It's nice that you can iterate channels, but they're a terrible iteration protocol.
hanoz · 2022-09-20
Cool, well done. Hope the idea gets picked up by a few more developers here.
If you don't mind I'm just just pasting the URL into a comment to make it a link:
https://syslog.ravelin.com/2fa-is-missing-a-key-feature-c781c3861db
eloff · 2020-05-15
The biggest problem I'm aware of with DynamoDB is the hot key / partition issue[1]. Throughout is distributed evenly across nodes, you can't control how many nodes you have, so you always have a node that's hot either temporarily or permanently and so you end up having to over provision all your nodes to be able to handle that hot case, which ends up costing far more than alternatives. What's your take on this? This is the chief reason I avoid DynamoDB, which in theory would be a good fit for some of my problems.
[1] https://syslog.ravelin.com/you-probably-shouldnt-use-dynamodb-89143c12…
nothrabannosir · 2016-12-14
Plug: if you ever find yourself wanting to merge everything painlessly: https://github.com/unravelin/tomono :)
accompanying blog post: https://syslog.ravelin.com/multi-to-mono-repository-c81d004df3ce
zemo · 2019-05-05
> I bring up PL/I here on HN occasionally just as an example and lesson in programming language design.
PL/I influenced B, which influenced C, which influenced so many things that literally every person on HN has used a language influenced by C. You're out here talking down to people like "you whippersnappers don't know what you're doing" when you're literally decades behind the curve.
and besides, check out lambda-the-ultimate.org, that's a community more specifically oriented at programming language design. And no, they don't talk about PL/I either.
> A broad point about PL/I is that its structures are nearly as useful as the .Net style classes but with much faster and simpler addressing. In programming language design, that's a little point to keep in mind.
Go has this, Rust has this, lots of languages have this. Language that give the developer the ability to control how their data structures are laid out in memory are not a revelation, we know about them. That's not a new or lost feature, you just have your head buried so far in the sand that you are incapable of viewing anyone that came after you as knowing anything.
https://syslog.ravelin.com/go-and-memory-layout-6ef30c730d51
https://doc.rust-lang.org/reference/type-layout.html
And besides, Go was co-designed by Ken Thompson, who invented B, which was strongly influenced by, drumrollllll please, PL/I!!! Your dedication to not listening to people has robbed you of knowing about things that you would probably…
cathyravelin · 2018-04-03
Ravelin | Software Engineers | London, UK | Full-time | Onsite
A post Series A tech startup building a fraud detection and prevention platform.
We are hiring for a number of Engineering Positions:
* Fullstack (Mid/Senior): https://ravelin.workable.com/j/86F7A0B946
* Devops (Junior/Mid): https://ravelin.workable.com/j/AF0D7439DE
* VP Engineering: https://ravelin.workable.com/j/2F0648699E
* Senior Backend: https://ravelin.workable.com/j/55ADB73093
* Senior Javascript: https://ravelin.workable.com/j/3F5E58D416
Tech stack includes:
Golang, GCP; Linux; NoSQL/BigTable; PostgreSQL; Zookeeper; ElasticSearch; Bigquery; distributed, highly available microservices; CI/CD.
For more information on stack see: https://syslog.ravelin.com/ravelin-technology-stack-1e957a469388
Apply through the links above or email [email protected]