Skip to content

Instantly share code, notes, and snippets.

View artsi0m's full-sized avatar
🖤

Artsiom K artsi0m

🖤
View GitHub Profile
@kant2002
kant2002 / Урок из Цезиума.md
Created March 7, 2024 08:33
Урок из Цезиума

Урок из Цезиума

Цезиум дает мне кучу анти-уроков по архитектуре компиляторов. Это явно не самый эффективный способ построения компилятора, так как вечный рефакторинг деморализует даже оптимистов вроде меня. Потому попробую рассказать как выглядит лень и не желание учить теорию.

Есть такая маленькая особенность в С, это то что в main последний return не обязателен и компилятор может его сам вставить за программиста. Мы как большие прагматики, сперва сделали какой-то костыль, чтобы тестовые програмки которые мы писали проходили. Просто смотрели на наличие return в теле функции и если его не было, компилятор возмущался. у нас тогда не было даже нормальных циклов в свитчей, потому это была победа. Но пришли циклы и с ними новые вызовы, добрый человек взял и начал строить граф зависимости между стейтментами, и пытался найти все ли пути ведут к выходу. Зашибись, прогресс идет. Но кто же знал что бывают бесконечные циклы, в которых есть return. Новый алгоритм с графами сломался :(. Сломался он пото

@Yuliosity
Yuliosity / pld_beginners.md
Last active August 9, 2025 08:08
Устройство ЯП для новичков — правила чата

Устройство ЯП для новичков — правила чата 0.1.1

Чат задуман как ответвление от @LanguageDev и @CompilerDev как для начинающих, которые стесняются тамошней суровой атмосферы, так и для альтруистов-профессионалов, готовых им помогать.

Можно и нужно:

  • Обсуждать языки программирования, компиляторы и всякие смежные темы (виртуальные машины, отладчики, линковщики, статические анализаторы, LSP и прочие плагины для IDE, ...).
  • Задавать любые вопросы по всем этим темам, не боясь, что бывалым они могут показаться глупыми.

С осторожностью:

@madwareru
madwareru / EOPL3_week_1.md
Last active November 4, 2023 16:29
пост-отзыв по книге Essentials Of Programming Languages после первой неполной недели чтения

Итак, пост-отзыв по EOPL3 после первой неполной недели чтения.

Из двух глав осилил пока только первую, где в основном столкнулся с проблематикой задания различных наборов данных через индукцию, как и было обещано в названии 🙂

Обычно, множества предлагается задавать через т.н. list comprehensions, которые есть во многих ФП языках типа хаскеля, а так же есть в python, C#, Kotlin и т.д.

Примеры ниже (на python, C# и Kotlin соответственно):

@hack-tramp
hack-tramp / AVRAwMSVS.txt
Last active May 29, 2024 16:30
How to compile AVRA with MS Visual Studio 2019
How to compile AVRA https://github.com/Ro5bert/avra
with MS Visual Studio 2019
New Project > Console Application > C++
(create it empty without any files)
Import all .c and .h files from AVRA src folder
In file.c, you will need to change line
#include <unistd.h> into:
@exocode
exocode / kicad-cheat-sheet.md
Created April 6, 2019 20:18
KiCad short manual and cheat sheet

Flow

  1. Design Circuit
  2. Create Symbols (library editor)
  3. Schematic capture (eeschema)
  4. Create footprints (footprint editor)
  5. Generate Netlist (cvpcb)
  6. Board layout (pcbnew)
  7. Production (gerbview)
  8. Generate BOM (Digi-Key)
@thefranke
thefranke / RSS.md
Last active December 26, 2025 00:21
A list of RSS endpoints, readers and resources

The RSS Endpoint List

Please refer to this blogpost to get an overview.

Replace *-INSTANCE with one of the public instances listed in the scrapers section. Replace CAPITALIZED words with their corresponding identifiers on the website.

Social Media

Twitter

@chrisswanda
chrisswanda / WireGuard_Setup.txt
Last active January 1, 2026 00:05
Stupid simple setting up WireGuard - Server and multiple peers
Install WireGuard via whatever package manager you use. For me, I use apt.
$ sudo add-apt-repository ppa:wireguard/wireguard
$ sudo apt-get update
$ sudo apt-get install wireguard
MacOS
$ brew install wireguard-tools
Generate key your key pairs. The key pairs are just that, key pairs. They can be
@voutilad
voutilad / vmm-alpine.sh
Created May 29, 2017 15:16
Installing Alpine Linux in OpenBSD's VMM Hypervisor
# Assuming you're a regular user that has doas allowances for vmctl
mkdir -p ~/vmm
cd ~/vmm
# Grab the the one of the virt iso's of Alpine Linux
curl https://nl.alpinelinux.org/alpine/v3.6/releases/x86_64/alpine-virt-3.6.0-x86_64.iso -o alpine-virt-3.6.0-x86_64.iso
# Make a new virtual disk image, change the size as needed
vmctl create alpine-virt.img -s 6G
@joshschmelzle
joshschmelzle / remap-capslock-to-control-win10.md
Last active October 19, 2025 20:02
Remap Caps Lock to Control on Windows 10

Ways to remap caps lock to control on Windows 10

These methods in this gist worked for me on my U.S.-based keyboard layouts. I am unsure about other layouts. If you have problems, revert your changes; delete the registry key you created (and reboot).

Update: you should probably scroll down to approach 4 where I suggest using Microsoft PowerToys Keyboard Manager.

Approach 1. Manually through regedit

Navigate to and create a new binary value in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout named Scancode Map.