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
    I

    Ian Wienand

    technovelty.org · Personal blog · on HN since 2007

    Ian Wienand writes about Linux internals, dynamic linking, x86 performance, and build and CI tooling such as OpenStack's Zuul and Ansible.

    Visit blogRSSHN submissions
    Systems & PerformanceOpen Source & Linux
    What HN says

    HN commenters engage with his technical posts on dynamic libraries and position-independent code, adding their own notes on performance trade-offs and build practices.

    Stats for nerds
    16HN people shared it
    16linked in comments
    135story points
    Jan 2018last shared
    2012people per year2018

    Top posts on HN

    1. 1
      What actually happens when you plug in a USB device? (2007)
      1 person · 92 points · first shared 2014 · 19 comments on HN
    2. 2
      Playing with the x86 PMU
      1 person · 19 points · first shared 2010 · Discussion on HN
    3. 3
      VMware and GPL – it's about api boundaries, not copy-paste
      1 person · 7 points · first shared 2015 · 2 comments on HN
    4. 4
      PLT and GOT – the key to code sharing and dynamic libraries (2011)
      3 people · 4 points · first shared 2014 · Discussion on HN
    5. 5
      Position Independent Code and x86-64 libraries
      3 people · 3 points · first shared 2013 · Discussion on HN
    6. 6
      The Quickest Way to do Nothing
      2 people · 2 points · first shared 2011 · Discussion on HN
    7. 7
      Zuul and Ansible in OpenStack CI
      1 person · 2 points · first shared 2016 · Discussion on HN
    8. 8
      Why symbol visibility is good
      1 person · 2 points · first shared 2022 · Discussion on HN
    9. 9
      Exploring $ORIGIN in RPATH (2011)
      1 person · 1 points · first shared 2013 · Discussion on HN
    10. 10
      What actually happens when you plug in a USB device?
      1 person · 1 points · first shared 2007 · Discussion on HN

    What HN people wrote when they linked it

    • leni536Jan 2018

      It has an interesting performance impact on calls to dynamic libraries. One alternative approach would be to avoid the indirect calls through not using '-fPIC --shared' when building shared libraries but '-mcmodel=large --shared'. This causes the relocations to happen at the direct calls and not through a GOT.

      The obvious drawback that it effectively disables sharing code in memory, it would still allow sharing code on disk though. So it would be a middle ground between the current state in dynamic and static linking.

      https://www.technovelty.org/c/position-independent-code-and-x86-64-libraries.html

    • ganonmJan 2018

      You may want to consider using 'stamp files'. These are just empty files created via 'touch' to serve as a timestamp that Make can use to determine if a target needs to be rebuilt if the target doesn't correspond to an actual file in the build directory. This is useful for build targets such as running docker-compose build.

      See https://www.technovelty.org/tips/the-stamp-idiom-with-make.html

    • AceJohnny2Jan 2012

      While not as straightforward as on Windows (which isn't developer oriented), it's possible on Linux and standard on most distributions (just look at all the -dbg packages of debian-based distributions). A little googling found these instructions involving objcopy to separate debug symbols:
      http://www.technovelty.org/code/debug-info.html

    Related

    Ian Bickingblog.ianbicking.org107 people

    Firefox Was Always Enough

    Ian Bicking
    Personal · last shared 2026
    GNOME Blogsblogs.gnome.org490 people

    AirPods fast connect security vulnerability

    GNOME Blogs
    Company · last shared 2026
    Tomsciitomscii.sig7.se36 people

    De-smarting the Marshall Uxbridge

    Tomscii
    Personal · last shared 2026
    Chris Wellonsnullprogram.com295 people

    Why Aren't There C Conferences?

    Chris Wellons
    Personal · last shared 2026
    Arm Community Blogcommunity.arm.com147 people

    An update on GNU performance

    Arm Community Blog
    Company · last shared 2025
    Collabora Blogcollabora.com129 people

    Matt Godbolt sold me on Rust by showing me C++

    Collabora Blog
    Company · last shared 2026
    Zwischenzugszwischenzugs.com66 people

    Things I Wish I'd Known About Bash

    Zwischenzugs
    Personal · last shared 2026
    Kernel.org Peoplepeople.kernel.org71 people

    How many kinds of USB-C to USB-C cables are there?

    Kernel.org People
    Publication · last shared 2026