Skip to content

Instantly share code, notes, and snippets.

View vsjov's full-sized avatar
👾
Working from mothership

Vladimir Jovanović vsjov

👾
Working from mothership
  • Belgrade, Serbia
  • 11:38 (UTC +02:00)
View GitHub Profile
@vsjov
vsjov / verified-commits-sr.md
Created June 10, 2026 07:03
Uputstvo za korišćenje GPG ključeva za potpisivanje na GitHub-u

Korišćenje GPG ključeva za potpisivanje na GitHub-u

Za dodatno osiguranje commitova na Github-u, moguće je koristiti GPG kako bi se svaki automatski potpisao. To osigurava da samo commitovi sa dozvoljenih računara budu verifikovani.

verified commit

U samim podešavanjima za repozitorijum je moguće podesiti i da Git prihvata samo

@vsjov
vsjov / YouTubeWide.css
Created May 2, 2025 12:47
Stylus configuration for wide YouTube
@-moz-document domain("youtube.com") {
@media screen and (min-width: 1900px) {
.style-scope.ytd-rich-grid-renderer {
--ytd-rich-grid-items-per-row: 6;
}
}
@media screen and (min-width: 1500px) and (max-width: 1900px) {
.style-scope.ytd-rich-grid-renderer {
--ytd-rich-grid-items-per-row: 5;
@vsjov
vsjov / Microsoft.PowerShell_profile.ps1
Created January 21, 2025 08:37
Minimal git prompt for Powershell
# Add this to Powershell profile
function prompt {
$gitBranch = & git rev-parse --abbrev-ref HEAD 2>$null
$pathString = "$PWD"
$gitString = ""
if ($gitBranch) {
$status = & git status -sb 2>$null
$aheadBehind = ""
@vsjov
vsjov / windows-ssh.md
Created November 2, 2024 13:37
Adding SSH keys to Windows SSH client

Install Open SSH client

To enable SSH functionality in Windows 11, follow these steps:

Open Settings: Press Win + I to open the Settings app.

Go to Apps: Navigate to Apps > Optional features.

Add an Optional Feature: Scroll down and click on View features under the "Add an optional feature" section.

Search for OpenSSH: In the search box, type OpenSSH and you should see two options:

@vsjov
vsjov / generate_signing_keys.md
Last active August 20, 2025 14:04
Creating signing keys for GitHub

Use GPG signing keys for GitHub


Windows only:

@vsjov
vsjov / tree-shaking.md
Last active January 23, 2024 11:31
Note for tree shaking

Note for the tree shaking

In order to properly enable tree shaking, each main function whould be written in its own file, exported as default and then additionally exported from the index.ts.

/src/something/some-function.ts

export const someFunction = () => {}

export default someFunction
@vsjov
vsjov / uBlock.txt
Last active September 1, 2025 10:25
uBlock konfiguracija
! Reddit clean-up
www.reddit.com##a[href^="/rpan/"] > h3:has-text(/Top (livestream|broadcast)/):upward(7)
! Linkedin clean-up
www.linkedin.com##.feed-shared-actor__description:has-text(/Promoted/):upward(7)
www.linkedin.com##.feed-shared-text-view>span:has-text(/Add to your feed/):upward(7)
! Twitter clean-up
!twitter.com##h2>div>span:has-text(/Trends for you/):upward(10)
!twitter.com##h2>div>span:has-text(/You might like|Who to follow/):upward(5)
@vsjov
vsjov / delete-linkedin-posts.js
Last active March 12, 2025 08:33
Delete all LinkedIn posts version for June 2021.
(() => {
let speedMs = 500
setInterval(() => {
let dropdown = document.querySelector('.feed-shared-update-v2__control-menu .artdeco-dropdown button')
dropdown.click()
setTimeout(() => {
let optionDel = dropdown.parentElement.parentElement.parentElement.querySelector('.option-delete .tap-target')
@vsjov
vsjov / table2json.js
Created April 1, 2021 13:11
HTML table to JSON
/**
* Recursive function that parses table elements
*
* @param elHtml - HTML object that contains table
* @returns { Object } JSON element with parsed table
*/
const parseTable = (elHtml = null) => {
if (elHtml === null) { return false }
let elName = String(elHtml.nodeName).toLowerCase()
@vsjov
vsjov / UnlikeTweets.js
Created July 30, 2020 07:07
Unlike tweets
setInterval(function () {
var divs = document.getElementsByTagName('div')
var arr = Array.prototype.slice.call(divs)
var hearts = arr.filter(x => x.getAttribute('data-testid') == 'unlike')
hearts.forEach(h => h.click())
window.scrollTo(0, document.body.scrollHeight || document.documentElement.scrollHeight);
}, 1000);