Unlike many of my “journey” post series, I actually have to complete most of this. It’s not experimenting for the sake of experimenting. It’s a need which keeps coming around every year. Those of you who have read “The Minimum You Need to Know About Qt and Databases” ISBN-13: 978-0-9823580-5-4 have an inkling about this. Please allow a thumbnail sketch for those less well read. Whenever I’m experimenting with/trying to learn some new tools there … Qt – Printing – Taxes — Pt. 1Read more
Linux
Speeding Up Libre Office 6
I’ll never understand what goes through the minds of those who plan LibreOffice. I guess they wish to size it to run on an idiot phone instead of a real computer. Maybe they are chasing the Raspberry Pi market trying to make everything work in under 2Gig of RAM. They are really killing the desktop market doing that. Featured image by Free-Photos from Pixabay Big Files = Big Problems This weekend I started applying the … Speeding Up Libre Office 6Read more
A TCP/IP Software Appliance
In the very near future, every viable business class operating system will incorporate a TCP/IP Software Appliance. This is not a firewall. What we have today serving as firewalls may or may not server any purpose in the future, but one thing is for certain, we cannot solve our security problems via any hacks to our existing socket and IP libraries nor can security be improved by any future tweaks to SSL/TLS. I have been … A TCP/IP Software ApplianceRead more
Qt and USB – Pt. 2
Today’s post will be the first of at least two posts about identifying your USB device. I started by adding the following code. out << “ProductID: ” << desc.idProduct << endl; r0_status = libusb_open(dev, &hHandle); if (r0_status != LIBUSB_SUCCESS) { out << “Error ” << r0_status << ” opening USB device. Error text: ” << libusb_error_name(r0_status) << endl; } else { unsigned char serialNumber[255] = { }; unsigned char vendorName[1024] = { }; unsigned char … Qt and USB – Pt. 2Read more
Checking return values
Yes, I had to post one more, hopefully shorter, rant on logger.c. This has to do with “checking return values” in OpenSource code. #ifndef MSG_NOSIGNAL # define MSG_NOSIGNAL 0 #endif if (sendmsg(ctl->fd, &message, MSG_NOSIGNAL) < 0) { logger_reopen(ctl); if (sendmsg(ctl->fd, &message, MSG_NOSIGNAL) < 0) warn(_(“send message failed”)); } Code like this is rampant in OpenSource. It passes the quick and dirty teen age “code review” but it is not production quality. If Linux and the … Checking return valuesRead more