jcoffland

Joined 11 years ago

Karma
4,419
Submissions
1,652
Member since
Jan 29
I started contracting software development in 2002. Mainly I develop embedded systems code (in C) and simulation systems (in C++). I've been coding for the Folding@home project since 2007 and have been working on an Open-Source 3 axis CNC simulator called CAMotics since 2011.

* 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.

View on Hacker News

Recent submissions

Comment · 6 years ago
Comment · 6 years ago
This article concurs. https://lwn.net/Articles/810414/ io_uring was first added to the mainline Linux kernel in 5.1.
Comment · 6 years ago
There isn't any open source license that prevents me from not liking it either.
Comment · 6 years ago
Maybe I just missed this but can anyone tell me what kernel versions support io_uring. I ran the following test program on 4.19.0 and it is not supported:

    #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;
    }
Comment · 6 years ago
Right, but they must retain the original copyright notices and provide the source code. I'm asking the person who bought the software to verify if this is the case.

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.

Comment · 6 years ago
Sorry, but I love caviar. In fact any sort if fish roe is good. It does not have to be expensive. In Russia they eat fish roe/caviar on buttered bread for breakfast. It's really good.
Comment · 6 years ago
I had the same experience. I called AirBnB and they acted like it was a really strange occurrence and they would look into it. My review never appeared on the host's page. I have zero trust in AirBnB.
Comment · 6 years ago
One person has died in the US. It's not time to panic. I expected more logical comments here.
Comment · 6 years ago
> it's a another red-haired woman

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.

Comment · 6 years ago
No closed loop stepper support at this point. We are taking about making a driverless version of the Buildbotics controller which you could pair with any external driver or closed loop steppers.
Comment · 6 years ago
By definition, most people don't need to worry about becoming famous and its consequences.
Comment · 6 years ago
An LASER cutter is a really productive device to have around. It's very easy to create 2D parts.

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.

Comment · 6 years ago
We play that too. Bluetooth or crazy.
Comment · 6 years ago
I believe this has to do with which Akamai server ends up handling the page request.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton