4,419 karma · joined January 29, 2015
* http://cauldrondevelopment.com/ * http://folding.stanford.edu/ * http://camotics.org/ * http://joe.coffland.com/
I live in Petaluma, CA. If you're in the area, send me an email. I'm always up for a coffee or a beer and interesting conversation.
#include <stdio.h>
#include <stdlib.h>
#include <sys/utsname.h>
#include <liburing.h>
#include <liburing/io_uring.h>
static const char *op_strs[] = {
"IORING_OP_NOP",
"IORING_OP_READV",
"IORING_OP_WRITEV",
"IORING_OP_FSYNC",
"IORING_OP_READ_FIXED",
"IORING_OP_WRITE_FIXED",
"IORING_OP_POLL_ADD",
"IORING_OP_POLL_REMOVE",
"IORING_OP_SYNC_FILE_RANGE",
"IORING_OP_SENDMSG",
"IORING_OP_RECVMSG",
"IORING_OP_TIMEOUT",
"IORING_OP_TIMEOUT_REMOVE",
"IORING_OP_ACCEPT",
"IORING_OP_ASYNC_CANCEL",
"IORING_OP_LINK_TIMEOUT",
"IORING_OP_CONNECT",
"IORING_OP_FALLOCATE",
"IORING_OP_OPENAT",
"IORING_OP_CLOSE",
"IORING_OP_FILES_UPDATE",
"IORING_OP_STATX",
"IORING_OP_READ",
"IORING_OP_WRITE",
"IORING_OP_FADVISE",
"IORING_OP_MADVISE",
"IORING_OP_SEND",
"IORING_OP_RECV",
"IORING_OP_OPENAT2",
"IORING_OP_EPOLL_CTL",
"IORING_OP_SPLICE",
"IORING_OP_PROVIDE_BUFFERS",
"IORING_OP_REMOVE_BUFFERS",
};
int main() {
struct utsname u;
uname(&u);
struct io_uring_probe *probe = io_uring_get_probe();
if (!probe) {
printf("Kernel %s does not support io_uring.\n", u.release);
return 0;
}
printf("List of kernel %s's supported io_uring operations:\n", u.release);
for (int i = 0; i < IORING_OP_LAST; i++ ) {
const char *answer = io_uring_opcode_supported(probe, i) ? "yes" : "no";
printf("%s: %s\n", op_strs[i], answer);
}
free(probe);
return 0;
}I don't mind so much someone selling my software on a CD. What I do mind is that they changed the name to trick the buyer. Perhaps I should be using a different license.
Why is it significant that this post was from a woman or that she has red hair? This comment sounds like a backhanded compliment, at best.
Another way to go Open-Source for a lot less money (~$1500) is to buy a K40 on EBay and refit it with a Buildbotics controller.
The other day I needed a faceplate for an outlet with a circular 240v US dryer plug and a two port 120v US plug. I couldn't find anything at the hardware store that would work but I found drawings for the junction box and plugs online. After an hour or two with LibreCAD and CAMotics, I was ready to LASER cut my faceplate from 1/4" poplar. I was really happy when it fit exactly the first time. Now I keep looking behind the dryer to admire my handiwork.
Disclaimer: I'm a creator of CAMotics and Buildbotics.
It can be quite frustrating when you make an observation about someone's comment only to have them automatically assume you were in disagreement. It's good to assume a generous interpretation. Since tone is so hard to gauge on the Internet, discussions quickly devolve otherwise.
After all these years, we are still at it. New methods are regularly evaluated and the simulation software is being refined all the time.
Check out the https://buildbotics.com CNC controller and the https://CAMotics.org CNC simulator. Both are Open-Source. These are my projects.