Skip to content

Instantly share code, notes, and snippets.

@elazarl
elazarl / BlockReadWriter.go
Created May 30, 2011
golang - A blocking reader
View BlockReadWriter.go
package main
import (
"fmt"
"bytes"
"os"
"log"
"time"
"io"
"http"
@elazarl
elazarl / SparkEventSource.java
Last active Jun 17, 2021
Suuport SSE/Server-Sent-Events/EventSource for java spark sparkjava.com
View SparkEventSource.java
package com.spark;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.HandlerList;
import org.eclipse.jetty.servlet.*;
import org.eclipse.jetty.servlets.EventSource;
import org.eclipse.jetty.servlets.EventSourceServlet;
import spark.Service;
import spark.Spark;
import spark.embeddedserver.jetty.EmbeddedJettyServer;
@elazarl
elazarl / cp.go
Last active Jun 27, 2020
Unfortunately, searching for "golang copy file" gives subtly wrong code snippets (e.g. https://groups.google.com/d/msg/golang-nuts/JNyQxQLyf5o/kbGnTUK32TkJ that don't check close error code). This is an attempt to copy file content from `src` to `dst`
View cp.go
package cp
import (
"io"
"os"
)
func cp(dst, src string) error {
s, err := os.Open(src)
if err != nil {
@elazarl
elazarl / stack_size.c
Last active Apr 12, 2020
This is a demonstration showing how to print stack size of a certain function
View stack_size.c
// We demonstrate how to get the stack usage of a function
// using the __builtin_frame_address function of GCC and clang.
//
// This function returns:
// The frame is the area on the stack that holds local variables and saved registers.
// The frame address is normally the address of the first word pushed on to
// the stack by the function.
//
// by saving its value and comparing it to a callee, we get the stack usage of this
// function.
@elazarl
elazarl / simple_transform_before_zstd.c
Created Jan 30, 2020
Check if a simple transform before applying zstd reduce file size
View simple_transform_before_zstd.c
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#include <unistd.h>
char buf[1024*1024];
@elazarl
elazarl / bench_comp_decomp.py
Last active Jan 29, 2020
Measures compression and decompression speed and size ratio on many files
View bench_comp_decomp.py
#!/usr/bin/python3
import argparse
from collections import namedtuple
import csv
import os
import shutil
import subprocess
import statistics
import re
@elazarl
elazarl / test_vec_to_c.py
Last active Jan 26, 2020
NIST test vector to C format
View test_vec_to_c.py
# This converts test vectors from
# https://csrc.nist.gov/Projects/cryptographic-algorithm-validation-program/CAVP-TESTING-BLOCK-CIPHER-MODES
# to a C-struct format.
# For example to initialize
# struct test_case {
# int count;
# int data_unit_len;
# std::string key;
# std::string index;
# std::string plaintext;
@elazarl
elazarl / uuid4sym.py
Last active May 16, 2019
replace UUID with distinguishable emojis
View uuid4sym.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""uuid4sym - replace UUID version 4 to an easily distinguishable symbol
When looking at a long log file with some UUID4 uuids, you'll have a hard time
distinguishing between two UUIDs.
Both 26cb1b84-7748-11e9-9437-2bf0efaa1b2e and 2725e8de-7748-11e9-a9c8-f3e5d10ab3d6
looks similar to the human eye.
@elazarl
elazarl / dir2img.py
Created Apr 30, 2019
Create an image with filesystem, copies a local directory content to it
View dir2img.py
#!/usr/bin/python3
"""Create image from a directory
This script creates image whose contents are a given directoy on the filesystem.
Example usage:
$ mkdir mydir
$ echo A > mydir/a
$ ./dir2img.py -d mydir -i myimage.img
View ftrace_event_parser.py
#!/usr/bin/python3
import re
import io
class FtraceEventParser(object):
"""FTraceEventParser parses the text form of a single event
to a tuple of all the event's arguments.
Example usage: