Skip to content

Instantly share code, notes, and snippets.

View kapraran's full-sized avatar

Nikos Kapraras kapraran

View GitHub Profile
@kapraran
kapraran / vite-pdf.js
Created March 10, 2024 19:30
vite to pdf
import { build, preview } from "vite";
import { chromium } from "playwright";
async function generatePdf(url) {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto(url);
await page.pdf({ path: `cv-${Date.now()}.pdf`, printBackground: true });
await browser.close();
}
import * as sql from 'node-sql-parser'
const dummy_sql =
[
'SELECT cast(testcol as integer) FROM GAMIESAi',
'SELECT cast(testcol as integer) FROM GAMIESAi',
'SELECT cast(testcol as integer) FROM GAMIESAi',
'SELECT cast(testcol as integer) FROM GAMIESAi',
// https://observablehq.com/@scarysize/finding-random-points-in-a-polygon
const pointsOutput =
`
{ Vec2(191.36773681641, -896.60498046875), Vec2(455.9482421875, -696.60577392578), Vec2(584.68591308594, -1235.2385253906), Vec2(-316.11657714844, -1357.7646484375), Vec2(-316.51806640625, -815.22882080078), Vec2(-179.95001220703, -968.591796875), }
`
const earcut = require('earcut')
/* https://en.wikipedia.org/wiki/Shoelace_formula */
@kapraran
kapraran / timers.lua
Last active December 20, 2020 11:37
A Timers library for Venice Unleashed
-- author: Nikos Kapraras
-- email: nikos@kapraran.dev
-- TimerClass
local TimersClass = class('TimersClass')
function TimersClass:__init()
self.lastId = 1
self.activeTimers = 0
self.timers = {}
@kapraran
kapraran / __init__.lua
Last active November 21, 2020 22:08
Play SoundAsset Venice unleashed
local winMusic = nil
Events:Subscribe('Level:Loaded', function(levelName, gameMode)
local winSoundAsset = ResourceManager:SearchForDataContainer('Sound/Music/MP_Music/MP_Music_Winning_Patch_01')
if winSoundAsset ~= nil then
local entityPos = LinearTransform()
entityPos.trans = Vec3(0.0, 0.0, 0.0)
print(entityPos)
@kapraran
kapraran / printer.cs
Created June 27, 2019 01:10
a printer util for windows
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing.Printing;
using System.Drawing;
namespace ConsoleApp1
{
class Program
@kapraran
kapraran / mkdirp.js
Created March 2, 2019 17:55
A quick way to create a new directory and every necessary subdirectory. For a better tested solution, use 'mkdirp' package.
const path = require('path')
const fs = require('fs')
const util = require('util')
const fsMkdir = util.promisify(fs.mkdir)
const fsExists = util.promisify(fs.exists)
/**
*
* @param {string} dirpath
@kapraran
kapraran / printf.js
Last active March 2, 2019 17:57
an alternative string format function in javascript
function printf() {
const args = Array.from(arguments)
let str = args.shift()
return args.reduce((str, val, i) => {
let reg = new RegExp(`\\{${i}\\}`, 'g')
return str.replace(reg, val)
}, str)
}