Hacker Newsnew | past | comments | ask | show | jobs | submit | chrisohara's commentslogin

> Io in zig is for “things that can block execution”. Things that could semantically cause a yield of any kind. Allocation is not one of those things.

The allocator may yield to the OS when requesting or releasing memory (e.g. sbrk, mmap, munmap)?


I don't find that a particularly compelling argument in this case, because so can accessing any memory address if it's not currently swapped in.


Yielding in this context means to a different “thread” in your context, not the OS. If you want to express “this is a point where the program can do something else” it is a yield. If you block and can’t switch to something else… it is not.

So if you’re using an API like mmap like that you should think of it as IO (I don’t think you can, but am not sure).


the page allocator which is the root of many allocators calls mmap. of course the fixed buffer allocator does not.


Sherlock (sherlockscore.com) | Full-stack (Rails/React) | REMOTE | Full-time | $90k – $150k

Sherlock is changing the way SaaS businesses understand and operationalize their product engagement data. Built by a team of SaaS veterans, we are the only product engagement scoring application on the market today. We have found success with our early customers and are ready to expand the team to accelerate our growth. We offer a competitive salary and benefits and are excited to build out the team further.

Email chris@^ or apply here: https://angel.co/sherlock-4/jobs/488709-full-stack-engineer


I think it's referring to the fact that certain details (traffic, DNS requests, timestamps, IP addresses) are logged. Ideally you want a service that does not log anything, that's why "Yes" is red.


I just finished a C library for string interning: https://github.com/chriso/intern

There are also some bindings for Go: https://github.com/chriso/go-intern


Tagging would be the next addition. I added the ability to search for keys by prefix quite efficiently, so provided one stored keys like "requests:server1", "requests:server2", one could easily run the following

    requests = 0
    for key in gauged.keys('requests:'):
        requests += gauged.aggregate(key, Gauged.SUM, start=-Gauged.WEEK)


Tagging needs to be multi-dimensional to be effective (e.g., host=X, device=Y, interface=Z, etc.)


SEEKING WORK

Full-stack developer from Sydney, Australia. I'm a Javascript (Node.js), Python and C expert.

http://github.com/chriso

cohara87 (at) gmail.com


We built something similar in node.js (as express/connect middleware)

http://github.com/sydneystockholm/imgr


Author here.

Still active, although development has slowed down.

If you have any questions or issues just submit an issue @ Github and I'll help asap.


Why not use harmony generators?

Generators are provided by V8, don't require an external fibers extension (i.e. hack), and will be available in the next node stable via `node --harmony-generators`.

Here's an example for those interested: https://github.com/visionmedia/co


node-fibers is under the hood, and works on the actual node stable. I hope ES6 generators -when stable- will provide similar tools, so wait.for will be based on ES6 generators.



Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: