HN user

qdot76367

4,465 karma

Kyle Machulis

Arctic Fox, Teledildonticist, Cube

kyle at nonpolynomial dot com

Founder/CEO, http://www.nonpolynomial.com Project Lead, http://buttplug.io

http://www.github.com/qdot

Personal Social Media: x: http://www.x.com/qdot masto: https://buttplug.engineer/@qdot bsky: http://bsky.app/profile/buttplug.engineer

Project Social Media: x: http://www.x.com/buttplugio masto: https://buttplug.zone/@buttplugio bsky: http://bsky.app/profile/buttplug.io

[ my public key: https://keybase.io/qdot; my proof: https://keybase.io/qdot/sigs/_okfbrkwvHkwkfCtYBGwY6DPWBQiBbJ3igUbNufA-lM ]

Posts149
Comments342
View on HN
ggtribune.com 12d ago

I Think I Know How to Solve the Video Game Industry's Problems

qdot76367
1pts0
support.claude.com 2mo ago

Anthropic now requires Pro Plans to enable/purchase extra usage for Opus

qdot76367
13pts5
news.ycombinator.com 3mo ago

Ask HN: Anthropic changing billing for third-party harnesses for Teams Accounts?

qdot76367
2pts0
cory.news 5mo ago

Outcome Engineering

qdot76367
3pts0
www.theverge.com 8mo ago

A bunch of hackers freed the Kinect from the Xbox

qdot76367
2pts1
blog.fsck.com 1y ago

That was easy: A keyboard for vibe coding

qdot76367
2pts0
www.pcgamer.com 1y ago

Furry engineer explains the nightmare that is the underlying complexity of USB-C

qdot76367
11pts3
www.theregister.com 1y ago

A cheap barcode scanner helped fix CrowdStrike'd Windows PCs in a flash

qdot76367
103pts29
nonpolynomial.com 2y ago

How to Beg/Borrow/Steal Your Way to a Cross Platform Bluetooth LE Library

qdot76367
3pts0
www.cnn.com 3y ago

Elon Musk and other tech leaders call for pause in ‘out of control’ AI race

qdot76367
7pts2
syncbot.com 3y ago

The Design of the T16 Potentiometer for the Syncbot Sex Toy

qdot76367
1pts0
github.com 3y ago

ButtFish – Transmit Morse Code of chess moves to your butt

qdot76367
713pts173
hallofdreams.org 3y ago

Getting the World Record in Hatetris

qdot76367
2pts0
twitter.com 4y ago

Disney Movie Ad on Firefox Upgrade Front Page

qdot76367
2pts0
nonpolynomial.com 4y ago

Haptics rerouting for fun and no profit

qdot76367
39pts3
notes.variogr.am 4y ago

A Singular Christmas

qdot76367
2pts0
github.com 4y ago

Let's Encrypt Root CA Expiration Causing Issues in Electron Apps

qdot76367
17pts3
bananamafia.dev 4y ago

Security Analysis of Satisfyer Sex Toys

qdot76367
61pts42
bananamafia.dev 5y ago

Security Analysis of Satisfyer Sex Toys

qdot76367
3pts0
nonpolynomial.com 5y ago

Buttplug (Sex Toy Control Library) Hits v1 Milestone

qdot76367
319pts128
www.aljazeera.com 5y ago

Etch-a-Sketch Maker to Acquire Rubik's Cube

qdot76367
1pts0
github.com 5y ago

Noisefunge: A music programming environment in Befunge

qdot76367
55pts14
www.youtube.com 5y ago

Commodore 64 Controlled Vibrating Magic Wand

qdot76367
1pts0
www.zdnet.com 5y ago

Mozilla expected to extend its Google search deal

qdot76367
10pts5
techcrunch.com 6y ago

Medtronic is sharing its portable ventilator design specifications and code

qdot76367
1pts0
arstechnica.com 6y ago

Let’s Encrypt discovers CAA bug, must revoke customer certificates

qdot76367
3pts0
gizmodo.com 6y ago

A Hacker Talks Security, Consent, and Why He Hacked a Buttplug

qdot76367
42pts6
www.bbc.com 7y ago

'Parliamentary bible' Erskine May available online for free

qdot76367
2pts0
www.techspot.com 7y ago

Microsoft warns that Windows 10 update will break some Bluetooth devices

qdot76367
4pts0
smallcultfollowing.com 7y ago

Rust Async/Await Implementation Status Report

qdot76367
2pts0

Ugh, continuing the dialog of Levy, Pearson, and Realbotix, all of whom are violently overquoted at this point. Levy’s original thesis was boring and heteronormative when it was published almost 20 years ago, and is worse while not having been redeveloped at all now. Pearson is also well know for “women will implant ipods in their breasts” and what not, he’s the futurist you can get to say anything for a good daily mail quote. Realbotix basically exists to get press at CES and that’s about it.

Glad that the article does take the whole subject to task but I’m just kinda ready to move on to something more useful. It’s a continued media engagement over things that were vacuous to begin with.

(Granted I work in the industry so this is also a case of massive overexposure heh.)

There’s interesting stuff happening in sex tech, but sex with robots sure ain’t it.

UltimateAntiCheat 2 years ago

I mod games to add buttplug.io support.

Most of my users seem to agree that yes, it is more reward than just playing the game.

With repos titled "buttplug-rs-ffi" and “buttplug-xamarin-apps,” it seems like you're trying to make sure every platform knows just how much you care about "intimate hardware control," but really, are you just trying to make it impossible for anyone to look you in the eye?

Keep doing you, Buttplug; just remember, the internet is forever, and so is that awkward curiosity about your profile!

This isn’t a roast, it’s just correct

I really wish more headsets had eye tracking available, I've wanted to play with UX for multi-video/image gooning interfaces with gaze direction. Unfortunately headsets with that available built-in aren't cheap and the DIY solutions are still somewhat tedious.

Would love to discuss these use cases more though, feel free to contact me via one of the methods in my HN bio!

Also, if you're curious about web focused solutions to these issues, this is the perfect time to bring up a friend of our project, XToys: https://xtoys.app.

It's a fully web based (though closed source) toy control application that supports about as many devices as I do, plus a bunch of others that I don't, and has Blockly scripting and WebRTC for remote sessions.

It's neat as hell.

Oh lord do I have some stories there. Way back in the nascent Quantified Self days, I ran http://openyou.org, which was basically "Buttplug for consumer health devices" (I mean I guess Buttplug is Buttplug for a specific type of consumer health device but, well, you get the idea).

There's a god damned heart rate profile standard in the bluetooth spec AND YET I'm not sure I ever actually worked on a device that used it. :|

it also really feels like you use 1000 lines of code where 10 will do.

Ok. Let's break this down.

The library currently handles support for 523 different devices from at least 40-50 manufacturers. (https://iostindex.com/?filter0Availability=Available,DIY&fil...).

These devices can connect over bluetooth le, usb (both raw and HID), serial, or one of several network protocols. We support windows, mac, linux, android, iOS, and WASM/web, each having their own HW APIs (or in the case of the mac/iOS crossover, specializations within the API). On several of these platforms there are also massive variations in bluetooth radios, which can cause a huge array of issues.

Each device may have variable actuators, or may also have sensors to take input. They may also require their own keepalives or other specializations specific to their protocol or brand to manage connections.

We then have to generalize commands to make life easier on developers. They send us those generalized commands, from whatever language they like since we abstract into an IPC system and provide a language-agnostic protocol spec, from whatever interconnect they want to use because our connector system is also violently flexible, and we have to convert them into the correct protocol and ship that over the correct bus.

So, since you're curious about why your solution for one device from one brand running through a web browser differs from my library, there you go. It's just a matter of different goals.

Now, if you can do all that in 10 lines, fantastic, I look forward to your library as competition in the future. :3

While I'm glad you've found a solution that works for your case, I can't tell you why you were seeing latency in our library that wasn't also in the browser. I'm well aware of the JS-to-IPC-to-hardware chain in the browser (I'm the ex-device interfaces lead on firefox, worked with some of the chrome engineers on the development of the hardware focused WebAPIs too) and it's even more complicated than ours.

Depends on where I'm sending the CV! It's always on there in some form, but I can recontextualize the library as a "haptic device management system" if necessary. I've also just basically repeated the design of the system verbatim in architecture focused interviews before.

You're absolutely correct! I mention this elsewhere in the documentation even. Buttplug really is just a userland HID manager at its core. The only specialized part is the context of commands we send to devices.

The original plan (and it may still happen, who knows) was to figure out a way to chop off that top message layer and create a generalized system for doing exactly what you've said. That was going to be called 'deviceplug', and it's why btleplug is under the 'deviceplug' org on github (https://github.com/deviceplug/btleplug). I've just never gotten around to it because I'm not quite ready for the additional support burden yet.

All that said, Buttplug is also a haptics experimentation project aimed at finding out what it's like to create a way to communicate about a very specific type of touch via technology and programming. There are specific goals within the project related to that, but the amount of tech required to actually pull that off means I end up with what basically amounts of a fleet management framework. :)

I don’t really have a ton of interest in maintaining a ble library, it’s just required for my main library. Theres a lot of weirdness around Bluetooth implementations between platforms and now I’m on the hook to either support them or tell users nope. I’d rather be doing neither and just be the user or someone else’s nice cross platform Bluetooth rust library. (Luckily we do have some fantastic contributors)

1000s at least. We don’t have any detailed metrics because the data privacy issues there are… a lot, but going by download numbers and knowledge of platforms and some of the larger applications, it’s a decent number.