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.
Web++: A C++ Web Framework
👉 Life advises from the creator of C++
👉 Life advises from the creator of C++:
1. Don't over specialize
2. Don't be too sure that you know the future
3. Be flexible
4. Remember that careers and jobs are a long-term thing: Too many young people think they can optimize something and they find they've spent a couple of years or more specializing in something that may not have been the right thing and in the process they burn out because they haven't
5. spent enough time building up friendships and having a life outside computing: I meet a lot of "junior geeks" that just think that the only thing that matters is the specialty of computing, programming, or AI, or graphics, or something like that and, well, it isn't and, the rug might be pulled under them for that; and if they do nothing else, well
6. if you don't communicate your ideas you can just as well do Sudoku: You have to communicate and a lot of sort of caricature nerds forget that. They think that if they can just write the best code the can change the world; but you have to be able to listen, you have to be able to communicate with your would-be users and learn from them, and you have to be able to communicate your ideas to them. So you can't just do code you have to do something about culture and how to express ideas and I mean I never regret the time I spent on history and on math; math sharpens your mind, history gives you some idea of your limitations, and on what's going on in the world, and so,
7. Don't be too sure.
8. Take time to have a balanced life.
9. Be ready for the opportunity: I mean a broad-based education of odd-based skill-set, which is what you build up when you educate, you're patiently building a portfolio of skills, means that you can take advantage of an opportunity when it comes along; you can recognize it sometimes, we have lots of opportunities but a lot of them we either can't take advantage of or we don't notice. It was my fairly broad education, I've done standard computer science, I've done compilers, I've done multiple languages, I think I knew two dozen at the time, and I have done machine architecture, I've done operating systems, and that skill set turned out to be useful.
1. Don't over specialize
2. Don't be too sure that you know the future
3. Be flexible
4. Remember that careers and jobs are a long-term thing: Too many young people think they can optimize something and they find they've spent a couple of years or more specializing in something that may not have been the right thing and in the process they burn out because they haven't
5. spent enough time building up friendships and having a life outside computing: I meet a lot of "junior geeks" that just think that the only thing that matters is the specialty of computing, programming, or AI, or graphics, or something like that and, well, it isn't and, the rug might be pulled under them for that; and if they do nothing else, well
6. if you don't communicate your ideas you can just as well do Sudoku: You have to communicate and a lot of sort of caricature nerds forget that. They think that if they can just write the best code the can change the world; but you have to be able to listen, you have to be able to communicate with your would-be users and learn from them, and you have to be able to communicate your ideas to them. So you can't just do code you have to do something about culture and how to express ideas and I mean I never regret the time I spent on history and on math; math sharpens your mind, history gives you some idea of your limitations, and on what's going on in the world, and so,
7. Don't be too sure.
8. Take time to have a balanced life.
9. Be ready for the opportunity: I mean a broad-based education of odd-based skill-set, which is what you build up when you educate, you're patiently building a portfolio of skills, means that you can take advantage of an opportunity when it comes along; you can recognize it sometimes, we have lots of opportunities but a lot of them we either can't take advantage of or we don't notice. It was my fairly broad education, I've done standard computer science, I've done compilers, I've done multiple languages, I think I knew two dozen at the time, and I have done machine architecture, I've done operating systems, and that skill set turned out to be useful.
For every piece of code I write for this project, I have to read a bunch of half-written article, read a bunch of open source projects' sources, watch probably watch a bunch of youtube videos which end up being useless most of the time!
For every step forward I take in this project, 10 new rabbit holes show up that need enormous amount of research.
But I do learn a lot doing this.
For every step forward I take in this project, 10 new rabbit holes show up that need enormous amount of research.
But I do learn a lot doing this.
👍4⚡1🔥1
