35 comments

[ 1.9 ms ] story [ 91.3 ms ] thread
looks interesting. what's the difference between this with glibc/musl/etc.
Well, it's not a libc (although it seems to contain one).
Well, it seems to wrap one, prefixing the functions with 'tb_'.
Only wrap the functions for libm now, but most of libc functions have been implemented.

And will call them if some libc functions are not supported in the current toolchain.

In fact, it's more similar to glib for some modules.
The bits I glanced in the HTTP library at looked surprisingly similar to PJSIP.
Needs GUI support and statistics support.

Another rewrite of malloc() and string utils is not that useful.

I appreciate the licenses folder but could you add that information to the readme as well? It's useful sometimes to gather all the information I need about a project in the "readme" at least for me, just the names of the licenses and the files they affect could work if it's not too much trouble, but even just naming the licenses works. Thank you! :)
Nice straight forwardness in this lib - love the async stuff for url downloads/access.. its modern.. its C.. its confusingly normal!
Thought so too, but then I took a look at the code.
Anything in particular you could point out?
It looked pretty clean to me as well.

Strange that they don't use trailing commas in aggregate initializers though.

Please don't post shallow dismissals like this to HN. Substantive critique is welcome. For example, if you told us specifically what you noticed in the code, and what weaknesses it has and why, then we would all learn something.
Looks like a comprehensive and mature personal toolbox, which one would accumulate over years of working on C projects. Not exactly easy to reuse due to the lack of documentation and other reasons, but totally worthy of sharing nonetheless. A very interesting read.
It's actually well documented, it's just that it's in Chinese
This wins the "Fucking Sweet" award for being hypothetically useful. In reality... not so much.
Why do you think it's not useful in reality?
On the contrary, my opinion of it is very boring but very useful.

It's the sort of thing one inevitably ends up with after enough C development, but this looks much more complete than average.

It's not all that well documented, from what I saw.
Silly project of unhealthy mind.

Seems the author has put together random available libs implementations and "branded" them. That's all.

Which implementations were used? Which versions? What are the changes done to them? Which backdoors were added? :)

It's like this: http://img.tyt.by/n/it/0e/a/91202j.jpg

> random available libs

What libs are these specifically?

libc, libm, some boost pieces (asio, probably some more), zlib...

That's just from reviewing front pages of github repo and official site.

Which means you didn't really read the source code, this is not a collection of other available libraries. Boost ASIO is C++, this is a C library, they only share the name as they're both implementing async IO. Code in the libc/libm folder isn't a rip of from somewhere else.
Yeah, excellent.

You may want to read some code before making derogatory comments based on basic name collisions. asio doesn't imply boost, nor is there a single libm out there.

And this is an issue why? Some of us don't want a boost dependency.
It's great that someone took the time to curate the list. But maybe it'd be better as one of those awesome-X style list of actual repos. With all of these libraries distributed as a mega-lib, it just seems like a bit of a junk drawer.
I haven't taken much time to read the source, but it might be a good idea to break some pieces off into their own repos, perhaps with a required 'tbox_core' type lib.

Otherwise it's...eminently useful, and boring in a good way.

I just cloned the repository build it and did some tests with asio_httpd (and found a possible memory leak/fragmentation), overall it's well designed and coded. To build it I went to the xmake repository and through it also found this small and performant network library https://github.com/caikelun/libsvx .

Thank you for release this nice and util library !

The library looks neat but I'm horrified that he says "optimizates"... repeatedly. That is not a word. The word is "optimizes". The English pedant in me is having trouble getting past that.
Judging by the site and the readme, it makes sense to assume that English is not the author's native language... It would make more sense to judge by the quality of the universal language there (C) and not half the readme (which can be easily fixed with a PR).
The English section of the readme looks like it's a more-or-less literal translation of the Chinese section, so I think we can forgive a little spelling when it's clear his native language isn't English.
well, the coder is at least saying "optimizates", I have no clue what I would say "optimizes" in chinese, he is way better off than me!
Sorry, my English is poor, I will try to fix some grammar errors
No problem. Sorry, I didn't realise English was your second language. Nice work on the library.
It's a little boring to see 'tb_*' wrappers such as 'tb_void_t', why not the standard way? Also I don't like xmake compares to premake.