Skip to content

Instantly share code, notes, and snippets.

View foolnotion's full-sized avatar

Bogdan Burlacu foolnotion

View GitHub Profile
@foolnotion
foolnotion / hl_gen2_isolation_reply.md
Created July 30, 2026 07:25
Re: generation-2 isolation, population-parity-controlled

Re: generation-2 isolation, population-parity-controlled

Ran exactly the mirrored config. Answering the explicit open question first: HL_EVAL_FREE was OFF — this run uses --variant GP (SymbolicRegressionSingleObjectiveMeanSquaredErrorEvaluator, real NMSE on unoptimized coefficients, no LM step), confirmed live via [verify] ga.Problem.Evaluator = SymbolicRegressionSingleObjectiveMeanSquaredErrorEvaluator. Not the placeholder.

Config used

@foolnotion
foolnotion / hl_reinsertion_selectivity_reply.md
Created July 30, 2026 05:20
Re: replace-worst reinsertion selectivity follow-up

Re: does replace-worst reinsertion cull long trees more on your side?

Short answer: there's nothing to measure the way you measured it, because HL's config-6 algorithm has no reinsertion/culling step at all — not "a flatter gradient," but structurally zero pre/post competition among offspring. This isn't new instrumentation; it falls straight out of tracing GeneticAlgorithmMainLoop.cs's operator graph, which I'd already done for a different config in an earlier round (see "Reinsertion tie-breaking" in the README) but hadn't yet connected to config-6 specifically. Re-verified it applies identically here since

#!/usr/bin/env python3
"""
Decrypt SeedVault v2 (chunked) backups.
Format:
- BIP39 mnemonic -> PBKDF2-SHA512(salt="mnemonic", rounds=2048) -> 64-byte seed
- seed[:32] = legacy_key (unused for v2)
- seed[32:] = main_key
- stream_key = HKDF-expand(prk=main_key, info=b"app backup stream key", len=32)
- Each blob: [0x02 version] [Tink header: len(1)+salt(32)+nonce_prefix(7)] [1MB segments...]
template<typename InputIt, typename Projection>
struct ProjectionIterator {
using T = typename std::iterator_traits<InputIt>::value_type;
using R = std::result_of_t<Projection(T)>;
// projection iterator traits
using value_type = std::remove_reference_t<R>;
using pointer = void;
using reference = value_type&;
using difference_type = typename std::iterator_traits<InputIt>::difference_type;
# This file is part of EAP.
#
# EAP is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
#
# EAP is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@foolnotion
foolnotion / jsf.hpp
Created October 25, 2018 20:45 — forked from imneme/jsf.hpp
A C++ Implementation of Bob Jenkins's Small Fast Noncryptographic PRNG (JSF)
#ifndef JSF_HPP_INCLUDED
#define JSF_HPP_INCLUDED 1
/*
* A C++ implementation of a Bob Jenkins Small Fast (Noncryptographic) PRNGs
*
* The MIT License (MIT)
*
* Copyright (c) 2018 Melissa E. O'Neill
*
@foolnotion
foolnotion / random.h
Created October 25, 2018 19:58 — forked from Leandros/random.h
C++ Pseudo Random Number Generators
/* Copyright (c) 2018 Arvid Gerstmann. */
/* This code is licensed under MIT license. */
#ifndef AG_RANDOM_H
#define AG_RANDOM_H
class splitmix
{
public:
using result_type = uint32_t;
static constexpr result_type (min)() { return 0; }