Skip to content

Instantly share code, notes, and snippets.

@romaindurand
romaindurand / AlternateRecipesSelector.md
Last active September 17, 2024 10:42
Satisfactory Alternate Recipes Selector

This script automatically selects all the alternate recipes you have unlocked in the Satisfactory Production Calculator tool

How to use

# get closest branch name in git history
git show-branch | grep '*' | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed 's/.*\[\(.*\)\].*/\1/' | sed 's/[\^~].*//'
# list the files modified by this branch
git diff --name-only branch_name_from_previous_command | cat
@romaindurand
romaindurand / test.ts
Created March 21, 2024 09:54
dynamic transformer
export interface AnyObject {
[key: string]: any;
}
type Transformers = typeof transformers;
type TransformerName = keyof Transformers;
const transformers = {
uppercase: (value: string) => value.toUpperCase(),
lowercase: (value: string) => value.toLowerCase(),
capitalize: (value: string) => value.charAt(0).toUpperCase() + value.slice(1),
macro start {
do move 147 112
pause 5
do move 100 22
do talk 0
do talk resp 2
do talk resp 0
do talk 0
do eq 2
do eq 3

ressemblance des acteurs de l'IA (male blanc quadra) qui peut avoir un impact sur la manière dont on conçoit les modèles

  • data for good
  • algo transparency

https://hippocrate.tech/

manque de diversité dans les jeux données données qui viennent du passé, donc à tendance conservatrice recommandation de contenus : quel choix d'objectif, car passer le plus de temps sur youtube, peut pousser des contenus qui tirent parti nos biais

function convert (text) {
text = text.toLowerCase()
text = text.split('')
return text.map(symbol => {
if (/([a-z]{1})/g.test(symbol)) return `:regional_indicator_${symbol}: `
if (symbol === ' ') return ' '
return symbol
}).join('')
}
// ==UserScript==
// @name Ecosia blacklist
// @namespace http://tampermonkey.net/
// @version 0.1
// @description blacklist domains in Ecosia results & open google results in same tab
// @author @romaindurand
// @match https://www.ecosia.org/*
// @grant none
// ==/UserScript==
[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((+(!+[]+!+[]+!+[]+[!+[]+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]
getDeviation(deviationId, cb) {
this.request('/deviation/' + deviationId, function(err, res, body) {
return cb(err, body);
});
}
getFolderDeviations(options, cb) {
options.folderId = options.folderId || "";
options.offset = options.offset || 0;
this.request({
if(shouldUpMine(mineLvl)) {
user.upMine();
}
function shouldUpMine (mineLvl) {
return hasEnoughGold(mineLvl) && hasEnoughXp(mineLvl);
}
function hasEnoughXp(mineLvl) {
return user.xp >= xpNeeded(mineLvl);