Skip to content

Instantly share code, notes, and snippets.

@rzymek
rzymek / google-adblock.js
Created November 18, 2023 17:45
google adblock
x=document.evaluate(`//span[text()='Sponsorowane']`, document, null, XPathResult.ANY_TYPE, null);
s=[];while (x1 = x.iterateNext()) s.push(x1);
s.forEach(a=>a.parentElement.remove());
@rzymek
rzymek / bookmarklet.js
Last active January 2, 2024 09:14
fb feed cleaner
(function(){
removed=0;
document.title="0";
document.querySelectorAll("[role='complementary']").forEach(it=>it.remove())
setInterval(() => {
rm=(e2d)=>{
if(!e2d)return;
e2d.remove();
removed++;
document.title=`${removed}`;
@rzymek
rzymek / ToString2JSON.pegjs
Created June 16, 2021 12:39
parse ToString output to JSON for formatting
QuotedObject
= Object
/ "'" v:Object "'" { return v }
/ '"' v:Object '"' { return v }
Object = UnnamedObject / NamedObject
UnnamedObject = "{" fieldValues:FieldValues "}" { return fieldValues.reduce((r,v)=>({...r, ...v})) }
NamedObject = name:Name value:UnnamedObject { return {[name]: value } }
function Calculator() {
const [input, setInput] = useState('');
const [result, setResult] = useState<number>()
return <div>
<input data-testid='expression' onChange={e => setInput(e.target.value)}/>
<button data-testid='calculate' onClick={() => setResult(eval(input))}/>
<div data-testid='result'>{result}</div>
</div>
};
it('should calculate on click', () => {
// given:
render(<Calculator/>);
// when
typeIn('expression', '6 * 7');
clickOn('calculate');
// then
expect(textOf('result')).toBe('42');
@rzymek
rzymek / pair-up.sh
Last active January 28, 2021 16:19
multiple pointers/keyboards on xserver for pair programming
#!/bin/bash
set -eu
function getPairIds {
xinput test-xi2 --root | awk '
BEGIN{FS="[()]"}
/EVENT.*KeyPress[)]/ {key=1}
/EVENT.*ButtonPress[)]/ {mouse=1}
key && /device: / {kId=$2;key=0}
mouse && /device: / {mId=$2;mouse=0}
export interface User {
/**
* @type {string}
* @memberof User
*/
email: string; // 1
/**
* @type {string}
* @memberof User
*/
"User": {
"type": "object",
"required": ["email", "roles"],
"properties": {
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"/groups": {
"get": {
"operationId": "allGroupsUsingGET",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/Group" }
}
@rzymek
rzymek / UsedMemoryMonitor.java
Created April 24, 2020 11:06
UsedMemoryMonitor.java
package org.dhatim.fastexcel;
import java.util.concurrent.CompletableFuture;
import static java.lang.String.format;
public class UsedMemoryMonitor<E extends Exception> {
volatile boolean stop = false;
volatile long maxUsedMemoryMB = 0;