These are the C++ projects that I'm currently working on. At this time, the documentation serves as an early preview of the projects I'm working on, which I eventually intend to post on GitHub or Codeberg as open source (once I've decided which repository and license to use, and I'm sufficiently satisfied with the basic overall production-readiness of my libraries).
A specialized C++ class that stores an internet hostname with fully transparent and seamlessly-interchangeable support for UTF-8 and Punycode ("xn--" prefixed) hostnames that are internationalized internet domain names. The rhostname class can also use and produce hostnames in DNS RR format, which is a binary packet-level format that's used by DNS resolvers, DNS daemons, and DNS packet analysis software.
This project will provide a C++ class that stores an eMail address, but with a variety of helper methods that can be used to easily parse and validate an eMail address, some of which will be useful for mail servers, eMail client software, etc.
This is an ambitious project that will be an overhaul of the fx.textmode class (originally named JScreen) that I created in Java many years ago (the Java version was nearly complete, and was fully functional except for some transactional functionality I was working on, but then I had to abandon it because Oracle broke backward compatibility by introducing significant changes to the way Java is compiled that is not consistent with the write-once-run-anywhere mantra; this is one of the major reasons I moved over to C++).
Including OpenSSL's TLS support for encrypted socket communication is essential for this class. Without it, adding encryption will just take everything back to square one because OpenSSL is not a C++ Object-Oriented library; it's a C library (one of the goals of the rsocket class is to provide socket I/O in a complete Object-Oriented fashion).
Some additional features, such as threadgroups and CPU affinity settings, are also planned
A collection of static methods that facilitate a variety of general-purpose computer programming needs
Please do not rely on the above links to the documentation as these are in a state of flux with some significant structural changes planned.
Return to home page...