Today, I managed to remove the old static routing system from the library and replace it with the new valve system (the same thing, but implemented better).
I benchmarked them and the new system even though it was significantly simpler to implement, it was faster.
I guess I tried to do lots of premature optimizations when I started the library, don't be like me :)
I benchmarked them and the new system even though it was significantly simpler to implement, it was faster.
I guess I tried to do lots of premature optimizations when I started the library, don't be like me :)
Media is too big
VIEW IN TELEGRAM
It's been a while since I lasted did one of these In-Terminal-Timelapses, so here's me working on IP Address class which is a wrapper for
Does these timelapses actually inspire you or am I wasting my time here? What do you think?
variant<ipv4, ipv6>.Does these timelapses actually inspire you or am I wasting my time here? What do you think?
Web++: A C++ Web Framework
Channel photo updated
AI generated logo for the framework; what do you think?
Some 60yrs ago, this was what some portrayed how 2022 would look like!
You're imagining the same stupid stuff about 60yrs from now that will never happen.
Just because you're going 100km/hr right now, doesn't mean you'll be going 100km/hr in the same direction 60yrs from now!
So stop worrying about AI taking your jobs and what not, we can co-exist with whatever we create too.
Humans are perfectionists; we will always be going through every little bit of things and re-create the wheel from scratch only to make it better; so no worries, you have time to re-do that project you've already done again and again until you can't make it better.
You're imagining the same stupid stuff about 60yrs from now that will never happen.
Just because you're going 100km/hr right now, doesn't mean you'll be going 100km/hr in the same direction 60yrs from now!
So stop worrying about AI taking your jobs and what not, we can co-exist with whatever we create too.
Humans are perfectionists; we will always be going through every little bit of things and re-create the wheel from scratch only to make it better; so no worries, you have time to re-do that project you've already done again and again until you can't make it better.
👍1
While I was re-implementing
These are IP addresses like
Currently the implementations of these functions do support the old deprecated way, so that means IPv6 address like
I did the same thing in the library at first, but now I removed that since the RFC explicitly says that the newly or updated implementations are not longer required to support this address type.
Also you can see the benchmarks of this two utilities compared against the Apple and Glibc implementations here, and here.
inet_pton and inet_ntop in the web++ library, I found that there's this thing called IPv4-Compatible IPv6 Addresses.These are IP addresses like
::1.2.3.4 or ::127.0.0.1 which are deprecated in (kinda) favor of IPv4-Mapped IPv6 Addresses which are represented like ::FFFF:1.2.3.4 and ::FFFF:127.0.0.1.Currently the implementations of these functions do support the old deprecated way, so that means IPv6 address like
::f0:1 will be shown as ::0.240.0.1.I did the same thing in the library at first, but now I removed that since the RFC explicitly says that the newly or updated implementations are not longer required to support this address type.
Also you can see the benchmarks of this two utilities compared against the Apple and Glibc implementations here, and here.
👍1
I managed to port (parts of) the customization point of Web++'s routing system to use the C++ proposed
I'm not sure it worth it though! What do you think?
std::tag_invoke Proposal Link
The issue on github
std::tag_invoke.I'm not sure it worth it though! What do you think?
std::tag_invoke Proposal Link
The issue on github
Web++: A C++ Web Framework
I managed to port (parts of) the customization point of Web++'s routing system to use the C++ proposed std::tag_invoke. I'm not sure it worth it though! What do you think? std::tag_invoke Proposal Link The issue on github
I managed to convert the old-style to the
Honestly, it wasn't that bad, but I wanted one idea for Customization Points not 2 different ways; I even found that
tag_invoke idea which is probably someday will be standardized.Honestly, it wasn't that bad, but I wanted one idea for Customization Points not 2 different ways; I even found that
tag_invoke comes short in customizing a function that takes a type that's not an argument; you'd have to use something like std::type_identity to send that type as an argument of the tag_invoke function.There are features that you add to your library/framework/web-app/application/tool/... that some day in the future you start to understand that that feature causes more harm than good.
For me, I'm having one of those days with one of my logging system's features that lets you add something to logs only if the application is compile using the debug features enabled. The feature itself is great, but the problem is the API is in the way of extending the library.
So, get rid of bad good things you made early before you rely on them too much.
