Skip to content

Instantly share code, notes, and snippets.

View ErykDarnowski's full-sized avatar
🔧
Tinkering

Eryk Darnowski ErykDarnowski

🔧
Tinkering
View GitHub Profile
@ErykDarnowski
ErykDarnowski / download.js
Last active November 11, 2023 09:35
Download FB messenger chat / group chat to txt file (for PL language)
/* Releases
- 1.0.0 Initial
- 1.0.1 Remove '\n' between each msg
*/
const config = {
numbered: true, // whether to number the messages
yourResponsesMargin: 90, // amount of ' ' char
msgsSelector: '__fb-dark-mode x1n2onr6', // message block class (10.11.2023 for first open from right)
defaultChatEmoji: [ 'Gest kciuka w górę', '👍' ], // [string for default emoji ; what to replaec it with]
@ErykDarnowski
ErykDarnowski / README.md
Last active April 23, 2025 20:07
USOS timetable day date adder + format fixer [Userscript]

USOS timetable day date adder + format fixer [Userscript]

A script that adds dates to individual days in the USOS timetable + fixes formatting of the 2 dates on top.

Instructions

  1. Make sure you're using the HTML timetable!
  2. Install a Userscript browser extension
@ErykDarnowski
ErykDarnowski / README.md
Last active April 23, 2025 20:05
USOS nice timetable display / copy / download [UserScript]

USOS nice timetable display / copy / download

This little script works for both ordinary and part time timetables + has a bunch of cool QoL features ;)
(It displays the nicer timetable under the original one)

Instructions

  1. Make sure you're using the HTML timetable!
  2. Install a Userscript browser extension
@ErykDarnowski
ErykDarnowski / script.js
Last active November 5, 2023 18:44
USOS print out unique lesson names (part time)
/*
!!! THIS WAS JUST A PROTOTYPE, HERE IS THE MUCH BETTER, IMPROVED VERSION: !!!
https://gist.github.com/ErykDarnowski/fd08f94ca139b1f575d8e7205e2e3a90
*/
/* USOS print out unique lesson names (part time)
* !!!This was created for the part time timetable as it doesn't divide the lessons by days!!!
*
* 1. Open your uni's USOS page
* 2. Go to your lesson timetable
@ErykDarnowski
ErykDarnowski / script.js
Created September 30, 2023 17:35
Automatically download reddit post and all it's comments
/* Instructions
1. Click on a reddit post you're interested in.
2. Open the dev tools ('F12') go to the `Console` tab.
3. Copy & paste in the code bellow and press 'Enter'.
- Wait for the page to fully load
- Make sure any comments aren't folded (they shouldn't be if the page just loaded)
- Scroll to the bottom of the page to make sure all comments are loaded.
- If you've run this script once, you'll need to reload the page.
4. Enjoy!
@ErykDarnowski
ErykDarnowski / script.js
Last active September 30, 2023 17:31
Automatically download multiple images from a reddit post
/* How to use
1. Click on a reddit post with bunch of images.
2. Open the dev tools (<kbd>F12</kbd>) go to the `Console` tab.
3. Copy & paste in the code bellow and press <kbd>Enter</kbd>.
4. Click `Allow` on the multiple file download popup.
5. Enjoy!
*/
// https://dev.to/sbodi10/download-images-using-javascript-51a9
@ErykDarnowski
ErykDarnowski / README.md
Last active September 11, 2023 12:29
Rename all dirs that contain more than 1 file from `Emulator` to `Emulators` (without `rename` command)

Rename all dirs that contain more than 1 file from Emulator to Emulators (without rename command)

find -type d -name "*Emulator" -not -empty -not -path "*Games*" -exec sh -c 'echo "{}: $(ls "{}" | wc -l)"' \; | awk -F: '$2 > 1' | cut -d: -f1 | xargs -I {} sh -c 'mv "{}" "{}s"'

The command is composed of several parts, each separated by a pipe (|) symbol. The pipe symbol means that the output of the previous part is passed as the input to the next part.

@ErykDarnowski
ErykDarnowski / README.md
Last active January 4, 2024 11:17
Copy multiple lines of text in front of other multiple lines of text in Vim

Copy multiple lines of text in front of other multiple lines of text in Vim

  1. Prep the initial multiline by for instance adding padding (e.g. on the right side of numbers)
  2. Select the multiline text you would like to copy
    1. Go to the first line
    2. Enter visual block mode (Ctrl + v or q)
    3. Move to the last line
    4. Go to the end of the line (Shift + 4)
  3. Cut it (d)
  4. Paste the initial multiline text to target multiline text
@ErykDarnowski
ErykDarnowski / README.md
Created August 24, 2023 16:10
Find non-empty folders containing `Games` in their name, print their amount of children and sort the output by number

Find non-empty folders containing Games in their name, print their amount of children and sort the output by number

find -type d -name "*Games*" -not -empty

This part of the command uses the find command to search for directories (-type d) that have "Games" in their name (-name "Games") and are not empty (-not -empty). The find command prints the path of each matching directory to the standard output.

-exec sh -c 'echo "{}: $(expr $(ls -l "{}" | wc -l) - 1)"' \;

This part of the command uses the -exec option of the find command to execute another command on each matching directory. The command to execute is enclosed in single quotes and has a placeholder {} for the directory name. The command ends with a semicolon, which is escaped with a backslash to prevent the shell from interpreting it.

@ErykDarnowski
ErykDarnowski / README.md
Last active August 18, 2023 04:17
How to fix `ERROR: unable to select packages` error on Alpine Linux

How to fix ERROR: unable to select packages error on Alpine Linux

  1. Make sure the pkg/s you're trying to install are actually available
  2. Run: tail -f /etc/apk/repositories to check which repositories you're using
  3. Uncomment the community repository