Skip to content

Instantly share code, notes, and snippets.

Fabien Arcellier FabienArcellier

  • Octo Technology
  • Paris
View GitHub Profile
@FabienArcellier
FabienArcellier / factorielle.prolog
Created Dec 20, 2012
Calculate a factoriel using prolog
View factorielle.prolog
fact(0,1).
fact(1,1).
fact(X, Result):- X > 1, X1 is X-1, fact(X1, Result1), Result is Result1 * X.
@FabienArcellier
FabienArcellier / system.py
Last active May 17, 2018
template to use python as command engine as you would use bash -ex
View system.py
#!/usr/bin/env python
import os
import sys
SCRIPT_DIR = os.path.realpath(os.path.join(__file__, '..'))
ROOT_DIR = os.path.realpath(os.path.join(SCRIPT_DIR, '..'))
def main(arguments):
@FabienArcellier
FabienArcellier / BitmapInfo.cs
Created Nov 28, 2012
Class in C# to extract pixel map from a specific channel
View BitmapInfo.cs
using System.Drawing;
namespace PictureHistogram
{
/// <summary>
/// Class that expose method to get pixel map from a specific channel
/// </summary>
class BitmapInfo
{
private Bitmap m_bitmap;
@FabienArcellier
FabienArcellier / prepare-commit-msg
Last active Dec 27, 2017
Sometime, it's useful to have the last 5 commits to name it's own commit. This hook will add this information in comment at the end of the text editor
View prepare-commit-msg
#!/bin/sh
#
# An example hook script to prepare the commit log message.
# Called by "git commit" with the name of the file that has the
# commit message, followed by the description of the commit
# message's source. The hook's purpose is to edit the commit
# message file. If the hook fails with a non-zero status,
# the commit is aborted.
#
# To enable this hook, rename this file to "prepare-commit-msg".
@FabienArcellier
FabienArcellier / logstash.conf
Last active Aug 10, 2017
Use ruby object in logstash ruby filter
View logstash.conf
input {
stdin {}
}
filter {
ruby {
init => "load('ruby.rb'); @val=Myclasse.new('value')"
code => "event['method']=@val.value()"
}
}
View app.py
#!/usr/bin/python
# coding=utf-8
import os
import tempfile
from subprocess import call
def main():
os.environ["TMPDIR"] = "/home/far/tmp"
print(tempfile.gettempdir())
View audit_aws.sh
#!/usr/bin/env bash
readonly SCRIPT_DIR=$(dirname "$(readlink -m "$0")");
function main
{
set -o errexit
set -o pipefail
set -o nounset
set -o errtrace
View loopdir.sh
function loopdir {
command=$*
for d in */ ; do (cd $d; $command); done
}
function loopdirp { ## loop over directory based on a glob pattern loopdirp 'a*' rm deploy.yml
pattern=$1
shift 1
command=$*
for d in $pattern/ ; do (cd $d; $command); done
View bash parallel on multi-file
#!/usr/bin/env bash
readonly SCRIPT_DIR=$(dirname $(readlink -m $0));
function main
{
if [ -z "$1" ] && [ -z "${2}" ]; then
error_exit "Argument Identifiant projet attentu : bash ${0} path"
fi
@FabienArcellier
FabienArcellier / BotObject.cs
Created Jan 14, 2014
This exemple not working. I try to implement a BOT engine in C# to understand what are good points and negative points. http://www.chris-granger.com/2012/12/11/anatomy-of-a-knockout/
View BotObject.cs
Class Element : BotObject
{
Behavior={":black", ":next_click_white"}
}
class BlackBehavior
{
Trigger = {":click"},
Reaction( (o) => {
System.WriteLine("Noir")
You can’t perform that action at this time.