Skip to content

Instantly share code, notes, and snippets.

View ibaaj's full-sized avatar

Ismaïl Baaj ibaaj

  • Paris, France
View GitHub Profile
@ibaaj
ibaaj / arxiv-preparation.md
Created January 27, 2023 15:05 — forked from xiaohk/arxiv-preparation.md
Prepare for an arXiv submission

Submission Steps

  1. Download source code from Overleaf if you use it: menu -> download -> source.

  2. Strip comments and combine all tex files (f01-main.tex, f02-intro.tex, etc.) into one file arxiv_main.tex.

# Replace f01-main.tex with the main tex file in your overleaf project
latexpand --empty-comments f01-main.tex > arxiv_main.tex
@ibaaj
ibaaj / blocktoimg.py
Created August 13, 2018 09:58 — forked from laanwj/blocktoimg.py
tools to write (block) data to png files and vice versa
#!/usr/bin/env python3
# Distributed under the MIT software license
import binascii, struct, sys, io, argparse
from PIL import Image
IMG_WIDTH = 512 # could be made adaptive...
MIN_HEIGHT = 4 # minimum height of image; twitter won't let us upload anything smaller
BYTES_PER_PIXEL = 4 # RGBA, 8 bit
def div_roundup(x,y):
@ibaaj
ibaaj / 360TimelapseTutorial.md
Created October 13, 2017 18:51 — forked from Tomasvrba/360TimelapseTutorial.md
HD 360° Timelapse and FFmpeg tutorial

How to capture, stitch and publish a 360° timelapse

Consumer ready 360° cameras are becoming ever more accessible and many people are experimenting with a variety of 360° content. Out of the many cameras on the market the Ricoh Theta S is one of the most user-friendly, turn-key solutions with lots of built-in features. However, the camera's videos are limited 1920x960 resolution and the Theta+ app only lets you create a timelapse with up to 300 or 400 images. The workaround is to use interval shooting to capture as many images as you'd like at the 5376x2688 to full resolution and then stitch them together manually into an HD video. There are few GUI solutions (especially open-source/free) which let you do this with ease. Here's how you do it:

Set up interval shooting on your Ricoh Theta S

digraph mainmap {
resolution = 72;
node [fontsize = 10];
edge [fontsize = 9];
overlap = false;
sep=0.4
splines=true;xSatisfiability [label= "SATISFIABILITY" URL= "http://en.wikipedia.org/wiki/Satisfiability"style="bold", shape="ellipse", peripheries="2", fontsize ="14"];
xCircuitSatisfiability [label= "CIRCUIT SATISFIABILITY" URL= "" style ="filled", fillcolor ="#eeeeee" style="bold", shape="ellipse", peripheries="2", fontsize ="14"];
xMaxCut [label= "MAX CUT" URL= "http://en.wikipedia.org/wiki/Cut_(graph_theory)#Minimal_and_maximal_cuts"];
xJobSequencing [label= "JOB SEQUENCING" URL= "" style ="filled", fillcolor ="#eeeeee" ];
@ibaaj
ibaaj / MiniGraphUI.java
Created April 19, 2016 10:13 — forked from karussell/MiniGraphUI.java
Alternative Roads to Rome
/*
* Licensed to GraphHopper and Peter Karich under one or more contributor
* license agreements. See the NOTICE file distributed with this work for
* additional information regarding copyright ownership.
*
* GraphHopper licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
@ibaaj
ibaaj / MITM -SSL-Proxies.md
Created December 7, 2015 03:55 — forked from jeremiahsnapp/MITM -SSL-Proxies.md
Man In The Middle (MITM) SSL Proxies - Simple ways to see traffic between an SSL server and client in clear text.

HTTP(S) specific MITM SSL Proxies

mitmproxy

mitmproxy is an excellent console app written in Python.

It is easy to use on Linux and OS X.

Use brew install mitmproxy to install it on OS X.

@ibaaj
ibaaj / plot_runkeeper.R
Last active October 4, 2017 08:55 — forked from danielecook/plot_runkeeper.R
Create HeatMap of Runkeeper's data (forked)
find . -type f -name '*.gpx' -print | while read filename; do
echo "$filename";
cat "$filename"|grep " <trkpt"|head -n 1;
done > output.txt