Skip to content

Instantly share code, notes, and snippets.

@Ephasme
Ephasme / nav.py
Last active May 31, 2018 09:01
Script to navigate JSON exports
import json
import argparse
parser = argparse.ArgumentParser(description="JSON scrawler")
parser.add_argument('file')
parser.add_argument('-f', '--find')
parser.add_argument('-r', '--find-refs')
parser.add_argument('--details')
@Ephasme
Ephasme / MathieuGitAnswer.md
Last active March 26, 2018 19:19
MathieuGitAnswer

Après réflexion, je pense qu'il est important qu'Alex lise et valide ça aussi (après tout ils ont longuement travaillé sur des sujets très similaires). Je crois qu'il est nécessaire que nous nous comprenions parfaitement entre DT et QA avant de diffuser aux autres services, par conséquent, et afin que je puisse être compris par tout le monde (Roumanie inclue) je vais rédiger cette réponse en anglais.

I think the mail is not specific enough about the process, I will try to write a exhaustive list of all possible cases.

We chose to have merges and releases done at specific dates. Here is a diagram representing this ideal situation:

This seems nice and clean but it assumes that the number of features the dev team can produce in one month corresponds exactly to the number of feature the QA can test. What happen if it's not the case? Two situations are possible (regardless of the reasons):

@Ephasme
Ephasme / test_git_struct_for_module.py
Last active March 7, 2018 18:10
poc on git like structure for storing config
import json
import argparse
import copy
import hashlib
from posixpath import normpath, split
from itertools import groupby
from datetime import datetime
import time
import operator
import sqlite3
@Ephasme
Ephasme / test_split_json.py
Created March 4, 2018 17:31
Split a module into files
import json
import argparse
import copy
import hashlib
import os
import itertools
import operator
parser = argparse.ArgumentParser(description='JSON TOOL')
@Ephasme
Ephasme / Configuration Revision System.md
Last active March 22, 2018 13:57
Configuration Revision System
Font=RobotoMono NF
BoldAsFont=-1
Locale=fr_FR
Charset=UTF-8
import os
import shutil
from subprocess import call
from glob import glob
for path in glob('./**/obj', recursive=True):
shutil.rmtree(path, ignore_errors=True)
call('dotnet restore _Modularity.sln')
import json
import argparse
parser = argparse.ArgumentParser(description='JSON TOOL')
parser.add_argument('file')
args = parser.parse_args()
if args.file:

Migration JohnBost SFIv2 migration

GUID Fixing

How to detect problems:

ControlSecurityConfiguration

SELECT
	STRING_AGG(CAST(id as nvarchar(50)), ' / ')
{
"migrator_exe": "C:/dev/alcuin/alcuin/Tools/Migrator/Alcuin.Migration.Migrator.Console.exe",
"public_migration_dll": "C:/dev/alcuin/alcuin/Migration/output/Alcuin.Migration.Application.dll",
"config_migration_dll": "C:/dev/alcuin/alcuin/Migration/output/Alcuin.Migration.Configuration.dll",
"backup_directory": "C:/Program Files/Microsoft SQL Server/MSSQL14.MSSQLSERVER/MSSQL/Backup",
"server": "localhost",
"tenants": [
{
"name": "Alcuin1",