Live data from Hacker News

Viewing profile — mrkline

mrkline

HN member
Joined
Tue, Feb 21, 2017, 12:24 AM UTC
HN karma
371
Public activity
32 items

About mrkline

I write software, and occasionally ramble at http://bitbashing.io/

Recent public activity

  1. comment
    Comment #39137916

    That's my main goal - and Rust seems like the language where we can have our cake and eat it too! The standard library has some amazingly performant data structures and algorithms.…

  2. comment
    Comment #39137555

    Turns out we regularly play flight sims together on weekends, but didn't know about each others' software misadventures - small world, isn't it? If the reason I blogged about my co…

  3. comment
    Comment #39137468

    The article got me in touch with one of the hyper devs, and we had a very friendly conversation that taught me a lot. If questioning some design decisions and calling a marketing b…

  4. comment
    Comment #39137399

    > If a library has 100k lines of code but the parts you use are only 1k lines of code then why is that worse than a library with 1k lines of code? There's nothing wrong with not us…

  5. story
  6. story
  7. comment
    Comment #37441254

    - Like others have said, both malloc()/free() touch a lot of global state, so you either have contention between threads, or do as jemalloc does and keep thread-local pools that yo…

  8. comment
    Comment #37437239

    Go's GC is hardly state of the art.

  9. comment
    Comment #37436097

    It's great! But there's nothing about it that requires futures. It really annoys me that something like this isn't built-in: https://github.com/mrkline/channel-drain

  10. comment
    Comment #37436037

    > Async/await was a terrible idea for fixing JavaScript's lack of proper blocked threading that is currently being bolted onto every language. As fun as it is to hate on JavaScript…

  11. comment
  12. comment
    Comment #37435894

    Hoare Was Right. (But if you're only firing up a few tasks, why not just use threads? To get a nice wrapper around an I/O event loop?)

  13. comment
    Comment #37435853

    > The lifetime of an Arc isn’t unknowable, it’s determined by where and how you hold it. In the same sense that the lifetime of an object in a GC'd system has a lower bound of, "as…

  14. story
  15. story
  16. story
  17. comment
    Comment #14000085

    Hopefully that fixes it. Sorry I suck at CSS.

  18. comment
    Comment #13999743

    Is it better now?

  19. story
  20. comment
    Comment #13740795

    You're really making a bunch of uncharitable assumptions about our situation. First, you assume that this behavior isn't well understood, well documented, and even expected in my o…

  21. comment
    Comment #13721885

    I would _love_ to write our firmware in Rust, but that's a much bigger sell than moving from C to C++.

  22. comment
    Comment #13721877

    I don't follow. If an allocator is optimized for our needs (i.e., allocating everything up front and never freeing), and is easier to set up than the general-purpose allocator in n…

  23. comment
    Comment #13695582

    IIRC, the concern was in the details of newlib's allocator. Its sbrk looks for a linker symbol, then starts slicing memory off of that address. There were worries that unless we we…

  24. comment
    Comment #13694044

    Great! But when you have hard timing requirements measured in microseconds, you generally need some fine-grained control over the instructions the CPU ends up running. All the knob…

  25. comment
    Comment #13694012

    Great points. In our cases, these objects were few in number and were accessed infrequently through a pointer, so I don't think there's much to be concerned about. Avoiding unneces…