Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    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.

    Visit blogHN submissions
    ProgrammingDatabasesDevOps & Cloud
    What HN says

    HN cites it for its Go channel overhead benchmarks and its critical take on DynamoDB use cases.

    Stats for nerds
    21HN people shared it
    20linked in comments
    353story points
    Aug 2023last shared
    2016people per year2023

    Top posts on HN

    1. 1
      There are very few suitable use cases for DynamoDB
      3 people · 234 points · first shared 2017 · 140 comments on HN
    2. 2
      Joy and Pain of Using Google BigTable
      1 person · 70 points · first shared 2019 · 20 comments on HN
    3. 3
      Full Stack is more than Front end: Every engineer needs to be a DevOps engineer
      1 person · 11 points · first shared 2019 · 1 comments on HN
    4. 4
      Run your data science team like an engineering team
      1 person · 7 points · first shared 2019 · Discussion on HN
    5. 5
      Go in a scratch VM
      2 people · 6 points · first shared 2018 · Discussion on HN
    6. 6
      So just how fast are channels anyway?
      3 people · 4 points · first shared 2017 · Discussion on HN
    7. 7
      2FA is missing a key feature
      2 people · 3 points · first shared 2021 · Discussion on HN
    8. 8
      A profiling adventure to speed up Go
      1 person · 3 points · first shared 2017 · Discussion on HN
    9. 9
      Go and memory layout
      2 people · 2 points · first shared 2017 · Discussion on HN
    10. 10
      What's all that memory for?
      1 person · 2 points · first shared 2018 · Discussion on HN

    What HN people wrote when they linked it

    • zemoMay 2019

      > 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…

    • cathyravelinApr 2018

      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 cathy@ravelin.com

    • eloffMay 2020

      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-89143c1287ca

    • progbitsAug 2023

      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-4c156a407e45

    • masklinnAug 2023

      Channels introduce a ton of overhead (https://syslog.ravelin.com/so-just-how-fast-are-channels-anyway-4c156a407e45?gi=6bf63d1d1bfc), 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.

    • hanozSep 2022

      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

    Related

    Russ Coxresearch.swtch.com554 people

    Timeline of the xz open source attack

    Russ Cox
    Personal · last shared 2026
    Twitch Engineering Blogblog.twitch.tv178 people

    Go’s march to low-latency GC

    Twitch Engineering Blog
    Company · last shared 2026
    Uber Engineering Blogeng.uber.com525 people

    Why Uber Engineering Switched from Postgres to MySQL

    Uber Engineering Blog
    Company · last shared 2025
    Codeship Blogblog.codeship.com138 people

    Crystal: Fast as C, Slick as Ruby

    Codeship Blog
    Company · last shared 2020
    Rachel Krollrachelbythebay.com493 people

    fork() can fail

    Rachel Kroll
    Personal · last shared 2026
    The HFT Guythehftguy.com75 people

    The most remarkable legacy system I have seen

    The HFT Guy
    Personal · last shared 2026
    Google Cloud Platform Blogcloudplatform.googleblog.com349 people

    Introducing Cloud Spanner, a Global Database Service

    Google Cloud Platform Blog
    Company · last shared 2026
    The Pragmatic Engineernewsletter.pragmaticengineer.com292 people

    Inside the longest Atlassian outage

    The Pragmatic Engineer
    Personal · last shared 2026