Skip to content

Instantly share code, notes, and snippets.

View mackuba's full-sized avatar
🦋
Building things for Bluesky with ATProto

Kuba Suder mackuba

🦋
Building things for Bluesky with ATProto
View GitHub Profile
@mackuba
mackuba / delete_list_items.rb
Created July 4, 2024 14:14
Script for deleting all items from a list (even if the list itself was deleted)
#!/usr/bin/env ruby
# to install minisky: `gem install minisky`
require 'minisky'
list_id = ARGV[0]
if list_id.nil?
puts "Usage: #{$PROGRAM_NAME} <list_rkey>"
@mackuba
mackuba / bsky_user_stats.rb
Created September 6, 2024 22:40
Script to check how much given Bluesky users post daily on average
#!/usr/bin/env ruby
begin
require 'minisky'
rescue LoadError
puts "Install minisky: '[sudo] gem install minisky'"
exit 1
end
require 'time'
@mackuba
mackuba / follow_hashtag.rb
Created October 24, 2024 01:18
Script for following hashtags for my hashtag feed
#!/usr/bin/env ruby
# make sure you have Ruby installed, should be installed by default on macOS & Linux
# install Minisky lib with: [sudo] gem install minisky
# then run with: ruby follow_hashtag.rb somehashtag
require 'minisky'
if !File.exist?('config.yml')
puts "Create a config.yml file with contents like this:"
@mackuba
mackuba / bsky_silence_notifs.js
Last active January 21, 2025 20:18
Bluesky browser bookmarklet to silence notifications in the sidebar (and on the arrow-up button)
/* Create a bookmark and copy-paste this whole line as the URL: */
javascript:(function(){s=document.getElementById('disable_notif_style');if(s){s.remove()}else{s=document.createElement('style');s.id='disable_notif_style';s.innerText='nav[role=navigation] a[aria-label="Notifications"] { opacity: 0.33 !important; } nav[role=navigation] div[aria-label*="unread item"], button[aria-label^="Load new"] svg + div[style*="border-color"] { display: none; }';document.head.appendChild(s);}})()
/* Expanded code: */
function toggleNotifications() {
let s = document.getElementById('disable_notif_style');
if (s) {
@mackuba
mackuba / bsky_user_stats_home.rb
Created January 23, 2025 20:23
Script to print statistics of your home timeline - how much each followed user contributes to it on average
#!/usr/bin/env ruby
require 'time'
require 'yaml'
['minisky', 'didkit'].each do |lib|
begin
require(lib)
rescue LoadError
puts "Install #{lib}: '[sudo] gem install #{lib}'"