Skip to content

Instantly share code, notes, and snippets.

View luben's full-sized avatar

luben karavelov luben

View GitHub Profile
@luben
luben / threads.rs
Last active January 18, 2024 18:15
Temporary privileged threads after `chown`
use caps::{self, CapSet, Capability, CapsHashSet};
use daemonize::Daemonize;
use std::{
fmt::Write,
sync::{Arc, Condvar, Mutex},
thread,
time::Duration,
};
struct Sensor {
@luben
luben / TestLeak.java
Last active January 21, 2021 23:06
Test Zstd leak
package com.github.luben.zstd;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.FileOutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.charset.Charset;
local wezterm = require 'wezterm';
return {
default_prog = {"/usr/bin/zsh", "-l"},
font = wezterm.font_with_fallback({"Iosevka Term SS09 Light"},{foreground="#b0b0b0"}),
font_size = 12.0,
dpi = 96.0,
font_dirs = {"/usr/share/fonts/iosevka-term"},
font_rules = {
{
italic = true,
@luben
luben / naive-streams.rs
Last active February 21, 2019 05:58
Naive streams
#[derive(Clone)]
struct Repeat {
current: u32,
end: u32,
}
impl Repeat {
fn new(current: u32, end: u32) -> Self {
Repeat {current, end}
@luben
luben / AkkaLeak.scala
Last active April 24, 2018 13:20
Akka-Artery-TCP-leak.scala
import com.typesafe.config._
import akka.actor._
import scala.util.Random
sealed trait Msg;
case object Ping extends Msg;
case object Pong extends Msg;
case object Leak extends Msg;
class ServerActor extends Actor {
@luben
luben / poc.rs
Last active February 17, 2018 15:35
use std::slice::Iter;
use std::ops::{Add, Mul, Neg};
use std::borrow::Cow;
use std::fmt::Debug;
use std::rc::Rc;
/// Our string type is copy-on-write string refs
type Str<'a> = Cow<'a, str>;
/// Marker trait for the values
@luben
luben / RLS.sql
Last active July 27, 2018 14:34
CREATE OR REPLACE FUNCTION set_foo(foo_val varchar) RETURNS void AS $$
BEGIN
EXECUTE format('SET SESSION my.foo TO %I', foo_val) ;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION get_foo() RETURNS varchar AS $$
DECLARE
foo_val varchar;
BEGIN