Skip to content

Instantly share code, notes, and snippets.

@elazarl
elazarl / setup xen environment
Last active Dec 4, 2016
Setup Xen development environment
View setup xen environment
setup xen environment
@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 / qemu-with-bridge.py
Last active May 25, 2017
runs QEMU command, creating an isolated bridge with NAT internet access there, runs SSH daemon and adds bridge to QEMU's command line
View qemu-with-bridge.py
#!/usr/bin/python3
"""
This scripts creates an isolated network environment,
and adds necessary configuration to the given QEMU command line to run
in this network.
WARNING: for development purposes only, allows PE for every user on the host.
Typical Usage
@elazarl
elazarl / ifdef_guard_to_pragma_once.py
Created Sep 13, 2016
Convert .h files using ifdef guard to use pragma once
View ifdef_guard_to_pragma_once.py
#!/usr/bin/python
import sys
import os
import tempfile
import re
starts_with_ifndef = re.compile(r'^\s*#ifndef.*\n#define.*\n')
ends_with_endif = re.compile(r'#endif.*$')
@elazarl
elazarl / objdump-hexdump.c
Created Aug 8, 2016
C hexdump in objdump -x format
View objdump-hexdump.c
#include <ctype.h>
#include <stdio.h>
struct buf {
unsigned char *p;
uint64_t len;
};
void hexdump(struct buf buf) {
int i = 0;
@elazarl
elazarl / vagurl.sh
Created Jun 28, 2016
List vagrant box download URLs
View vagurl.sh
#!/bin/bash
if [ -z "$@" ]; then
echo Example usage:
echo $0 ubuntu/xenial64
echo Output:
echo https://atlas.hashicorp.com/ubuntu/boxes/xenial64/versions/20160627.0.0/providers/virtualbox.box
echo https://atlas.hashicorp.com/ubuntu/boxes/xenial64/versions/20160625.0.0/providers/virtualbox.box
echo ...
exit 1
fi
@elazarl
elazarl / jitter.c
Last active Apr 21, 2016
Compare rdtsc time passed before and after a call to nanosleep
View jitter.c
#include <errno.h>
#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <regex.h>
#include <time.h>
#include <stdbool.h>
@elazarl
elazarl / POD.h
Created Mar 6, 2016
Serializing dictionary to NSObjects, a la Go's json package
View POD.h
#import <Foundation/Foundation.h>
@interface POD : NSObject<NSCopying>
-(nonnull NSString *)description;
-(nonnull NSDictionary *)toDictionary;
+(nonnull id)fromDictionary:(nonnull NSDictionary *)dict;
-(nonnull id)copyWithZone:(nullable NSZone *)zone;
@end
@elazarl
elazarl / INT 13 fail
Last active Oct 19, 2015
Boot loader failure
View INT 13 fail
This is a demonstration of how INT 13, ah=42 fails after a while.
Run 'bash debug.sh`, then hit `c` a couple of times, you should
see that INT 13 returns with CF set, which means it had an error.
Why is it happening? The code is pretty simple, all it does is reading
a sector from the disk, and copying it to some place in the memory.
@elazarl
elazarl / parse_perf_events.c
Created Mar 27, 2015
A small C code sample, demonstrating the complexity of parsing the perf_event_open(2) buffer format
View parse_perf_events.c
int print_records_read(void *_this, void *buf, int size) {
int nread = 0;
struct perf_record_mmap *mmap_r;
struct perf_record_lost *lost_r;
struct perf_record_comm *comm_r;
struct perf_record_exit *exit_r;
struct perf_record_throttle *throttle_r;
struct perf_record_fork *fork_r;
struct perf_record_read *read_r;
struct print_records *pr = _this;