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
    A

    Ardan Labs Blog

    ardanlabs.com · Company blog · on HN since 2018

    Ardan Labs, a Go, Docker and Kubernetes training and consulting firm, publishes technical posts on Go scheduling, garbage collection, and modules.

    Visit blogHN submissions
    ProgrammingLanguages & CompilersSystems & Performance
    What HN says

    HN commenters cite its Go design posts as excellent, and the company also appears in hiring threads and course pricing discussions.

    Stats for nerds
    36HN people shared it
    44linked in comments
    911story points
    Oct 2024last shared
    2018people per year2024

    Top posts on HN

    1. 1
      Caddy Server Is Acquired By Apilayer
      2 people · 272 points · first shared 2020 · 113 comments on HN
    2. 2
      Reducing Docker Image Size
      2 people · 176 points · first shared 2020 · 35 comments on HN
    3. 3
      An Open Letter to the Go Team About Try
      2 people · 133 points · first shared 2019 · 111 comments on HN
    4. 4
      Scheduling in Go: Part II
      4 people · 108 points · first shared 2018 · 44 comments on HN
    5. 5
      Getting Started With Dgraph and GraphQL+
      1 person · 78 points · first shared 2020 · 12 comments on HN
    6. 6
      Dgraph, GraphQL, Schemas, & CRUD – Ardan Labs
      1 person · 63 points · first shared 2020 · 16 comments on HN
    7. 7
      Scheduling in Go
      3 people · 10 points · first shared 2018 · Discussion on HN
    8. 8
      Garbage Collection in Go: Part III – GC Pacing
      1 person · 9 points · first shared 2019 · Discussion on HN
    9. 9
      Go Modules Part 01: Why and What
      3 people · 6 points · first shared 2019 · Discussion on HN
    10. 10
      Garbage Collection Semantics in Go
      3 people · 6 points · first shared 2019 · Discussion on HN

    What HN people wrote when they linked it

    • navdMay 2018

      Ardan Labs | Mid - Senior Software Engineer | Miami, FL | Full Time | REMOTE | ONSITE | https://www.ardanlabs.com/

      Ardan Labs is a high performance software development firm that builds and delivers reliable solutions and applications. We're looking for several Mid-level and Senior Backend Engineers to help us develop solutions for our clients.

      This is a great opportunity to be part of a culture of caring, cooperation, reliability and growth. We are based in Miami, Florida, but our team is spread across North America. Some roles may be location dependent, but we welcome remote work.

      Ideally you are a responsible, self-motivated individual that is looking to work with the latest technology and create uncompromising user experiences.

      Responsibilities:

      Design and build REST/gRPC APIs with speed and reliability in mind.
      Design and use SQL and NoSQL databases to support both relational and nonrelational performance and storage requirements.
      Write tests.
      Document web services for public consumption.
      Implement proper instrumentation and logging.
      Leverage Kubernetes/Docker to deploy and manage a scalable infrastructure across multiple geographical regions.
      Respond to system level issues as necessary to provide the best overall customer experience.

      Qualifications:

      Minimum 2+ years of professional experience developing REST based web services.
      Experience developing in more than one backend language preferrably Go, C/C++, Java, Ruby, Python, Node.js, etc.
      Experience with the…

    • lenkiteJun 2020

      Sorry, I completely disagree. I don't consider mere M:N thread work distribution as anywhere close to what the go scheduler offers.

      This article mentions some of the fundamental problems with core.async: http://danboykis.com/posts/things-i-wish-i-knew-about-core-async/

      Having to pay ridiculously careful attention to what code blocks across libraries and function boundaries is something that golang completely takes away the need for - because it has a true cooperating scheduler built into the runtime at the boundary of every syscall.

      Decision making is in hands of the Go runtime. You can write in standard dumb sync fashion at 3am in the night within a go-routine making all the Go library calls you wish to make without needing to scan code with a microscope to see what blocks and what doesn't.

      https://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part2.html

      core.async is a half-baked error prone solution. People will make mistakes with it. Until the JVM has native support for fibers, continuations and a compile mechanism to classify all legacy blocking calls as unsafe, core.async will continue to be hobbled.

    • nsmJul 2023

      I am aware of epoll_wait and friends (select/poll) accepting timeouts, and how that plugs into a general event loop like in libuv.

      However if memory serves, these calls are reasonably expensive (on the order of microseconds, and _worse_ if readiness requires putting the current thread to sleep and then waking it up again). However https://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part2.html says goroutines are closer to 200ns.

      However the same source above does a decent job of explaining how epoll is being called "out of band". I am guessing when they talk about context switching costs, they are doing some sort of amortization of these system call costs. Since the actual OS threads try to remain CPU-affine (thread-per-core, LMAX disruptor etc. etc.), a lot of the OS scheduling costs can be skipped.

      Thank you for the pointer to the source code. It gives me a starting point.

    • ncputoJul 2021

      Ardan Labs | Multiple positions | REMOTE | https://www.ardanlabs.com/

      Ardan Labs helps teams become effective with Go, Docker & Kubernetes. We work with startups & Fortune 500 companies to help their engineering teams become better developers, code reviewers, designers and architects.

      Open Positions:

      - Mid-level/Senior Backend Engineers with Go experience

      - DevOps Engineer

      - Data Engineer

      - Infrastructure Engineer

      - Blockchain core developer

      Benefits:

      - Access to our live & online courses in Go, Docker, Kubernetes & more.

      - Benefit from the knowledge of your coworkers working across industries on different projects.

      - Private talks for the team from popular people & projects in the industry.

      - As a W2 employee, we offer family medical coverage, life insurance, paid vacation, and technical training.

      Apply here: https://www.ardanlabs.com/my/careers

    • joncalhounOct 2019

      My guess is you are incorrect and this has more to do with the Ardan Labs partnership[1][2]. This release also came shortly after Bill (founder of Ardan Labs) went to visit Matt and discuss Caddy[3], which helps support that claim.

      Prior to the partnership I believe the real issue was that Matt & co didn't have a sustainable way to maintain the project and they were trying to figure that out. I don't know the details of the partnership with Ardan Labs, but my guess is it is structured in a way that allows Caddy to focus solely on building out a great product without worrying about monetizing it so they dropped all the proprietary licensing.

      [1] - https://www.ardanlabs.com/news/2019/05/ardan-labs-partners-with-caddy.html
      [2] - https://twitter.com/mholt6/status/1179957356005707776
      [3] - https://twitter.com/goinggodotnet/status/1178949305421438976

    • zuzuleinenOct 2022

      Probably, here is the link to the full bundle https://www.ardanlabs.com/training/ultimate-go/#tabpanel

      and this was the course I was talking about https://www.ardanlabs.com/training/ultimate-go/advanced-concepts/

      Indeed $700 is a steep price(I live in Eastern Europe so it looks even steeper), but for me it worth it as it helped me a lot in interviews which landed me nice paying jobs(by my standards). I don't know how long it would have taken me to learn all those concepts by myself. The value of a good course is that it condenses the time you need to learn something and this course did the job.

      There is also Ultimate Go notebook which is just $10[1], the notes from this course. If the course is too expensive I would go with that.

      [1] https://www.ardanlabs.com/ultimate-go-notebook/

    Related

    Codeship Blogblog.codeship.com138 people

    Crystal: Fast as C, Slick as Ruby

    Codeship Blog
    Company · last shared 2020
    MirageOS Blogopenmirage.org62 people

    Irmin: Git-like distributed, branchable storage

    MirageOS Blog
    Company · last shared 2015
    Uber Engineering Blogeng.uber.com525 people

    Why Uber Engineering Switched from Postgres to MySQL

    Uber Engineering Blog
    Company · last shared 2025
    Akita Software Blogakitasoftware.com21 people

    Taming Go’s memory usage, or how we avoided rewriting our client in Rust

    Akita Software Blog
    Company · last shared 2024
    Itamar Turner-Trauringpythonspeed.com112 people

    “Let’s use Kubernetes.” Now you have eight problems

    Itamar Turner-Trauring
    Personal · last shared 2026
    Russ Coxresearch.swtch.com554 people

    Timeline of the xz open source attack

    Russ Cox
    Personal · last shared 2026
    Sourcegraph Blogabout.sourcegraph.com156 people

    An ex-Googler’s guide to dev tools

    Sourcegraph Blog
    Company · last shared 2024
    Twitch Engineering Blogblog.twitch.tv178 people

    Go’s march to low-latency GC

    Twitch Engineering Blog
    Company · last shared 2026