Skip to content

Instantly share code, notes, and snippets.

View sergeyklay's full-sized avatar

Serghei Iakovlev sergeyklay

View GitHub Profile
@sergeyklay
sergeyklay / simple-rag-example.py
Last active January 23, 2025 19:50
A Retrieval-Augmented Generation (RAG) proof-of-concept that uses Dense Passage Retrieval (DPR) and GPT-2 to answer questions from a document.
import sys
from typing import List, Optional, Tuple
import faiss
import numpy as np
import torch
from transformers import (
AutoModelForCausalLM,
AutoTokenizer,
DPRContextEncoder,

Find Repositories Without CODEOWNERS

This script fetches all repositories within a specified GitHub organization and identifies those without a CODEOWNERS file in repository root. It excludes archived/disabled repositories and forks.

Prerequisites

  1. Ensure you have Node.js installed.
  2. Install the required packages using npm:
#!/usr/bin/env bash
# Copyright (C) 2025 Serghei Iakovlev <gnu@serghei.pl>
#
# This file is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This file is distributed in the hope that it will be useful,
diff --git a/init.el b/init.el
index c431854..014d90c 100644
--- a/init.el
+++ b/init.el
@@ -284,7 +284,6 @@ Set DEBUG=1 in the command line or use --debug-init to enable this.")
;;;; Project management
(use-package project
- :defer t
:commands (project-find-file
1406x Cell/Indicators/Base.lua:317: attempt to compare number with nil
[string "@Cell/Indicators/Base.lua"]:317: in function <Cell/Indicators/Base.lua:284>
Locals:
self = CellAppearancePreviewIcon3 {
BottomLeftCorner = Texture {
}
showDuration = true
elapsed = 0
duration = FontString {
3x ...aceBlizzard_MapCanvas/Blizzard_MapCanvas.lua:189: attempt to call method 'CheckMouseButtonPassthrough' (a nil value)
[string "@Blizzard_MapCanvas/Blizzard_MapCanvas.lua"]:189: in function `AcquirePin'
[string "@TomTom/libs/HereBeDragons/HereBeDragons-Pins-2.0.lua"]:437: in function `HandlePin'
[string "@TomTom/libs/HereBeDragons/HereBeDragons-Pins-2.0.lua"]:733: in function `AddWorldMapIconMap'
[string "@TomTom/TomTom_Waypoints.lua"]:196: in function `SetWaypoint'
[string "@TomTom/TomTom.lua"]:1003: in function `AddWaypoint'
[string "@TomTom/TomTom_POIIntegration.lua"]:129: in function <TomTom/TomTom_POIIntegration.lua:32>
[string "@TomTom/TomTom_POIIntegration.lua"]:161: in function <TomTom/TomTom_POIIntegration.lua:157>
Locals:

My Personal WeeChat Cheat Sheet

Requirements

You need at least WeeChat 3.2-dev

Install

Ubuntu/Debian

@sergeyklay
sergeyklay / pyenv-install.md
Last active July 4, 2021 13:04
Multiple Python versions using pyenv and python-build

Multiple Python versions using pyenv and python-build

Installation

Install pyenv

git clone git@github.com:pyenv/pyenv.git ~/.pyenv
cd ~/.pyenv && src/configure && make -C src
@sergeyklay
sergeyklay / no-omit-frame-pointer.md
Last active July 6, 2021 10:57
GCC/Clang -fno-omit-frame-pointer and -fsanitize=address

Description

Frame pointer omission does make debugging significantly harder. Local variables are harder to locate and stack traces are much harder to reconstruct without a frame pointer to help out. Also, accessing parameters can get more expensive since they are far away from the top of the stack and may require more expensive addressing modes.

The -fno-omit-frame-pointer option direct the compiler to generate code that maintains and uses stack frame pointer for all functions so that a debugger can still produce a stack backtrace even with optimizations flags.

Irrespective if you use the flag, not every function needs a frame pointer in the first place, so you can't always expect a difference with the flag.

Also, whether the function has a frame pointer is an implementation detail. Compilers can differ in implementation details (and usually they do).

@sergeyklay
sergeyklay / rpn.kt
Last active May 30, 2020 09:17
Reverse Polish Notation
import java.util.Stack
import java.lang.Long.parseLong
fun String.isNumeric(): Boolean {
return try {
parseLong(this)
true
} catch (e: NumberFormatException) {
false
}