• choose theme
  • British Summer Time GMT+1

    sunday, 9th may 2021

    hello

    • This is a great read: github.com:dekuNukem/bob cassette rewinder
      • epic v apple is exciting
        • google v oracle went quite well
          • it's annoying to have to wait around until some rich prick decides to pick a fight
    • it's strange that the mac app "Preview" is called "Preview" and not "View"
      • pre- what?
      • what happens next
    • we spent all day yesterday playing Detroit: Become Human
      • one of the branch nodes is named [KARA](https://ghost.computer) BECOMES DEVIANT
      • my ps4 controller's sticks were drifting so i poured alcohol into them and squeezed them and spinned them around
      • so many problems can be solved by pouring alcohol on them
    • working on an album of ufo music
    • keep starting and stopping projects over the last few weeks. can't seem to keep to one thing
      • think it would be helpful to know when i'm going to die
    • we're in the park today. it's cloudy and nineteen degrees.
    • im sleepy
    • it feels like things could get better, doesn't it? feels weird
    British Summer Time GMT+1

    sunday, 2nd may

    • i attended a book launch for joanne mcneil's Lurking.
      • it was hosted by archive.org.
      • brewster kahle was in the chat telling joanne to get her publisher to sell archive.org the book so they could lend it
      • i haven't read the book yet because i'm still reading the deficit myth
    • i listened to the song wounded by the cookies a lot. it's on our morning sunshine pop playlist. it's really good
    • when the first gulf war began the bbc banned 69 songs including Blondie's Atomic and Boom Bang-a-Bang by Lulu
    • we went to Westfield on Saturday. it was really busy, but we had a good time.
    • we bought a pretty mancala set from flying tiger and after lunch we played a few rounds on a grassy knoll

    I spent some time this week reading about twitter's bluesky project trying to understand why jack wants Twitter to be a client of a decentralized social media protocol.

    At first I thought: Jack doesn't want to be responsible for speech, he wants to surf. He's banking on Twitter remaining the primary interface for most people and hoping the network will take care of moderation and he won't be phoned by senators anymore saying โ€œwhy haven't u blocked alex jones yetโ€

    But after reading one of the articles bluesky links to,

    I think Jack wants the new protocol to be based on the blockchain. He likes bitcoin. So does Square, Inc. (https://twitter.com/jack/status/1108487911802966017).

    This would help with his moderation problem, and his monetization problem. Interfaces earn bitcoin for having users, users earn bitcoin for retweets, that drives up the price of bitcoin and jack gets rich while he surfs.

    Maybe it would be something less rainforest-burny like FileCoin or whatever. I'll bet Bitcoin is jack's preference, but it doesn't even matter if it's a brand new currency. jack would instantly have a huge amount of it, and its value would skyrocket.

    I hope I don't think about it anymore this week.

    • yahoo answers shuts down in a few days. you can help archive it by running a warrior
    • we received an e-mail from the thirty days of art project we did in April telling us that they'd be deleting all our work on the 7th of May. so I have a few shell loops running submitting everyone's artist pages to archive.org
    British Summer Time GMT+1

    sunday, 25th april 2021

    • We went Geocachingยฎ yesterday. Drank some cider in the park. Good dogs out. Smoky Bacon Cow, Horace, Margaret the Carpet, Little Sausage.
    • I've forked this notetaking app, it's great but i want more
    • Cuba has created at least two potentially viable vaccines, because they knew they wouldn't be able to afford to compete with richer countries to buy them. Cuba needs syringes. It can't trade easily because of USA, and it is currently not making much money from tourism.
    • We found a lovely online cafรฉ nearby that does gluten free brunches delivered in lovely boxes

    I've been sick all week, and now Abe seems to have got whatever I've had. It's a really annoying fever-y thing.

    Last night I had a dream where I was working on a garden with somebody from work. We were laying bricks and digging holes at the bottom of a residential hill. There were other people from work beside us working on different gardens. I looked up, there was an aeroplane flying overhead. It seemed to be hanging heavily to one side, and I saw steam or smoke escaping from areas other than the exhausts.

    "is that okay?" i asked

    "yeah, i think that's normal" said my colleage

    "i really don't think that's OK," i thought (and didn't say)

    Then the aeroplane swung dramatically to the right, up to the top of the hill. It was coming down at us very fast now, parts of it breaking off and nearly hitting folks who jumped out of the way at the last moment.

    I looked over at my colleague, who was looking but didn't seem to have registered that we were going to die. Then I looked back at the aeroplane and woke up.

    no reason to read into it

    British Summer Time GMT+1

    today.snoot.club

    Last year me and Abe started working on some art together.

    It's called today.

    the today logo and favicon, made by abe.
it's a black and white plant pot and plant on a pixelated rainbow gradient.

    today

    Each page has a picture made by Abe with Word '97 in a Windows 98 Virtual Machine, and a looping sound by me.

    office '97 logo

    old windows logo

    I make the sounds with a Nintendo Game Boy, a handheld compact cassette recorder and a teenage engineering op-1.

    a game boy with a cat face on the screen

    teenage engineering op-1 cow fx. a black cow silhouette with flashing neon pipes

    You can view the next sound/picture pair by clicking the picture, eventually you'll loop around.

    The most recent one is on the homepage/.

    There's an RSS feed you can subscribe to, and you can append .json to any page (including the root!) to get a JSON representation of that page. Feel free to do whatever you want with that. The sounds and pictures are all creative commons share-alike.

    day manager

    Originally it was just a few HTML files, but when it started to take shape I wrote some scrappy JavaScript to generate the pages from a JSON file.

    But that meant it was a manual process to put something live, or even preview a pairing.

    So then I put together an app to manage the page. It takes uploaded media and puts it in Linode Object Storage (which is like S3 but without giving money to jeff).

    There are three concepts. **sounds**, **pictures** and **days**.

    sounds

    The page for sounds shows a grid of every sound that isn't part of a day.

    screenshot of the sounds page, showing three un-dayed sounds.

    you can click one to preview it, and you can drag a .flac file onto the window to upload a new one. It'll get a random name like spooky ocean. (adjectiveish noun).

    pictures

    The pictures page is a grid of all the pictures, paired or not.

    screenshot of the pictures page. two used and one unused picture.

    This is where you add the alt text, and also where you can select the Make a day of it button.

    make a day of it

    The make a day of it page is where you can preview how a particular picture will work with each available sound.

    the โ€œmake a day of itโ€ page

    When you find something that works, you can give it a name and it will be the new homepage the very next moment.

    days

    The days page shows a grid of every day there's ever been.

    the homepage of today manager showing days

    danger mode

    It's scary to have delete buttons lying around, so those are hidden behind DANGER MODE, which can only be activated by manually adding ?danger=danger to the URL.

    After deleting anything, you're redirected back to the non-danger page.

    goodbye

    ok, that's all. thanks.

    password entry screen. it's the bad ending from bubble bobble.

    โญโญโญโญโญ

    =^.^=

    Greenwich Mean Time GMT

    Developing for pygamer using cmake

    DISCLAIMER: Sorry, this post is about boring code shit i just don't want to learnt to do again later. It's only a few things but it took me days to get a handle on.

    Using cmake instead of the arduino ide is really nice, it works well in both text editors (emacs and vscode) and you get context-aware completion, hover docs, etc.

    1. Get Arduino-CMake-Toolchain:

    $ cd ~/projects
    $ git clone <https://github.com/a9183756-gh/Arduino-CMake-Toolchain>

    2. Start your project:

    $ mkdir cool_project
    $ cd cool_project
    $ touch main.cc
    $ $EDITOR CMakeLists.txt

    CMakeLists.txt:

    cmake_minimum_required(VERSION 3.19.0)
    project(cool_project CXX)
    add_executable(cool_project main.cc)
    
    # `AUTO_PUBLIC` will automatically find and link the right libraries
    # from your installed arduino libraries, just like the arduino IDE!
    target_link_arduino_libraries(bleepbloopmachine AUTO_PUBLIC)
    
    # this will add an `upload` target that you can use to build &
    # upload to the microcontroller
    target_enable_arduino_upload(bleepbloopmachine)

    3. Use cmake!

    $ mkdir build
    $ cd build
    $ cmake -D CMAKE_TOOLCHAIN_FILE=$HOME/projects/Arduino-CMake-Toolchain/Arduino-toolchain.cmake -D CMAKE_EXPORT_COMPILE_COMMANDS=1 ..

    This will generate a compile_commands.json file that your editor can use to give you completion hints and docs.

    4. Setup vscode!

    If you're using Code:

    1. install the cmake tools extension.

    2. Run the command CMake: Edit User-Local CMake Kits

    3. add this kit to the array:

      {
       "name": "Arduino toolchain",
       "toolchainFile": "/home/chee/projects/Arduino-CMake-Toolchain/Arduino-toolchain.cmake"
      }

      (change the toolchainFile path to the correct path for wherever you cloned the cmake arduino toolchain to in the very first step)

    4. Run the command CMake: Select A Kit and select Arduino toolchain from the drop-down

    5. Now you can use CMake: Build (F7) and CMake: Build Target upload to build and upload things to the microcontroller!

    getting the upload target working

    Set the environment variable SERIAL_PORT_FILE to ttyACM0 (or whatever the microcontroller's serial port is on your computer) in the workspace's cmake.buildEnvironment setting: