Skip to content

Instantly share code, notes, and snippets.

View kamilogorek's full-sized avatar

Kamil Ogórek kamilogorek

View GitHub Profile
@kamilogorek
kamilogorek / _screenshot.md
Last active April 9, 2024 21:18
Clutter-free VS Code Setup
image
@kamilogorek
kamilogorek / pglite-protocol.mjs
Created March 30, 2024 17:02
pglite + postgres wire protocol
import { createServer } from "node:net";
import { PGlite } from "@electric-sql/pglite";
const PORT = 5432;
const db = new PGlite();
await db.exec(`
CREATE TABLE IF NOT EXISTS test (
id SERIAL PRIMARY KEY,
name TEXT
function prefixer(prefix) {
return function (...data) {
console.log(
data
.map((d) => JSON.stringify(d, null, 2))
.join(" ")
.split("\n")
.map((line) => `${prefix}${line}`)
.join("\n")
);
@kamilogorek
kamilogorek / livereload-snippet.html
Created January 12, 2014 15:52
Static node.js server with livereload
<script>document.write('<script src="http://' + (location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1"></' + 'script>')</script>
// HOW TO USE:
// 0. Get OAuth from https://developers.google.com/youtube/registering_an_application
// 1. Go to https://www.youtube.com/feed/library
// 2. Paste snippet below in DevTools
// 3. Replace `VIDEOS` with copied data
// 4. Run script
// JSON.stringify(
// Array.from(document.querySelectorAll("a.ytd-playlist-video-renderer"))
// .map((v) => {
#!/usr/bin/env bash
fn() {
echo "Return is just placeholder exit code, rely on command instead"
return 1
}
i=1
while true; do
# Get videos with:
#
# const videoElements = Array.from(
# document
# .querySelector("ytd-playlist-video-list-renderer")
# .querySelectorAll("ytd-playlist-video-renderer")
# );
#
# const links = videoElements
# .map((el) => `"${el.querySelector("a").href}"`)

Tortilla with chicken, cheese and veggies

Ingredients for 5 portions

  • Chicken breast 800g
  • Cheese 250g
  • Tortilla 625g (10pc)
  • Canned corn 250g
  • Bell peppers 250g
  • Onions 125g
@kamilogorek
kamilogorek / wait-for-images.js
Created February 5, 2014 08:49
Wait for all images to load before executing callback
'use strict';
module.exports = function (element, callback) {
var allImgsLength = 0;
var allImgsLoaded = 0;
var allImgs = [];
var filtered = Array.prototype.filter.call(element.querySelectorAll('img'), function (item) {
if (item.src === '') {
return false;
var Collection = require("ampersand-rest-collection");
var Model = require("ampersand-model");
var Product = Model.extend({
props: {
name: 'string',
price: 'integer'
}
});