{"id":20774972,"url":"https://github.com/qdot/qdot","last_synced_at":"2026-03-19T17:28:17.770Z","repository":{"id":66557595,"uuid":"438818073","full_name":"qdot/qdot","owner":"qdot","description":"Github Profile README","archived":false,"fork":false,"pushed_at":"2025-01-12T22:13:21.000Z","size":238,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-11T04:24:38.271Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qdot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-12-16T00:59:55.000Z","updated_at":"2025-01-12T22:13:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"5a4dc028-7623-4d49-840c-0c3025036d16","html_url":"https://github.com/qdot/qdot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/qdot/qdot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdot%2Fqdot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdot%2Fqdot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdot%2Fqdot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdot%2Fqdot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qdot","download_url":"https://codeload.github.com/qdot/qdot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdot%2Fqdot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29456249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T21:29:27.764Z","status":"ssl_error","status_checked_at":"2026-02-14T21:28:11.111Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T12:34:03.856Z","updated_at":"2026-02-14T21:32:31.541Z","avatar_url":"https://github.com/qdot.png","language":null,"funding_links":["https://github.com/sponsors/qdot","https://github.com/sponsors/qdot)!","https://patreon.com/qdot","https://patreon.com/poor_life_choices","https://ko-fi.com/qdot76367"],"categories":[],"sub_categories":[],"readme":"# About Me\n\n\u003cimg src=\"https://github.com/qdot/qdot/blob/main/qdotpixelfox.png?raw=true\" align=\"right\"\u003e\n\n[![Twitter: qDot](https://img.shields.io/twitter/follow/qdot?style=social)](https://twitter.com/qdot)\n[![Mastodon: qDot](https://img.shields.io/mastodon/follow/110376500076540204?domain=https%3A%2F%2Fbuttplug.engineer\u0026style=social)](https://buttplug.engineer/@qdot)\n[![GitHub qdot](https://img.shields.io/github/followers/qdot?label=follow\u0026style=social)](https://github.com/qdot)\n[![Linkedin: kylemachulis](https://img.shields.io/badge/-kylemachulis-blue?style=flat-square\u0026logo=Linkedin\u0026logoColor=white\u0026link=https://www.linkedin.com/in/kylemachulis/)](https://www.linkedin.com/in/kylemachulis/)\n\n[![Youtube: Buttpluggin' With qDot](https://img.shields.io/youtube/channel/subscribers/UCKLmntfj3NmM2E3_LB3qs-w?label=Buttpluggin%27%20With%20qDot\u0026style=social)](https://youtube.buttplug.io)\n[![Youtube: Poor Life Choices](https://img.shields.io/youtube/channel/subscribers/UCEOH7Ne1LflFosQTpzM0ZrA?label=Poor%20Life%20Choices\u0026style=social)](https://www.youtube.com/channel/UCEOH7Ne1LflFosQTpzM0ZrA)\n![Twitch Status: qdotfm](https://img.shields.io/twitch/status/qdotfm)\n\nHi! I'm qDot (aka Kyle Machulis). I code all sorts of stuff, these days mostly in Rust.\n\nYou may know me from such open source projects as:\n\n* 🍑🔌 [Buttplug Intimate Haptics Control Library](https://github.com/buttplugio)\n* 💻 [blteplug Cross-Platform Bluetooth LE Library](https://github.com/deviceplug/btleplug)\n* ✋ [libnifalcon Novint Falcon Drivers](https://github.com/libnifalcon)\n* 🦊 [Various parts of the Firefox Web Browser](https://github.com/mozilla)\n* 🏥 [OpenYou Health/QuantifiedSelf Projects](https://openyou.org)\n* 📹 [OpenKinect Microsoft Kinect Drivers](https://github.com/openkinect)\n* ⌨️ [Deldo Emacs Teledildonics Package](https://github.com/qdot/deldo)\n* ❓ Who knows what else, I get up to a lot...\n\n# Code Streams\n\nInterested in watching me code? \n\nOr at least try to code while random people talk at me/make sounds play/other general types of chaos? \n\n[![Twitch: qdotfm](/twitch2.png)](https://twitch.tv/qdotfm) [I now do coding livestreams on Twitch!](https://twitch.tv/qdotfm) [![Twitch: qdotfm](/twitch2.png)](https://twitch.tv/qdotfm)\n\n# Ways to Hire Me or Sponsor My Work\n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://nonpolynomial.com\"\u003e\u003cimg src=\"https://github.com/qdot/qdot/blob/main/nonpolynomial-logo-final.png?raw=true\" width=\"200\" height=\"200\" alt=\"Nonpolynomial Logo\"\u003e\u003c/a\u003e\u003c/p\u003e\n\nI'm available for consulting in Haptics, VR, Virtual Worlds, hardware/driver development, and other topics via my company, [Nonpolynomial](https://nonpolynomial.com).\n\n| Service | Description |\n| --- | --- |\n| [![Github Sponsors](https://img.shields.io/badge/sponsor-30363D?style=for-the-badge\u0026logo=GitHub-Sponsors\u0026logoColor=#white)](https://github.com/sponsors/qdot) | If you like my work but are just interested in sponsoring instead of consulting, you can [sponsor me on github](https://github.com/sponsors/qdot)! There are tier levels with perks like stickers, credits in my youtube videos, and 1:1 video conferences! |\n| [![Patreon](https://img.shields.io/badge/Patreon-F96854?style=for-the-badge\u0026logo=patreon\u0026logoColor=white)](https://patreon.com/qdot) | If Patreon works better for you, I've got one for [my virtual world and DIY hardware (SFW) work](https://patreon.com/poor_life_choices), and one for [my Intimate Haptics (NSFW) work](https://patreon.com/qdot) |\n| [![Ko-Fi](https://img.shields.io/badge/Ko--fi-F16061?style=for-the-badge\u0026logo=ko-fi\u0026logoColor=white)](https://ko-fi.com/qdot76367) | If you're just interested in a one-off donation, [I've got a Ko-Fi page just for that](https://ko-fi.com/qdot76367), which is a great way to donate and also get stickers or other perks without having a recurring donation. |\n\n# Silly Github Profile Widgets\n\n[![trophy](https://github-profile-trophy.vercel.app/?username=qdot\u0026theme=onedark)](https://github.com/ryo-ma/github-profile-trophy)\n\n[![Github README Stats](https://github-readme-stats.vercel.app/api?username=qdot\u0026show_icons=true\u0026theme=midnight-purple)](https://github.com/anuraghazra/github-readme-stats/)\n\n# Art Credits\n\nProfile Pic by [Gavin](https://twitter.com/gavunimpressive)\n\nPixel Art Pic by [RaineDoe](https://twitter.com/rainedoe_)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqdot%2Fqdot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqdot%2Fqdot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqdot%2Fqdot/lists"}