Git Product home page Git Product logo

buttfish's Introduction

ButtFish πŸ‘πŸŸ

Effortlessly transmitting Morse Code of chess moves to your butthole πŸ’


Wait what now?

If you haven't been following the chess news - (because why would you) - As of the last couple of weeks - (Monday September 5, 2022) there's been drama going on in the chess world.

During the Sinquefield Cup there was a chess match between 5-time world chess champion Magnus Carlsen - (basically the final boss of chess) - and another lower level chess player. No one expected Magnus to lose, but he did. After losing the chess match Magnus Carlsen withdrew from the tournament and posted a tweet saying "I've withdrawn from the tournament" and attached a meme video of Jose Mourinho saying "I prefer not to speak. If I speak I am in big trouble … and I don't want to be in big trouble." - Classic πŸ‘Œ.

The tweet was interpreted by the chess community as an accusation of cheating.

This chess drama has been ongoing for the last couple weeks with everyone making wild guesses on how the alleged cheating could have been done.

The wildest accusation is that the cheating player might have been using a Buttplug - sending him information about the best moves though his butthole

I'm not going to name the other player, google it I suppose. So far it hasn't been proven that he actually cheated, though he has received a lot of backlash already - so I assume this whole drama has been a huge pain in the butt for him already anyways. πŸ₯


Why?

This project is mostly a meme.

Firstly I didn't have much else to do this weekend, so it seemed like a fun thing to implement. I could not find any project making this kind of cheat possible. The closest mention I could find is Sockfish - A project by James Stanley where he implemented Stockfish in his shoes (or sock). I'm not entirely sure how he implemented it, or whether his implementation is open sourced.

So I started looking into the possibilities and I found the project Buttplug.io - the name of this project is not super inclusive of what it actually does - actually it connects to a huge amount of sex toys. See a full list here [nswf]. Other devices include Cockthings, so if you're not comfortable with putting Stockfish in your butthole, there's also the possibility of trying this with a Cockthing, and practically you'll be running CockFish.

Secondly, who else would possibly build this? I've created a Venn diagram to illustrate how rare the chances are someone would develop this.

venndiagram

As you can see by the diagram, if we'd have to wait for "the chosen one" with interests in all three fields, this project would never exist. So I decided that it should exist, so I made it.


Features

Connectivity

  • Discover Yeelight devices on your network
  • Manually connect with Yeelight devices on your network though IP or hostname
  • Discover Buttplug.io Capable devices on your network
  • Manually connect with Buttplug.io Capable devices though remote discover host address

Main

  • Read a Chess FEN string and determine the next best move
  • Encode the next best move into Morse Code
  • Send the encoded Morse Code to the connected device

Encoders

Config

  • End Position Only [Expert] By just knowing the end position, a serious chess player would know intuitively which piece belongs there. ~ Hikaru
    • appsettings.json -> EndPositionOnly -> true

Demo

Discovery

A demo of discovering devices on the network discovery

Manual

A demo of manually entering a Yeelight address manual

Side by side

A demo of a Yeelight connector running side by side with the application

sidebyside-yeelight.webm

Setup / Yeelight

To use a Yeelight, you must enable developer mode for your Yeelight. To do so, do the following:

  • Open Yeelight APP and go to β€œDevice”.
  • Select the device you want to use.
  • Enable LAN Control
  • (optional), if network discovery of the Yeelight does not seem to work:)
  • Go to your Yeelight settings in the upper right corner
  • Click Device Info
  • You should now see a field "IP address". Use the value for manual mode.

Data

Example FEN code that I used: "rnb1kbnr/pppp1ppp/8/4p1q1/5P2/4PQ2/PPPP2PP/RNB1KBNR b KQkq - 2 3"

If you want to generate a FEN code on chess.com, you can go to a match, click onΒ analysis - which will redirect you to https://www.chess.com/analysis with the selected match, and then if you press the share button you will see a FEN code. There might be an easier way to do this, but I don't know


TODO

  • buttplug.io verification - Due to not having any buttplugs myself, or other devices compatible with Buttplug.io, I've only built this project based on the documentation and samples provided by Buttplug.io. I'm looking to contact some of their people on discord to see if anyone has a device that should work with this project, and verify that it actually works
  • Real world chess match testing - The chess world seems to assume that it's possible to accurately receive chess moves through your butthole, and use this to your advantage and even beat the final chess boss Magnus Carlsen with this. Since this has been a working theory, so far I haven't seen any attempts to replicate this. Hopefully this project with aid in this endeavor. Unfortunately I can barely play chess, nor understand Morse Code, so hopefully we'll be able to find some brave chessmaster grandmaster that's willing to 'take one for the team' (in the butt)
  • Post vid In the spirit of WatchPeopleCode I recorded my development process. I haven't had time to edit it down and post it. Might if someone is actually interested (probably not)

Testing (buttplug.io verification)

The internet pointed out that I hadn't actually tested it out with a vibrating device. Also there's a theory in computer science that every programmer needs a rubby ducky - for debugging purposes.. What I found is close enough

After scrolling through the list of compatible Buttplug.io devices, I came across this nonsensical device ducky

It reminds me of a real-life representation of the famous internet meme dickbutt.

I also don't have a rubber duck for debugging purposes yet, so I count this as a win-win-win. I ordered this thing, it might take a couple of days to ship.

You're lucky that I'm this dedicated to stupid memes. I'll let you know how it goes once it arrives


Donate

I don't really need your money, but if you feel like donating anything:

  • Eth: 0xEc4AB6855b2A58F27448c9Bb40E778e4D238FEe2
  • Paypal: paypal.me/ronsijm
  • I signed up for the github sponsor program, that's still pending though

Code of Conduct and Ethics

As mentioned before - this project is a meme. I do not endorse or encourage chess cheating in any way possible. Would you decide to try out this project yourself, you must notify your chess partner in advance that you're using chess augmentations though vibrations in your butthole.

Would you decide not to disclose this in (official) matches, then I'm in no way responsible for the consequences of either you getting banned from chess.com, or pissing off Magnus Carlsen and having him forfeit your matches after a couple of moves


Coverage and Mentions (incoming)

This project was covered by Matthew Gault a Staff Writer at Motherboard/VICE Media. Initially it was on the front-page of Motherboard, on their front-page together with a live feed of NASA's DART mission - humanity's first strike against potential total annihilation by an asteroid in the future.

vice-front-page

Someone is solving possibly the biggest crisis in human history, while the other is just smashing spacecrafts into a space rocks

NASA and I have different priorities I suppose...

Library and Mentions (outgoing)

buttfish's People

Contributors

benjamin-kirkbride avatar gregsadetsky avatar pschwyter avatar ptrkstr avatar ronsijm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.