diff --git a/README.en.md b/README.en.md new file mode 100644 index 0000000..ded4851 --- /dev/null +++ b/README.en.md @@ -0,0 +1,461 @@ +
+ +Michał DualFroz Fox, software developer from Kraków + +# Michał "DualFroz" Fox + +**Software developer building games and IT ecosystems, based in Kraków** + +Founder @ [VulCode](https://vulcode.com) + +Co-founder @ [Aphrodi](https://aphrodi.pl) + +Co-founder & Developer @ Lunatic Studios + +Lead Developer @ Flaem, Plazer, Gyred + + + + + + + + + + +
dualfroz.com
dualfroz.com
LinkedIn
LinkedIn
X
X
Instagram
Instagram
Discord
Discord
Email
Email
+ +[Polski](README.md) · **English** + +
+ +
+ +> _Hi, I'm Michał. I'm 18 and I'm from Kraków. I've been building all kinds of software projects regularly since 2020. For most of that time I focused on backend logic, but lately I've been shifting more towards design and UI/UX, fields that are far more resistant to the impact of LLMs. I believe creativity and ideas are two things that will stay untouched forever._ +> +> _I contribute to all kinds of open source projects often and actively. I like helping and supporting communities wherever I can. I know my work isn't always perfect, so I always review it carefully, making sure that only the highest-quality additions and fixes land in projects used by thousands or even millions of people._ +> +> _I have over 6 years of programming experience. In that time I've written **over 5,000,000** lines of code across **200+** projects. Altogether I've contributed to **53** open source repositories with a combined **410,000+** stars on GitHub._ +> +> _Outside of programming I'm interested in a lot of things: art, history, linguistics, mathematics, chess, music... the list goes on._ + +> **Now:** I've recently been working on finishing the first version of Flaem, a hosting panel. The project is written in several languages (TypeScript, Rust, Elixir, Golang, plus microservices in Java, Python and C) and adds up to almost a million lines of code. I'm planning the first release of Flaem for around October/November 2026. + +## 📫 Contact + + + + + + +
+ +- 🌐 Website: [dualfroz.com](https://dualfroz.com) +- ✉️ Email: [me@dualfroz.com](mailto:me@dualfroz.com) +- 💼 LinkedIn: [linkedin.com/in/dualfroz](https://www.linkedin.com/in/dualfroz/) +- 🐦 X: [x.com/dualfroz](https://x.com/dualfroz) +- 📸 Instagram: [instagram.com/dualfroz](https://www.instagram.com/dualfroz/) +- 💬 Discord: [DualFroz](https://discord.com/users/181326503601111041) +- 🏢 Company: [vulcode.com](https://vulcode.com) + + + My live Discord profile: status and activity +
+ +## 📖 Story + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
🌱 Beginnings
2020
My first lines of code. Simple static websites, each one teaching me something more interesting than the last. Nothing advanced yet, but everyone starts somewhere.
🎮 Servers and community
SCP: Secret Laboratory
I ran SCP:SL servers and wrote add-ons for them in C#. That work grew into Nebula: a set of plugins with a moderation tool and server statistics aggregation.
🛠️ Support and marketing
MatHost
Technical support across hundreds of tickets: game servers, Discord bots, Pterodactyl. This is where I really grew, and it shows. Between 2023 and 2025 I gained a huge amount of knowledge precisely by helping MatHost's customers.
💼 Client projects
since 2024
Serious freelance work: projects from start to finish, with a focus on system design, architecture and how everything works from the ground up. This is where I learned many of the things I use every day now.
🏢 My own software house
VulCode
I founded VulCode. Quoting the website: "VulCode is a Polish software house with years of experience. Since 2020 it has been delivering high-quality software and has written over 3 million lines of code. It specializes in websites, panels, dashboards and applications, as well as building scalable platforms. It actively contributes to dozens of open source projects."
🎨 Branding and marketing
Aphrodi
I co-run Aphrodi, a branding, digital and marketing studio that complements what VulCode builds in code. I regularly work on marketing and graphic design there, which rounds out my stack a little more every day.
🌍 Open source
today
I contribute to open source projects used by millions of people, from developer tools to libraries. As I said above, I simply like helping others. It gives me a lot of joy.
🚀 My own platforms
today
I build my own products: Flaem, Plazer, Gyred and the SaaS products Atrium and Lokal. There will be more over time, but for now I'm focused on polishing the existing projects rather than starting new ones.
+ +## 🏢 Companies and roles + + + + + + + + + + + + + + +
VulCode logoVulCode  founder
VulCode is a Polish software house with years of experience. Since 2020 it has been delivering high-quality software and has written over 3 million lines of code. It specializes in websites, panels, dashboards and applications, as well as building scalable platforms. It actively contributes to dozens of open source projects.
Aphrodi logoAphrodi  co-founder
A creative agency: branding, visual identity, web design, 3D graphics and video.
Lunatic Studios logoLunatic Studios  co-founder
An independent game studio: online chess with custom rules and a collection of mini games.
+ +## ⭐ Main projects + + + + + + + + + + + + + + +
FlaemFlaem  
A hosting and infrastructure platform: game servers and containers, VPS and LXC, network services (tunnels, transit, IP blocks, integrations with routers and anti-DDoS protection) and IPMI. Seven independent modules in Rust, Elixir and Go, a React panel, and apps for desktop, iOS and Android.
Plazer logoPlazer  
An end-to-end encrypted messenger: private, lightweight, highly customizable and self-hostable by anyone. Built around privacy, a small footprint and customization. Something I want to use myself.
Gyred logoGyred  
A panel for complex, long-running autonomous AI agent sessions, with an assistant that keeps long-term context in indexed text files. A useful tool for developers when used well.
+ +
+Smaller projects, with descriptions +
+ +- **Vulp**: a Rust terminal app for managing an entire workspace of repositories (repo state, sync, projects, pull requests, statistics) +- **Atrium**: a hotel panel with a live floor and room plan, reservations, housekeeping and room service +- **Lokal**: a panel for restaurants, bars and cafés with reservations on a floor plan, orders and staff scheduling +- **VulBio**: personal landing pages assembled from a panel, without touching code +- **Nebula**: plugins for SCP: Secret Laboratory, including server moderation and analytics +- **Pharos**: uptime monitoring with a public status page and incidents, a single Go binary +- **Frostbyte**: a hobby x86_64 operating system kernel in C and assembly +- **Cobalt**: an embedded key-value store built on an LSM tree, written in Zig +- **Gambit**: an alpha-beta chess engine in Scala 3 +- **Lumen**: a dynamically typed scripting language in Kotlin +- **Voxelforge**: a voxel engine in C++17 with a playable in-browser demo +- **Cellar**: a spreadsheet engine with a formula language, in Dart +- **Prism**: a Ruby web framework with no external dependencies +- **Bazaar**: an online store on a custom PHP microframework with Stripe +- **Chip8Sharp** and **GameBoySharp**: CHIP-8 and Game Boy emulators in C# + +
+ +## 🧰 What I do day to day + +Besides the main projects I do a lot of smaller things, both for clients and for myself: + +| | Area | Examples | +|---|---|---| +| 🌐 | **Websites, panels and apps for clients** | company websites with a CMS, client panels, dashboards, online stores, integrations and automations | +| ☁️ | **SaaS platforms** | I'm building platforms for the hosting, hotel and restaurant industries, and in the future I'd like to expand into more industries. | +| 🖥️ | **Hosting and infrastructure** | game servers, Pterodactyl, Docker, monitoring, my own stats API [ghapi](https://ghapi.dualfroz.com/v2/public), and above all Flaem. | +| ⚙️ | **Systems and low-level** | a hobby x86_64 kernel in C and assembly, a key-value database engine (LSM) in Zig, Game Boy and CHIP-8 emulators in C#. In short, I build all sorts of things just to learn how they work. | +| 🧪 | **Languages and engines** | a scripting language in Kotlin, a chess engine in Scala, a voxel engine in C++ with a WebAssembly demo, a spreadsheet engine in Dart. | +| 🎮 | **Games and plugins** | plugins for SCP: Secret Laboratory (Nebula), browser mini games and more.| +| 🤖 | **Bots and tools** | Discord bots, the Vulp terminal app for managing repositories, CLI tools, tools for AI agents. | +| 📱 | **Desktop and mobile** | apps for Windows, macOS, iOS and Android in Swift, Kotlin and C# | + + + +## 📊 In numbers + + + + + + + + + + + + + + +

5,994,022

lines of code

23,830

commits

200+

projects

410,000+

OSS project stars

53

open source projects

26

languages

1,655

working days
+ +```diff ++ 5,994,022 lines added +- 778,721 lines removed +! 5,215,301 net lines +``` + + +### Languages + +

+ Programming languages pie chart +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LanguageLines of codeCommitsShare
TypeScriptTypeScript2,274,5036,20346.0% ██████████
RustRust988,7532,51620.0% ████
GoGo281,7829075.7% █
KotlinKotlin206,2507964.2% █
C#C#162,8727523.3% █
JavaScriptJavaScript140,0245002.8% █
PHPPHP130,9141492.6% █
SwiftSwift116,8124372.4% █
ElixirElixir91,8104381.9% █
PythonPython84,3753171.7% █
HTMLHTML80,5551451.6% █
CSSCSS61,7175021.2% █
C++C++57,2753581.2% █
CC49,3463551.0% █
ZigZig44,5832840.9% █
SQLSQL38,1145900.8% █
RubyRuby37,6552630.8% █
LuaLua32,0532060.6% █
ShellShell29,4112630.6% █
JavaJava13,788750.3% █
DartDart6,013400.1% █
SoliditySolidity4,688330.1% █
HaskellHaskell3,609280.1% █
ScalaScala3,133290.1% █
F#F#3,017180.1% █
AssemblyAssembly39760.0% █
+ +**Frameworks and tools detected in my projects** (number of repositories) + +Docker 61 · React 30 · Express 27 · Vite 25 · Tailwind CSS 24 · Motion 18 · Prisma 16 · discord.js 14 · Serde 10 · Tokio 7 · reqwest 7 · Gorilla WebSocket 6 · SQLite 6 · xUnit 6 · Stripe 5 · Avalonia 4 · Axum 4 · JUnit 4 · PHPUnit 4 · Playwright 4 · SQLx 4 · Framer Motion 3 · Jetpack Compose 3 · Redis 3 · Vitest 3 · clap 3 · gRPC 3 · wasm-bindgen 3 · Android 2 · BullMQ 2 · Chart.js 2 · Coroutines 2 · Guzzle 2 · Jest 2 · Laravel 2 · Next.js 2 · Pterodactyl 2 · Zod 2 · aiohttp 2 · discord.py 2 · i18next 2 · webpack 2 · Cobra 1 · Discord.Net 1 · Docker SDK 1 · Ecto 1 · Electron 1 · Expo 1 · FastAPI 1 · GORM 1 · Gin 1 · HTTPX 1 · Json.NET 1 · Paper 1 · PostgreSQL 1 · Preact 1 · Ratatui 1 · React Native 1 · Spring Boot 1 · Tauri 1 · chi 1 · discordgo 1 · gopher-lua 1 · pytest 1 · tonic 1 + + +Counted by my own API [ghapi.dualfroz.com](https://ghapi.dualfroz.com/v2/public) across all repositories, private ones included. Updated every 24 hours. + +## 🌍 Open source + + +> Below is a list of projects I've contributed to (only those with accepted changes), sorted by star count. 610,000+ ⭐ in total across 74 repositories. The “Commits” column links to a repository with my commits (author, date and diff). + +| Project | Stars | Language | Changes | Commits | +|---|---|---|---|---| +| [mozilla/firefox](https://www.mozilla.org/firefox/) | – | JavaScript | +293 -14 | [4](https://git.dualfroz.com/dualfroz/mozilla-firefox-firefox) | +| [proxmox/proxmox-widget-toolkit](https://www.proxmox.com/) | – | Perl | +59 -31 | [6](https://git.dualfroz.com/dualfroz/proxmox-git-proxmox-widget-toolkit) | +| [proxmox/pve-manager](https://www.proxmox.com/) | – | Perl | +497 -72 | [31](https://git.dualfroz.com/dualfroz/proxmox-git-pve-manager) | +| [proxmox/pve-storage](https://www.proxmox.com/) | – | Perl | +1050 -13 | [8](https://git.dualfroz.com/dualfroz/proxmox-git-pve-storage) | +| [proxmox/qemu-server](https://www.proxmox.com/) | – | Perl | +438 -34 | [12](https://git.dualfroz.com/dualfroz/proxmox-git-qemu-server) | +| [zed-industries/zed](https://github.com/zed-industries/zed) | ⭐ 91.8k | Rust | +123 -10 | [11](https://git.dualfroz.com/dualfroz/zed-industries-zed) | +| [telegramdesktop/tdesktop](https://github.com/telegramdesktop/tdesktop) | ⭐ 33.3k | C++ | +24 -5 | [3](https://git.dualfroz.com/dualfroz/telegramdesktop-tdesktop) | +| [composer/composer](https://github.com/composer/composer) | ⭐ 29.5k | PHP | +142 -4 | [3](https://git.dualfroz.com/dualfroz/composer-composer) | +| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26.7k | C# | +4624 -13 | [16](https://git.dualfroz.com/dualfroz/icsharpcode-ILSpy) | +| [urfave/cli](https://github.com/urfave/cli) | ⭐ 24.3k | Go | +123 -12 | [3](https://git.dualfroz.com/dualfroz/urfave-cli) | +| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22.3k | PHP | +135 -4 | [6](https://git.dualfroz.com/dualfroz/PHPMailer-PHPMailer) | +| [postcss/autoprefixer](https://github.com/postcss/autoprefixer) | ⭐ 22.2k | JavaScript | +50 -4 | [5](https://git.dualfroz.com/dualfroz/postcss-autoprefixer) | +| [gleam-lang/gleam](https://github.com/gleam-lang/gleam) | ⭐ 22k | Rust | +134 -1 | [2](https://git.dualfroz.com/dualfroz/gleam-lang-gleam) | +| [twpayne/chezmoi](https://github.com/twpayne/chezmoi) | ⭐ 21.9k | Go | +43 -17 | [2](https://git.dualfroz.com/dualfroz/twpayne-chezmoi) | +| [Seldaek/monolog](https://github.com/Seldaek/monolog) | ⭐ 21.4k | PHP | +41 -2 | [2](https://git.dualfroz.com/dualfroz/Seldaek-monolog) | +| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21.4k | Rust | +88 -20 | [6](https://git.dualfroz.com/dualfroz/valeriansaliou-sonic) | +| [OpenRA/OpenRA](https://github.com/OpenRA/OpenRA) | ⭐ 17.6k | C# | +56 -5 | [2](https://git.dualfroz.com/dualfroz/OpenRA-OpenRA) | +| [briannesbitt/Carbon](https://github.com/briannesbitt/Carbon) | ⭐ 16.6k | PHP | +87 -0 | [3](https://git.dualfroz.com/dualfroz/briannesbitt-Carbon) | +| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15k | Go | +183 -18 | [4](https://git.dualfroz.com/dualfroz/PuerkitoBio-goquery) | +| [App-vNext/Polly](https://github.com/App-vNext/Polly) | ⭐ 14.2k | C# | +19 -1 | [1](https://git.dualfroz.com/dualfroz/App-vNext-Polly) | +| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13.6k | Go | +19 -13 | [8](https://git.dualfroz.com/dualfroz/hajimehoshi-ebiten) | +| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13.2k | PHP | +115 -3 | [4](https://git.dualfroz.com/dualfroz/filp-whoops) | +| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12.2k | JavaScript | +124 -11 | [38](https://git.dualfroz.com/dualfroz/spencermountain-compromise) | +| [doctrine/lexer](https://github.com/doctrine/lexer) | ⭐ 11.1k | PHP | +72 -2 | [2](https://git.dualfroz.com/dualfroz/doctrine-lexer) | +| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9.9k | PHP | +127 -7 | [7](https://git.dualfroz.com/dualfroz/kanboard-kanboard) | +| [FluentValidation/FluentValidation](https://github.com/FluentValidation/FluentValidation) | ⭐ 9.8k | C# | +14 -1 | [2](https://git.dualfroz.com/dualfroz/FluentValidation-FluentValidation) | +| [serilog/serilog](https://github.com/serilog/serilog) | ⭐ 8.1k | C# | +12 -0 | [2](https://git.dualfroz.com/dualfroz/serilog-serilog) | +| [concourse/concourse](https://github.com/concourse/concourse) | ⭐ 7.9k | Go | +154 -24 | [1](https://git.dualfroz.com/dualfroz/concourse-concourse) | +| [predis/predis](https://github.com/predis/predis) | ⭐ 7.8k | PHP | +410 -28 | [5](https://git.dualfroz.com/dualfroz/predis-predis) | +| [vscode-neovim/vscode-neovim](https://github.com/vscode-neovim/vscode-neovim) | ⭐ 7.8k | TypeScript | +65 -2 | [6](https://git.dualfroz.com/dualfroz/vscode-neovim-vscode-neovim) | +| [NLog/NLog](https://github.com/NLog/NLog) | ⭐ 6.5k | C# | +19 -0 | [15](https://git.dualfroz.com/dualfroz/NLog-NLog) | +| [maildev/maildev](https://github.com/maildev/maildev) | ⭐ 6.1k | TypeScript | +69 -13 | [8](https://git.dualfroz.com/dualfroz/maildev-maildev) | +| [Pagefind/pagefind](https://github.com/Pagefind/pagefind) | ⭐ 5.5k | Rust | +48 -2 | [10](https://git.dualfroz.com/dualfroz/Pagefind-pagefind) | +| [xoofx/markdig](https://github.com/xoofx/markdig) | ⭐ 5.3k | C# | +223 -7 | [8](https://git.dualfroz.com/dualfroz/xoofx-markdig) | +| [dromara/carbon](https://github.com/dromara/carbon) | ⭐ 5.2k | Go | +41 -4 | [1](https://git.dualfroz.com/dualfroz/dromara-carbon) | +| [alecthomas/chroma](https://github.com/alecthomas/chroma) | ⭐ 5.1k | Go | +90 -3 | [1](https://git.dualfroz.com/dualfroz/alecthomas-chroma) | +| [olekukonko/tablewriter](https://github.com/olekukonko/tablewriter) | ⭐ 4.8k | Go | +16 -0 | [1](https://git.dualfroz.com/dualfroz/olekukonko-tablewriter) | +| [knadh/koanf](https://github.com/knadh/koanf) | ⭐ 4.2k | Go | +135 -10 | [2](https://git.dualfroz.com/dualfroz/knadh-koanf) | +| [spencermountain/spacetime](https://github.com/spencermountain/spacetime) | ⭐ 4.1k | JavaScript | +15 -40 | [7](https://git.dualfroz.com/dualfroz/spencermountain-spacetime) | +| [itchyny/gojq](https://github.com/itchyny/gojq) | ⭐ 3.8k | Go | +42 -5 | [9](https://git.dualfroz.com/dualfroz/itchyny-gojq) | +| [Suor/funcy](https://github.com/Suor/funcy) | ⭐ 3.5k | Python | +18 -2 | [2](https://git.dualfroz.com/dualfroz/Suor-funcy) | +| [thephpleague/csv](https://github.com/thephpleague/csv) | ⭐ 3.5k | PHP | +22 -9 | [2](https://git.dualfroz.com/dualfroz/thephpleague-csv) | +| [composer/satis](https://github.com/composer/satis) | ⭐ 3.3k | PHP | +55 -10 | [5](https://git.dualfroz.com/dualfroz/composer-satis) | +| [montanaflynn/stats](https://github.com/montanaflynn/stats) | ⭐ 3k | Go | +66 -23 | [3](https://git.dualfroz.com/dualfroz/montanaflynn-stats) | +| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 3k | Go | +124 -14 | [24](https://git.dualfroz.com/dualfroz/versity-versitygw) | +| [thephpleague/commonmark](https://github.com/thephpleague/commonmark) | ⭐ 3k | PHP | +17 -0 | [2](https://git.dualfroz.com/dualfroz/thephpleague-commonmark) | +| [mitsuhiko/insta](https://github.com/mitsuhiko/insta) | ⭐ 3k | Rust | +8 -2 | [1](https://git.dualfroz.com/dualfroz/mitsuhiko-insta) | +| [BurntSushi/jiff](https://github.com/BurntSushi/jiff) | ⭐ 3k | Rust | +37 -5 | [1](https://git.dualfroz.com/dualfroz/BurntSushi-jiff) | +| [zzzprojects/html-agility-pack](https://github.com/zzzprojects/html-agility-pack) | ⭐ 2.9k | C# | +158 -2 | [2](https://git.dualfroz.com/dualfroz/zzzprojects-html-agility-pack) | +| [Paymenter/Paymenter](https://github.com/Paymenter/Paymenter) | ⭐ 2.7k | PHP | +135 -11 | [4](https://git.dualfroz.com/dualfroz/Paymenter-Paymenter) | +| [api-platform/core](https://github.com/api-platform/core) | ⭐ 2.6k | PHP | +52 -27 | [2](https://git.dualfroz.com/dualfroz/api-platform-core) | +| [pelican/panel](https://github.com/pelican/panel) | ⭐ 2.4k | PHP | +64 -3 | [3](https://git.dualfroz.com/dualfroz/pelican-panel) | +| [gookit/goutil](https://github.com/gookit/goutil) | ⭐ 2.4k | Go | +12 -0 | [4](https://git.dualfroz.com/dualfroz/gookit-goutil) | +| [dedoc/scramble](https://github.com/dedoc/scramble) | ⭐ 2.2k | PHP | +23 -0 | [2](https://git.dualfroz.com/dualfroz/dedoc-scramble) | +| [gocarina/gocsv](https://github.com/gocarina/gocsv) | ⭐ 2.2k | Go | +89 -2 | [5](https://git.dualfroz.com/dualfroz/gocarina-gocsv) | +| [thephpleague/html-to-markdown](https://github.com/thephpleague/html-to-markdown) | ⭐ 1.9k | PHP | +3 -2 | [6](https://git.dualfroz.com/dualfroz/thephpleague-html-to-markdown) | +| [AfterShip/email-verifier](https://github.com/AfterShip/email-verifier) | ⭐ 1.6k | Go | +99 -3 | [3](https://git.dualfroz.com/dualfroz/AfterShip-email-verifier) | +| [fabiocaccamo/python-benedict](https://github.com/fabiocaccamo/python-benedict) | ⭐ 1.6k | Python | +66 -5 | [2](https://git.dualfroz.com/dualfroz/fabiocaccamo-python-benedict) | +| [gookit/color](https://github.com/gookit/color) | ⭐ 1.6k | Go | +12 -1 | [3](https://git.dualfroz.com/dualfroz/gookit-color) | +| [olebedev/when](https://github.com/olebedev/when) | ⭐ 1.5k | Go | +45 -1 | [4](https://git.dualfroz.com/dualfroz/olebedev-when) | +| [dgilland/pydash](https://github.com/dgilland/pydash) | ⭐ 1.4k | Python | +18 -5 | [4](https://git.dualfroz.com/dualfroz/dgilland-pydash) | +| [cakephp/chronos](https://github.com/cakephp/chronos) | ⭐ 1.4k | PHP | +17 -2 | [2](https://git.dualfroz.com/dualfroz/cakephp-chronos) | +| [go-playground/form](https://github.com/go-playground/form) | ⭐ 931 | Go | +35 -0 | [2](https://git.dualfroz.com/dualfroz/go-playground-form) | +| [mkideal/cli](https://github.com/mkideal/cli) | ⭐ 723 | Go | +22 -1 | [2](https://git.dualfroz.com/dualfroz/mkideal-cli) | +| [gookit/config](https://github.com/gookit/config) | ⭐ 585 | Go | +29 -8 | [2](https://git.dualfroz.com/dualfroz/gookit-config) | +| [rust-syndication/rss](https://github.com/rust-syndication/rss) | ⭐ 502 | Rust | +24 -2 | [2](https://git.dualfroz.com/dualfroz/rust-syndication-rss) | +| [kelindar/bitmap](https://github.com/kelindar/bitmap) | ⭐ 385 | Assembly | +146 -12 | [5](https://git.dualfroz.com/dualfroz/kelindar-bitmap) | +| [brick/date-time](https://github.com/brick/date-time) | ⭐ 361 | PHP | +67 -36 | [3](https://git.dualfroz.com/dualfroz/brick-date-time) | +| [pydantic/pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | ⭐ 338 | Python | +124 -1 | [2](https://git.dualfroz.com/dualfroz/pydantic-pydantic-extra-types) | +| [rodaine/table](https://github.com/rodaine/table) | ⭐ 324 | Go | +32 -2 | [2](https://git.dualfroz.com/dualfroz/rodaine-table) | +| [wroberts/pytimeparse](https://github.com/wroberts/pytimeparse) | ⭐ 299 | Python | +5 -1 | [3](https://git.dualfroz.com/dualfroz/wroberts-pytimeparse) | +| [QEDK/configparser-rs](https://github.com/QEDK/configparser-rs) | ⭐ 88 | Rust | +22 -1 | [3](https://git.dualfroz.com/dualfroz/QEDK-configparser-rs) | +| [thephpleague/uri-src](https://github.com/thephpleague/uri-src) | ⭐ 51 | PHP | +18 -2 | [4](https://git.dualfroz.com/dualfroz/thephpleague-uri-src) | +| [spiral/testing](https://github.com/spiral/testing) | ⭐ 7 | PHP | +255 -6 | [5](https://git.dualfroz.com/dualfroz/spiral-testing) | + + + +## 🛠️ Technologies + +### Programming languages + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeScript
TypeScript
Rust
Rust
JavaScript
JavaScript
Go
Go
PHP
PHP
C#
C#
Python
Python
Kotlin
Kotlin
Elixir
Elixir
Swift
Swift
C++
C++
Java
Java
C
C
Dart
Dart
Solidity
Solidity
Ruby
Ruby
Lua
Lua
Zig
Zig
Haskell
Haskell
Scala
Scala
F#
F#
Assembly
Assembly
+ +### Backend and DevOps + + + + + + + + + + + + + + + + + + + +
Node.js
Node.js
ASP.NET Core
ASP.NET Core
Laravel
Laravel
Symfony
Symfony
Django
Django
Flask
Flask
FastAPI
FastAPI
Docker
Docker
Kubernetes
Kubernetes
nginx
nginx
Grafana
Grafana
Linux
Linux
Git
Git
+ +### Databases + + + + + + + + + + + + + + + + +
PostgreSQL
PostgreSQL
MySQL
MySQL
MariaDB
MariaDB
SQLite
SQLite
Redis
Redis
MongoDB
MongoDB
ClickHouse
ClickHouse
Cassandra
Cassandra
Prisma
Prisma
JSON
JSON
+ +### Frontend and apps + + + + + + + + + + + + + + + + + + + + +
React
React
Next.js
Next.js
Vue
Vue
Angular
Angular
Astro
Astro
Vite
Vite
Tailwind CSS
Tailwind CSS
Bootstrap
Bootstrap
HTML
HTML
CSS
CSS
Sass
Sass
Electron
Electron
Tauri
Tauri
Avalonia
Avalonia
+ +### Software + + + + + + + + + + + + + + + + + + +
VS Code
VS Code
Visual Studio
Visual Studio
JetBrains IDEs
JetBrains IDEs
Android Studio
Android Studio
Xcode
Xcode
Unity
Unity
Godot
Godot
Unreal Engine
Unreal Engine
Figma
Figma
Photoshop
Photoshop
DaVinci Resolve
DaVinci Resolve
Blender
Blender
+ +Details on how I use each technology: [dualfroz.com/en/stack](https://dualfroz.com/en/stack) + +## ♟️ Beyond code + +> In short: I love... thinking. I enjoy solving nonograms and sudoku with complex rules, and I play chess for at least an hour a day. I regularly go past 2000+ elo on chess.com, but unfortunately my account keeps getting banned by chess.com (false-positive cheating flags). Soon I'll be going for a FIDE title (CM), which should clear me of the ridiculous accusations from chess.com's incompetent staff. I'm also going to apply to Mensa. + +## 🤝 Working together + +| Topic | Where | +|---|---| +| Commercial work: website, panel, app, platform | [vulcode.com](https://vulcode.com) | +| Branding, design, graphics and video | [aphrodi.pl](https://aphrodi.pl) | +| Open source, a chat, recruitment, anything else | [me@dualfroz.com](mailto:me@dualfroz.com) (or socials!)| diff --git a/README.md b/README.md index ae734c1..4e319a2 100644 --- a/README.md +++ b/README.md @@ -1,606 +1,461 @@ -# Michał "DualFroz" Fox +
-Full-stack developer from Kraków, Founder & CEO of [VulCode](https://vulcode.com). I build web apps, panels, bots and infrastructure, -and I fix bugs in the open source tools I use every day. +Michał DualFroz Fox, programista z Krakowa -[dualfroz.com](https://dualfroz.com) · [vulcode.com](https://vulcode.com) · me@dualfroz.com +# Michał „DualFroz” Fox -## Open source contributions +**Programista, deweloper gier i ekosystemów IT z Krakowa** -**147 merged pull requests** in **74 projects** with **610 420 GitHub stars** combined. +Założyciel @ [VulCode](https://vulcode.com) -Every project links to a repository here with my commits to it (original author, date and diff). Pull request links point to the upstream project. +Współzałożyciel @ [Aphrodi](https://aphrodi.pl) -| Project | Merged | +Współzałożyciel & Deweloper @ Lunatic Studios + +Główny Deweloper @ Flaem, Plazer, Gyred + + + + + + + + + + +
dualfroz.com
dualfroz.com
LinkedIn
LinkedIn
X
X
Instagram
Instagram
Discord
Discord
E-mail
E-mail
+ +**Polski** · [English](README.en.md) + +
+ +
+ +> _Hej, jestem Michał. Jestem z Krakowa i mam 18 lat. Od 2020 roku regularnie tworzę różnego rodzaju projekty programistyczne. Większość czasu spędziłem tworząc logiki backendowe, ale ostatnimi czasy zacząłem skupiać się bardziej na designie i UIUX, które są dziedzinami zdecydowanie bardziej odpornymi na wpływ LLMów - wierzę że kreatywność i pomysł to dwie rzeczy, które zostaną na zawsze nietknięte._ +> +> _Często i aktywnie kontrybuuje do różnego rodzaju projektów open source. Lubię pomagać i wspierać społeczności tam, gdzie potrafię. Choć wiem że nie moja praca nie zawsze jest idealna, zawsze staram się ją przeglądać tak, aby najwyższej jakości dodatki i poprawki trafiały do projektów używanych przez tysiące/miliony._ +> +> _Mam ponad 6 lat doświadczenia w programowaniu. W tym czasie napisałem **ponad 5 000 000** linijek kodu w **200+** projektach. Łącznie dołożyłem swoją cegiełkę do **53** repozytoriów open source, które łącznie mają **410 000+** gwiazdek na GitHubie._ +> +> _Poza programowaniem interesuję się wieloma rzeczami - sztuką, historią, lingwistyką, matematyką, szachami, muzyką... długo by wymieniać._ + +> **Teraz:** Od niedawna pracuję nad ukończeniem pierwszej wersji Flaema, panelu hostingowego. Projekt jest napisany w kilku językach (TypeScript, Rust, Elixir, Golang, a także mikroserwisy w Javie, Pythonie, C) i łącznie składa się z prawie miliona linijek kodu. Pierwsze wydanie Flaema planuję na ~ październik/listopad 2026. + +## 📫 Kontakt + + + + + + +
+ +- 🌐 Strona: [dualfroz.com](https://dualfroz.com) +- ✉️ E-mail: [me@dualfroz.com](mailto:me@dualfroz.com) +- 💼 LinkedIn: [linkedin.com/in/dualfroz](https://www.linkedin.com/in/dualfroz/) +- 🐦 X: [x.com/dualfroz](https://x.com/dualfroz) +- 📸 Instagram: [instagram.com/dualfroz](https://www.instagram.com/dualfroz/) +- 💬 Discord: [DualFroz](https://discord.com/users/181326503601111041) +- 🏢 Firma: [vulcode.com](https://vulcode.com) + + + Mój profil Discord na żywo: status i aktywność +
+ +## 📖 Historia + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
🌱 Początki
2020
Pierwsze linijki kodu. Proste strony statyczne, każda następna uczyła coraz to ciekawszych kwestii. Nie było tu jeszcze nic zaawansowanego, ale każdy zaczynał od czegoś.
🎮 Serwery i społeczność
SCP: Secret Laboratory
Prowadziłem serwery SCP:SL i pisałem do nich dodatki w C#. Z nich wyrosła Nebula: zestaw pluginów z narzędziem do moderacji i agregacji statystyk z serwera.
🛠️ Support i marketing
MatHost
Support techniczny przez setki zgłoszeń: serwery gier, boty Discord, Pterodactyl. Dzięki temu naprawdę się rozwinąłem, co z resztą widać po rozwoju. W latach 2023-2025 zdobyłem ogromną wiedzę, dzięki właśnie pomaganiu klientom MatHost.
💼 Projekty dla klientów
od 2024
Mocny freelance: projekty od początku do końca, ze skupieniem na designie systemu, architekturze, i tym jak wszystko działa od podstaw. Tutaj nauczyłem się wielu rzeczy, których dziś używam na codzień.
🏢 Własny software house
VulCode
Założyłem VulCode. Cytując ze strony: "VulCode to polski software house z wieloletnim doświadczeniem. Od 2020 roku dostarcza oprogramowanie wysokiej jakości i napisał już ponad 3 mln linijek kodu. Specjalizuje się w stronach, panelach i dashboardach oraz aplikacjach, a także w budowie skalowalnych platform. Aktywnie kontrybuuje do dziesiątek projektów open source."
🎨 Branding i marketing
Aphrodi
Współtworzę Aphrodi, studio brandingu, digitalu i marketingu, które dopełnia to, co w VulCode powstaje w kodzie. Regularnie udzielam się w zakresie marketingu oraz samego designu graficznego, dzięki czemu dopełniam swój stack - z każdym dniem coraz bardziej.
🌍 Open source
dziś
Dokładam się do projektów open source, z których korzystają miliony ludzi, od narzędzi deweloperskich po biblioteki - tak jak opisywalem wyżej, po prostu lubię pomagać innym. Sprawia mi to ogromną przyjemność.
🚀 Własne platformy
dziś
Buduję własne produkty: Flaema, Plazera, Gyreda oraz SaaS-y Atrium i Lokal. Z czasem będzie ich więcej, ale obecnie jestem skupiony raczej na dopracowaniu istniejących projektów, niż tworzeniu nowych.
+ +## 🏢 Firmy i role + + + + + + + + + + + + + + +
Logo VulCodeVulCode  założyciel
VulCode to polski software house z wieloletnim doświadczeniem. Od 2020 roku dostarcza oprogramowanie wysokiej jakości i napisał już ponad 3 mln linijek kodu. Specjalizuje się w stronach, panelach i dashboardach oraz aplikacjach, a także w budowie skalowalnych platform. Aktywnie kontrybuuje do dziesiątek projektów open source.
Logo AphrodiAphrodi  współzałożyciel
Agencja kreatywna: branding, identyfikacja wizualna, projektowanie stron, grafika 3D i wideo.
Logo Lunatic StudiosLunatic Studios  współzałożyciel
Niezależne studio gier: szachy online z własnymi zasadami i zestaw mini gier.
+ +## ⭐ Główne projekty + + + + + + + + + + + + + + +
FlaemFlaem  
Platforma do hostingu i infrastruktury: serwery gier i kontenery, VPS i LXC, usługi sieciowe (tunele, tranzyty, bloki IP, integracje z routerami i ochroną anty-DDoS) oraz IPMI. Siedem niezależnych modułów w Rust, Elixirze i Go, panel w React, aplikacje na desktop, iOS i Androida.
Logo PlazerPlazer  
Komunikator szyfrowany end-to-end: prywatny, lekki, z dużymi możliwościami personalizacji i do samodzielnego hostowania przez każdego. Nastawiony własnie na prywatność, bycie light weight i customizację. Coś, czego sam chcę używać.
Logo GyredGyred  
Panel do złożonych, długich sesji autonomicznych agentów AI, z asystentem, który trzyma długoterminowy kontekst w zindeksowanych plikach tekstowych. Przydatne narzędzie dla deweloperów, jesli odpowiednio wykorzystane.
+ +
+Mniejsze projekty z opisem +
+ +- **Vulp**: aplikacja terminalowa w Rust do zarządzania całym workspace'em repozytoriów (stan repo, synchronizacja, projekty, pull requesty, statystyki) +- **Atrium**: panel dla hoteli z żywym planem pięter i pokoi, rezerwacjami, housekeepingiem i room service +- **Lokal**: panel dla restauracji, barów i kawiarni z rezerwacjami na planie sali, zamówieniami i grafikiem +- **VulBio**: strony wizytówki składane z panelu, bez dotykania kodu +- **Nebula**: pluginy do SCP: Secret Laboratory, w tym moderacja i analityka serwerów +- **Pharos**: monitoring dostępności z publiczną stroną statusu i incydentami, jedno binarium Go +- **Frostbyte**: hobbystyczne jądro systemu operacyjnego x86_64 w C i asemblerze +- **Cobalt**: wbudowany magazyn klucz-wartość oparty o drzewo LSM, napisany w Zig +- **Gambit**: silnik szachowy alfa-beta w Scali 3 +- **Lumen**: dynamicznie typowany język skryptowy w Kotlinie +- **Voxelforge**: silnik voxelowy w C++17 z grywalnym demo w przeglądarce +- **Cellar**: silnik arkusza kalkulacyjnego z językiem formuł w Dart +- **Prism**: framework webowy w Ruby bez zewnętrznych bibliotek +- **Bazaar**: sklep internetowy na własnym mikroframeworku PHP ze Stripe +- **Chip8Sharp** i **GameBoySharp**: emulatory CHIP-8 i Game Boya w C# + +
+ +## 🧰 Czym się zajmuję na co dzień + +Poza głównymi projektami robię dużo mniejszych rzeczy, zarówno na zlecenie, jak i dla siebie: + +| | Obszar | Przykłady | +|---|---|---| +| 🌐 | **Strony, panele i aplikacje na zlecenie** | strony firmowe z CMS-em, panele klienta, dashboardy, sklepy, integracje i automatyzacje | +| ☁️ | **Platformy SaaS** | Pracuję nad platformami dla branży: hostingowej, hotelarskiej, restauracyjnej, a w przyszłości chciałbym poszerzyć działalność o kolejne branże. | +| 🖥️ | **Hosting i infrastruktura** | serwery gier, Pterodactyl, Docker, monitoring, własne API do statystyk [ghapi](https://ghapi.dualfroz.com/v2/public), i przede wszystkim Flaem. | +| ⚙️ | **Systemy i niski poziom** | hobbystyczne jądro systemu x86_64 w C i asemblerze, silnik bazy klucz-wartość (LSM) w Zig, emulatory Game Boy i CHIP-8 w C#. Podsumowując, robię różne rzeczy tylko po to żeby się nauczyć jak co działa. | +| 🧪 | **Języki i silniki** | język skryptowy w Kotlinie, silnik szachowy w Scali, silnik voxelowy w C++ z demem w WebAssembly, silnik arkuszy kalkulacyjnych w Dart. | +| 🎮 | **Gry i pluginy** | pluginy do SCP: Secret Laboratory (Nebula), mini-gry przeglądarkowe i nie tylko.| +| 🤖 | **Boty i narzędzia** | boty Discord, aplikacja terminalowa Vulp do zarządzania repozytoriami, narzędzia CLI, narzędzia dla agentów AI. | +| 📱 | **Desktop i mobile** | aplikacje na Windows, macOS, iOS i Androida w Swift, Kotlinie i C# | + + + +## 📊 W liczbach + + + + + + + + + + + + + + +

5 994 022

linii kodu

23 830

commitów

200+

projektów

410 000+

gwiazdek projektów OSS

53

projektów open source

26

języków

1 655

dni pracy
+ +```diff ++ 5 994 022 linii dodanych +- 778 721 linii usuniętych +! 5 215 301 linii netto +``` + + +### Języki + +

+ Wykres kołowy języków programowania +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
JęzykLinie koduCommityUdział
TypeScriptTypeScript2 274 5036 20346,0% ██████████
RustRust988 7532 51620,0% ████
GoGo281 7829075,7% █
KotlinKotlin206 2507964,2% █
C#C#162 8727523,3% █
JavaScriptJavaScript140 0245002,8% █
PHPPHP130 9141492,6% █
SwiftSwift116 8124372,4% █
ElixirElixir91 8104381,9% █
PythonPython84 3753171,7% █
HTMLHTML80 5551451,6% █
CSSCSS61 7175021,2% █
C++C++57 2753581,2% █
CC49 3463551,0% █
ZigZig44 5832840,9% █
SQLSQL38 1145900,8% █
RubyRuby37 6552630,8% █
LuaLua32 0532060,6% █
ShellShell29 4112630,6% █
JavaJava13 788750,3% █
DartDart6 013400,1% █
SoliditySolidity4 688330,1% █
HaskellHaskell3 609280,1% █
ScalaScala3 133290,1% █
F#F#3 017180,1% █
AssemblyAssembly39760,0% █
+ +**Frameworki i narzędzia wykryte w projektach** (liczba repozytoriów) + +Docker 61 · React 30 · Express 27 · Vite 25 · Tailwind CSS 24 · Motion 18 · Prisma 16 · discord.js 14 · Serde 10 · Tokio 7 · reqwest 7 · Gorilla WebSocket 6 · SQLite 6 · xUnit 6 · Stripe 5 · Avalonia 4 · Axum 4 · JUnit 4 · PHPUnit 4 · Playwright 4 · SQLx 4 · Framer Motion 3 · Jetpack Compose 3 · Redis 3 · Vitest 3 · clap 3 · gRPC 3 · wasm-bindgen 3 · Android 2 · BullMQ 2 · Chart.js 2 · Coroutines 2 · Guzzle 2 · Jest 2 · Laravel 2 · Next.js 2 · Pterodactyl 2 · Zod 2 · aiohttp 2 · discord.py 2 · i18next 2 · webpack 2 · Cobra 1 · Discord.Net 1 · Docker SDK 1 · Ecto 1 · Electron 1 · Expo 1 · FastAPI 1 · GORM 1 · Gin 1 · HTTPX 1 · Json.NET 1 · Paper 1 · PostgreSQL 1 · Preact 1 · Ratatui 1 · React Native 1 · Spring Boot 1 · Tauri 1 · chi 1 · discordgo 1 · gopher-lua 1 · pytest 1 · tonic 1 + + +Liczone przez moje API [ghapi.dualfroz.com](https://ghapi.dualfroz.com/v2/public) ze wszystkich repozytoriów, także prywatnych. Aktualizowane raz na 24 godziny. + +## 🌍 Open source + + +> Poniżej lista projektów, do których kontrybuowałem (tylko te z zaakceptowanymi zmianami). Projekty posortowane według liczby gwiazdek. Łącznie 610 000+ ⭐ w 74 repozytoriach. Kolumna „Commity” prowadzi do repozytorium z moimi commitami (autor, data, diff). + +| Projekt | Gwiazdki | Język | Zmiany | Commity | +|---|---|---|---|---| +| [mozilla/firefox](https://www.mozilla.org/firefox/) | – | JavaScript | +293 -14 | [4](https://git.dualfroz.com/dualfroz/mozilla-firefox-firefox) | +| [proxmox/proxmox-widget-toolkit](https://www.proxmox.com/) | – | Perl | +59 -31 | [6](https://git.dualfroz.com/dualfroz/proxmox-git-proxmox-widget-toolkit) | +| [proxmox/pve-manager](https://www.proxmox.com/) | – | Perl | +497 -72 | [31](https://git.dualfroz.com/dualfroz/proxmox-git-pve-manager) | +| [proxmox/pve-storage](https://www.proxmox.com/) | – | Perl | +1050 -13 | [8](https://git.dualfroz.com/dualfroz/proxmox-git-pve-storage) | +| [proxmox/qemu-server](https://www.proxmox.com/) | – | Perl | +438 -34 | [12](https://git.dualfroz.com/dualfroz/proxmox-git-qemu-server) | +| [zed-industries/zed](https://github.com/zed-industries/zed) | ⭐ 91,8 tys. | Rust | +123 -10 | [11](https://git.dualfroz.com/dualfroz/zed-industries-zed) | +| [telegramdesktop/tdesktop](https://github.com/telegramdesktop/tdesktop) | ⭐ 33,3 tys. | C++ | +24 -5 | [3](https://git.dualfroz.com/dualfroz/telegramdesktop-tdesktop) | +| [composer/composer](https://github.com/composer/composer) | ⭐ 29,5 tys. | PHP | +142 -4 | [3](https://git.dualfroz.com/dualfroz/composer-composer) | +| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26,7 tys. | C# | +4624 -13 | [16](https://git.dualfroz.com/dualfroz/icsharpcode-ILSpy) | +| [urfave/cli](https://github.com/urfave/cli) | ⭐ 24,3 tys. | Go | +123 -12 | [3](https://git.dualfroz.com/dualfroz/urfave-cli) | +| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22,3 tys. | PHP | +135 -4 | [6](https://git.dualfroz.com/dualfroz/PHPMailer-PHPMailer) | +| [postcss/autoprefixer](https://github.com/postcss/autoprefixer) | ⭐ 22,2 tys. | JavaScript | +50 -4 | [5](https://git.dualfroz.com/dualfroz/postcss-autoprefixer) | +| [gleam-lang/gleam](https://github.com/gleam-lang/gleam) | ⭐ 22 tys. | Rust | +134 -1 | [2](https://git.dualfroz.com/dualfroz/gleam-lang-gleam) | +| [twpayne/chezmoi](https://github.com/twpayne/chezmoi) | ⭐ 21,9 tys. | Go | +43 -17 | [2](https://git.dualfroz.com/dualfroz/twpayne-chezmoi) | +| [Seldaek/monolog](https://github.com/Seldaek/monolog) | ⭐ 21,4 tys. | PHP | +41 -2 | [2](https://git.dualfroz.com/dualfroz/Seldaek-monolog) | +| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21,4 tys. | Rust | +88 -20 | [6](https://git.dualfroz.com/dualfroz/valeriansaliou-sonic) | +| [OpenRA/OpenRA](https://github.com/OpenRA/OpenRA) | ⭐ 17,6 tys. | C# | +56 -5 | [2](https://git.dualfroz.com/dualfroz/OpenRA-OpenRA) | +| [briannesbitt/Carbon](https://github.com/briannesbitt/Carbon) | ⭐ 16,6 tys. | PHP | +87 -0 | [3](https://git.dualfroz.com/dualfroz/briannesbitt-Carbon) | +| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15 tys. | Go | +183 -18 | [4](https://git.dualfroz.com/dualfroz/PuerkitoBio-goquery) | +| [App-vNext/Polly](https://github.com/App-vNext/Polly) | ⭐ 14,2 tys. | C# | +19 -1 | [1](https://git.dualfroz.com/dualfroz/App-vNext-Polly) | +| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13,6 tys. | Go | +19 -13 | [8](https://git.dualfroz.com/dualfroz/hajimehoshi-ebiten) | +| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13,2 tys. | PHP | +115 -3 | [4](https://git.dualfroz.com/dualfroz/filp-whoops) | +| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12,2 tys. | JavaScript | +124 -11 | [38](https://git.dualfroz.com/dualfroz/spencermountain-compromise) | +| [doctrine/lexer](https://github.com/doctrine/lexer) | ⭐ 11,1 tys. | PHP | +72 -2 | [2](https://git.dualfroz.com/dualfroz/doctrine-lexer) | +| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9,9 tys. | PHP | +127 -7 | [7](https://git.dualfroz.com/dualfroz/kanboard-kanboard) | +| [FluentValidation/FluentValidation](https://github.com/FluentValidation/FluentValidation) | ⭐ 9,8 tys. | C# | +14 -1 | [2](https://git.dualfroz.com/dualfroz/FluentValidation-FluentValidation) | +| [serilog/serilog](https://github.com/serilog/serilog) | ⭐ 8,1 tys. | C# | +12 -0 | [2](https://git.dualfroz.com/dualfroz/serilog-serilog) | +| [concourse/concourse](https://github.com/concourse/concourse) | ⭐ 7,9 tys. | Go | +154 -24 | [1](https://git.dualfroz.com/dualfroz/concourse-concourse) | +| [predis/predis](https://github.com/predis/predis) | ⭐ 7,8 tys. | PHP | +410 -28 | [5](https://git.dualfroz.com/dualfroz/predis-predis) | +| [vscode-neovim/vscode-neovim](https://github.com/vscode-neovim/vscode-neovim) | ⭐ 7,8 tys. | TypeScript | +65 -2 | [6](https://git.dualfroz.com/dualfroz/vscode-neovim-vscode-neovim) | +| [NLog/NLog](https://github.com/NLog/NLog) | ⭐ 6,5 tys. | C# | +19 -0 | [15](https://git.dualfroz.com/dualfroz/NLog-NLog) | +| [maildev/maildev](https://github.com/maildev/maildev) | ⭐ 6,1 tys. | TypeScript | +69 -13 | [8](https://git.dualfroz.com/dualfroz/maildev-maildev) | +| [Pagefind/pagefind](https://github.com/Pagefind/pagefind) | ⭐ 5,5 tys. | Rust | +48 -2 | [10](https://git.dualfroz.com/dualfroz/Pagefind-pagefind) | +| [xoofx/markdig](https://github.com/xoofx/markdig) | ⭐ 5,3 tys. | C# | +223 -7 | [8](https://git.dualfroz.com/dualfroz/xoofx-markdig) | +| [dromara/carbon](https://github.com/dromara/carbon) | ⭐ 5,2 tys. | Go | +41 -4 | [1](https://git.dualfroz.com/dualfroz/dromara-carbon) | +| [alecthomas/chroma](https://github.com/alecthomas/chroma) | ⭐ 5,1 tys. | Go | +90 -3 | [1](https://git.dualfroz.com/dualfroz/alecthomas-chroma) | +| [olekukonko/tablewriter](https://github.com/olekukonko/tablewriter) | ⭐ 4,8 tys. | Go | +16 -0 | [1](https://git.dualfroz.com/dualfroz/olekukonko-tablewriter) | +| [knadh/koanf](https://github.com/knadh/koanf) | ⭐ 4,2 tys. | Go | +135 -10 | [2](https://git.dualfroz.com/dualfroz/knadh-koanf) | +| [spencermountain/spacetime](https://github.com/spencermountain/spacetime) | ⭐ 4,1 tys. | JavaScript | +15 -40 | [7](https://git.dualfroz.com/dualfroz/spencermountain-spacetime) | +| [itchyny/gojq](https://github.com/itchyny/gojq) | ⭐ 3,8 tys. | Go | +42 -5 | [9](https://git.dualfroz.com/dualfroz/itchyny-gojq) | +| [Suor/funcy](https://github.com/Suor/funcy) | ⭐ 3,5 tys. | Python | +18 -2 | [2](https://git.dualfroz.com/dualfroz/Suor-funcy) | +| [thephpleague/csv](https://github.com/thephpleague/csv) | ⭐ 3,5 tys. | PHP | +22 -9 | [2](https://git.dualfroz.com/dualfroz/thephpleague-csv) | +| [composer/satis](https://github.com/composer/satis) | ⭐ 3,3 tys. | PHP | +55 -10 | [5](https://git.dualfroz.com/dualfroz/composer-satis) | +| [montanaflynn/stats](https://github.com/montanaflynn/stats) | ⭐ 3 tys. | Go | +66 -23 | [3](https://git.dualfroz.com/dualfroz/montanaflynn-stats) | +| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 3 tys. | Go | +124 -14 | [24](https://git.dualfroz.com/dualfroz/versity-versitygw) | +| [thephpleague/commonmark](https://github.com/thephpleague/commonmark) | ⭐ 3 tys. | PHP | +17 -0 | [2](https://git.dualfroz.com/dualfroz/thephpleague-commonmark) | +| [mitsuhiko/insta](https://github.com/mitsuhiko/insta) | ⭐ 3 tys. | Rust | +8 -2 | [1](https://git.dualfroz.com/dualfroz/mitsuhiko-insta) | +| [BurntSushi/jiff](https://github.com/BurntSushi/jiff) | ⭐ 3 tys. | Rust | +37 -5 | [1](https://git.dualfroz.com/dualfroz/BurntSushi-jiff) | +| [zzzprojects/html-agility-pack](https://github.com/zzzprojects/html-agility-pack) | ⭐ 2,9 tys. | C# | +158 -2 | [2](https://git.dualfroz.com/dualfroz/zzzprojects-html-agility-pack) | +| [Paymenter/Paymenter](https://github.com/Paymenter/Paymenter) | ⭐ 2,7 tys. | PHP | +135 -11 | [4](https://git.dualfroz.com/dualfroz/Paymenter-Paymenter) | +| [api-platform/core](https://github.com/api-platform/core) | ⭐ 2,6 tys. | PHP | +52 -27 | [2](https://git.dualfroz.com/dualfroz/api-platform-core) | +| [pelican/panel](https://github.com/pelican/panel) | ⭐ 2,4 tys. | PHP | +64 -3 | [3](https://git.dualfroz.com/dualfroz/pelican-panel) | +| [gookit/goutil](https://github.com/gookit/goutil) | ⭐ 2,4 tys. | Go | +12 -0 | [4](https://git.dualfroz.com/dualfroz/gookit-goutil) | +| [dedoc/scramble](https://github.com/dedoc/scramble) | ⭐ 2,2 tys. | PHP | +23 -0 | [2](https://git.dualfroz.com/dualfroz/dedoc-scramble) | +| [gocarina/gocsv](https://github.com/gocarina/gocsv) | ⭐ 2,2 tys. | Go | +89 -2 | [5](https://git.dualfroz.com/dualfroz/gocarina-gocsv) | +| [thephpleague/html-to-markdown](https://github.com/thephpleague/html-to-markdown) | ⭐ 1,9 tys. | PHP | +3 -2 | [6](https://git.dualfroz.com/dualfroz/thephpleague-html-to-markdown) | +| [AfterShip/email-verifier](https://github.com/AfterShip/email-verifier) | ⭐ 1,6 tys. | Go | +99 -3 | [3](https://git.dualfroz.com/dualfroz/AfterShip-email-verifier) | +| [fabiocaccamo/python-benedict](https://github.com/fabiocaccamo/python-benedict) | ⭐ 1,6 tys. | Python | +66 -5 | [2](https://git.dualfroz.com/dualfroz/fabiocaccamo-python-benedict) | +| [gookit/color](https://github.com/gookit/color) | ⭐ 1,6 tys. | Go | +12 -1 | [3](https://git.dualfroz.com/dualfroz/gookit-color) | +| [olebedev/when](https://github.com/olebedev/when) | ⭐ 1,5 tys. | Go | +45 -1 | [4](https://git.dualfroz.com/dualfroz/olebedev-when) | +| [dgilland/pydash](https://github.com/dgilland/pydash) | ⭐ 1,4 tys. | Python | +18 -5 | [4](https://git.dualfroz.com/dualfroz/dgilland-pydash) | +| [cakephp/chronos](https://github.com/cakephp/chronos) | ⭐ 1,4 tys. | PHP | +17 -2 | [2](https://git.dualfroz.com/dualfroz/cakephp-chronos) | +| [go-playground/form](https://github.com/go-playground/form) | ⭐ 931 | Go | +35 -0 | [2](https://git.dualfroz.com/dualfroz/go-playground-form) | +| [mkideal/cli](https://github.com/mkideal/cli) | ⭐ 723 | Go | +22 -1 | [2](https://git.dualfroz.com/dualfroz/mkideal-cli) | +| [gookit/config](https://github.com/gookit/config) | ⭐ 585 | Go | +29 -8 | [2](https://git.dualfroz.com/dualfroz/gookit-config) | +| [rust-syndication/rss](https://github.com/rust-syndication/rss) | ⭐ 502 | Rust | +24 -2 | [2](https://git.dualfroz.com/dualfroz/rust-syndication-rss) | +| [kelindar/bitmap](https://github.com/kelindar/bitmap) | ⭐ 385 | Assembly | +146 -12 | [5](https://git.dualfroz.com/dualfroz/kelindar-bitmap) | +| [brick/date-time](https://github.com/brick/date-time) | ⭐ 361 | PHP | +67 -36 | [3](https://git.dualfroz.com/dualfroz/brick-date-time) | +| [pydantic/pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | ⭐ 338 | Python | +124 -1 | [2](https://git.dualfroz.com/dualfroz/pydantic-pydantic-extra-types) | +| [rodaine/table](https://github.com/rodaine/table) | ⭐ 324 | Go | +32 -2 | [2](https://git.dualfroz.com/dualfroz/rodaine-table) | +| [wroberts/pytimeparse](https://github.com/wroberts/pytimeparse) | ⭐ 299 | Python | +5 -1 | [3](https://git.dualfroz.com/dualfroz/wroberts-pytimeparse) | +| [QEDK/configparser-rs](https://github.com/QEDK/configparser-rs) | ⭐ 88 | Rust | +22 -1 | [3](https://git.dualfroz.com/dualfroz/QEDK-configparser-rs) | +| [thephpleague/uri-src](https://github.com/thephpleague/uri-src) | ⭐ 51 | PHP | +18 -2 | [4](https://git.dualfroz.com/dualfroz/thephpleague-uri-src) | +| [spiral/testing](https://github.com/spiral/testing) | ⭐ 7 | PHP | +255 -6 | [5](https://git.dualfroz.com/dualfroz/spiral-testing) | + + + +## 🛠️ Technologie + +### Języki programowania + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeScript
TypeScript
Rust
Rust
JavaScript
JavaScript
Go
Go
PHP
PHP
C#
C#
Python
Python
Kotlin
Kotlin
Elixir
Elixir
Swift
Swift
C++
C++
Java
Java
C
C
Dart
Dart
Solidity
Solidity
Ruby
Ruby
Lua
Lua
Zig
Zig
Haskell
Haskell
Scala
Scala
F#
F#
Assembly
Assembly
+ +### Backend i DevOps + + + + + + + + + + + + + + + + + + + +
Node.js
Node.js
ASP.NET Core
ASP.NET Core
Laravel
Laravel
Symfony
Symfony
Django
Django
Flask
Flask
FastAPI
FastAPI
Docker
Docker
Kubernetes
Kubernetes
nginx
nginx
Grafana
Grafana
Linux
Linux
Git
Git
+ +### Bazy danych + + + + + + + + + + + + + + + + +
PostgreSQL
PostgreSQL
MySQL
MySQL
MariaDB
MariaDB
SQLite
SQLite
Redis
Redis
MongoDB
MongoDB
ClickHouse
ClickHouse
Cassandra
Cassandra
Prisma
Prisma
JSON
JSON
+ +### Frontend i aplikacje + + + + + + + + + + + + + + + + + + + + +
React
React
Next.js
Next.js
Vue
Vue
Angular
Angular
Astro
Astro
Vite
Vite
Tailwind CSS
Tailwind CSS
Bootstrap
Bootstrap
HTML
HTML
CSS
CSS
Sass
Sass
Electron
Electron
Tauri
Tauri
Avalonia
Avalonia
+ +### Oprogramowanie + + + + + + + + + + + + + + + + + + +
VS Code
VS Code
Visual Studio
Visual Studio
JetBrains IDEs
JetBrains IDEs
Android Studio
Android Studio
Xcode
Xcode
Unity
Unity
Godot
Godot
Unreal Engine
Unreal Engine
Figma
Figma
Photoshop
Photoshop
DaVinci Resolve
DaVinci Resolve
Blender
Blender
+ +Szczegóły z opisem, jak używam każdej technologii: [dualfroz.com/pl/stack](https://dualfroz.com/pl/stack) + +## ♟️ Poza kodem + +> Krótko: uwielbiam... myśleć. Lubię rozwiązywać nonogramy, sudoku o złożonych zasadach, a w szachy gram co najmniej godzinę dziennie. Regularnie przekraczam 2000+ elo na chess.com, lecz niestety moje konto notorycznie jest banowane przez chess.com (false-positive cheating). W najbliższym czasie będę walczył o tytuł FIDE (CM), co powinno oczyścić mnie z żałosnych zarzutów ze strony niekompetentnego personelu chesscom. Będę także aplikował do stowarzyszenia Mensa. + +## 🤝 Współpraca + +| Sprawa | Gdzie | |---|---| -| [zed-industries/zed](https://git.dualfroz.com/dualfroz/zed-industries-zed) ★ 91 790 | 1 | -| [telegramdesktop/tdesktop](https://git.dualfroz.com/dualfroz/telegramdesktop-tdesktop) ★ 33 257 | 1 | -| [composer/composer](https://git.dualfroz.com/dualfroz/composer-composer) ★ 29 549 | 1 | -| [icsharpcode/ILSpy](https://git.dualfroz.com/dualfroz/icsharpcode-ILSpy) ★ 26 665 | 3 | -| [urfave/cli](https://git.dualfroz.com/dualfroz/urfave-cli) ★ 24 290 | 1 | -| [PHPMailer/PHPMailer](https://git.dualfroz.com/dualfroz/PHPMailer-PHPMailer) ★ 22 312 | 3 | -| [postcss/autoprefixer](https://git.dualfroz.com/dualfroz/postcss-autoprefixer) ★ 22 205 | 3 | -| [gleam-lang/gleam](#gleam-langgleam) ★ 21 992 | 1 | -| [twpayne/chezmoi](#twpaynechezmoi) ★ 21 944 | 2 | -| [Seldaek/monolog](https://git.dualfroz.com/dualfroz/Seldaek-monolog) ★ 21 398 | 1 | -| [valeriansaliou/sonic](https://git.dualfroz.com/dualfroz/valeriansaliou-sonic) ★ 21 361 | 5 | -| [OpenRA/OpenRA](https://git.dualfroz.com/dualfroz/OpenRA-OpenRA) ★ 17 576 | 1 | -| [briannesbitt/Carbon](https://git.dualfroz.com/dualfroz/briannesbitt-Carbon) ★ 16 588 | 1 | -| [PuerkitoBio/goquery](https://git.dualfroz.com/dualfroz/PuerkitoBio-goquery) ★ 14 989 | 2 | -| [App-vNext/Polly](https://git.dualfroz.com/dualfroz/App-vNext-Polly) ★ 14 246 | 1 | -| [hajimehoshi/ebiten](https://git.dualfroz.com/dualfroz/hajimehoshi-ebiten) ★ 13 565 | 3 | -| [filp/whoops](https://git.dualfroz.com/dualfroz/filp-whoops) ★ 13 230 | 2 | -| [spencermountain/compromise](https://git.dualfroz.com/dualfroz/spencermountain-compromise) ★ 12 162 | 21 | -| [doctrine/lexer](https://git.dualfroz.com/dualfroz/doctrine-lexer) ★ 11 141 | 1 | -| [kanboard/kanboard](https://git.dualfroz.com/dualfroz/kanboard-kanboard) ★ 9 907 | 4 | -| [FluentValidation/FluentValidation](https://git.dualfroz.com/dualfroz/FluentValidation-FluentValidation) ★ 9 764 | 1 | -| [serilog/serilog](https://git.dualfroz.com/dualfroz/serilog-serilog) ★ 8 051 | 1 | -| [concourse/concourse](https://git.dualfroz.com/dualfroz/concourse-concourse) ★ 7 919 | 1 | -| [predis/predis](https://git.dualfroz.com/dualfroz/predis-predis) ★ 7 778 | 3 | -| [vscode-neovim/vscode-neovim](https://git.dualfroz.com/dualfroz/vscode-neovim-vscode-neovim) ★ 7 756 | 1 | -| [NLog/NLog](https://git.dualfroz.com/dualfroz/NLog-NLog) ★ 6 549 | 2 | -| [maildev/maildev](https://git.dualfroz.com/dualfroz/maildev-maildev) ★ 6 141 | 1 | -| [Pagefind/pagefind](https://git.dualfroz.com/dualfroz/Pagefind-pagefind) ★ 5 515 | 1 | -| [xoofx/markdig](https://git.dualfroz.com/dualfroz/xoofx-markdig) ★ 5 342 | 4 | -| [dromara/carbon](https://git.dualfroz.com/dualfroz/dromara-carbon) ★ 5 222 | 1 | -| [alecthomas/chroma](https://git.dualfroz.com/dualfroz/alecthomas-chroma) ★ 5 054 | 1 | -| [olekukonko/tablewriter](https://git.dualfroz.com/dualfroz/olekukonko-tablewriter) ★ 4 820 | 1 | -| [knadh/koanf](https://git.dualfroz.com/dualfroz/knadh-koanf) ★ 4 219 | 1 | -| [spencermountain/spacetime](https://git.dualfroz.com/dualfroz/spencermountain-spacetime) ★ 4 107 | 3 | -| [itchyny/gojq](https://git.dualfroz.com/dualfroz/itchyny-gojq) ★ 3 812 | 1 | -| [Suor/funcy](https://git.dualfroz.com/dualfroz/Suor-funcy) ★ 3 509 | 1 | -| [thephpleague/csv](https://git.dualfroz.com/dualfroz/thephpleague-csv) ★ 3 482 | 1 | -| [composer/satis](https://git.dualfroz.com/dualfroz/composer-satis) ★ 3 305 | 2 | -| [montanaflynn/stats](https://git.dualfroz.com/dualfroz/montanaflynn-stats) ★ 3 030 | 1 | -| [versity/versitygw](https://git.dualfroz.com/dualfroz/versity-versitygw) ★ 3 027 | 11 | -| [thephpleague/commonmark](https://git.dualfroz.com/dualfroz/thephpleague-commonmark) ★ 2 979 | 1 | -| [mitsuhiko/insta](https://git.dualfroz.com/dualfroz/mitsuhiko-insta) ★ 2 973 | 1 | -| [BurntSushi/jiff](#burntsushijiff) ★ 2 957 | 1 | -| [zzzprojects/html-agility-pack](https://git.dualfroz.com/dualfroz/zzzprojects-html-agility-pack) ★ 2 851 | 1 | -| [Paymenter/Paymenter](https://git.dualfroz.com/dualfroz/Paymenter-Paymenter) ★ 2 718 | 2 | -| [api-platform/core](https://git.dualfroz.com/dualfroz/api-platform-core) ★ 2 580 | 2 | -| [pelican/panel](https://git.dualfroz.com/dualfroz/pelican-panel) ★ 2 387 | 2 | -| [gookit/goutil](https://git.dualfroz.com/dualfroz/gookit-goutil) ★ 2 361 | 1 | -| [dedoc/scramble](https://git.dualfroz.com/dualfroz/dedoc-scramble) ★ 2 219 | 1 | -| [gocarina/gocsv](https://git.dualfroz.com/dualfroz/gocarina-gocsv) ★ 2 198 | 4 | -| [thephpleague/html-to-markdown](https://git.dualfroz.com/dualfroz/thephpleague-html-to-markdown) ★ 1 907 | 1 | -| [AfterShip/email-verifier](https://git.dualfroz.com/dualfroz/AfterShip-email-verifier) ★ 1 643 | 1 | -| [fabiocaccamo/python-benedict](https://git.dualfroz.com/dualfroz/fabiocaccamo-python-benedict) ★ 1 606 | 1 | -| [gookit/color](https://git.dualfroz.com/dualfroz/gookit-color) ★ 1 606 | 1 | -| [olebedev/when](https://git.dualfroz.com/dualfroz/olebedev-when) ★ 1 463 | 1 | -| [dgilland/pydash](https://git.dualfroz.com/dualfroz/dgilland-pydash) ★ 1 447 | 1 | -| [cakephp/chronos](https://git.dualfroz.com/dualfroz/cakephp-chronos) ★ 1 362 | 1 | -| [go-playground/form](https://git.dualfroz.com/dualfroz/go-playground-form) ★ 931 | 1 | -| [mkideal/cli](#mkidealcli) ★ 723 | 1 | -| [gookit/config](https://git.dualfroz.com/dualfroz/gookit-config) ★ 585 | 1 | -| [rust-syndication/rss](https://git.dualfroz.com/dualfroz/rust-syndication-rss) ★ 502 | 1 | -| [kelindar/bitmap](https://git.dualfroz.com/dualfroz/kelindar-bitmap) ★ 385 | 1 | -| [brick/date-time](https://git.dualfroz.com/dualfroz/brick-date-time) ★ 361 | 1 | -| [pydantic/pydantic-extra-types](https://git.dualfroz.com/dualfroz/pydantic-pydantic-extra-types) ★ 338 | 2 | -| [rodaine/table](https://git.dualfroz.com/dualfroz/rodaine-table) ★ 324 | 1 | -| [wroberts/pytimeparse](https://git.dualfroz.com/dualfroz/wroberts-pytimeparse) ★ 299 | 1 | -| [QEDK/configparser-rs](https://git.dualfroz.com/dualfroz/QEDK-configparser-rs) ★ 88 | 1 | -| [thephpleague/uri-src](https://git.dualfroz.com/dualfroz/thephpleague-uri-src) ★ 51 | 1 | -| [spiral/testing](https://git.dualfroz.com/dualfroz/spiral-testing) ★ 7 | 3 | -| [mozilla/firefox](#mozillafirefox) | 1 | -| [proxmox/proxmox-widget-toolkit](https://git.dualfroz.com/dualfroz/proxmox-git-proxmox-widget-toolkit) | 1 | -| [proxmox/pve-manager](https://git.dualfroz.com/dualfroz/proxmox-git-pve-manager) | 6 | -| [proxmox/pve-storage](https://git.dualfroz.com/dualfroz/proxmox-git-pve-storage) | 1 | -| [proxmox/qemu-server](https://git.dualfroz.com/dualfroz/proxmox-git-qemu-server) | 3 | - -### zed-industries/zed - -Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter. · ★ 91 790 - -- [openai_subscribed: Keep loading slow model catalogs in the background](https://github.com/zed-industries/zed/pull/64925) (2026-10-01) - -### telegramdesktop/tdesktop - -Telegram Desktop messaging app · ★ 33 257 - -- [Hide the topics toggle in broadcast group settings](https://github.com/telegramdesktop/tdesktop/pull/31450) (2026-10-14) - -### composer/composer - -Dependency Manager for PHP · ★ 29 549 - -- [Clarify which config keys support --json and --merge](https://github.com/composer/composer/pull/13111) (2026-10-08) - -### icsharpcode/ILSpy - -.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform! · ★ 26 665 - -- [Fix #4137: Keep nint in conditionals with mixed native int branches](https://github.com/icsharpcode/ILSpy/pull/4232) (2026-10-11) -- [Remove the delegate cache left by a discarded method-group conversion](https://github.com/icsharpcode/ILSpy/pull/4133) (2026-09-19) -- [Recognize a VB exception filter's type test](https://github.com/icsharpcode/ILSpy/pull/4134) (2026-09-15) - -### urfave/cli - -A declarative, simple, fast, and fun package for building command line tools in Go · ★ 24 290 - -- [fix: use prefixFor for BoolWithInverseFlag names and aliases](https://github.com/urfave/cli/pull/2461) (2026-10-08) - -### PHPMailer/PHPMailer - -The classic email sending library for PHP · ★ 22 312 - -- [Don't send QUIT while DATA is in progress](https://github.com/PHPMailer/PHPMailer/pull/3362) (2026-10-04) -- [Fold long address headers](https://github.com/PHPMailer/PHPMailer/pull/3361) (2026-10-04) -- [Normalise line breaks in S/MIME signed messages](https://github.com/PHPMailer/PHPMailer/pull/3358) (2026-09-10) - -### postcss/autoprefixer - -Parse CSS and add vendor prefixes to rules by Can I Use · ★ 22 205 - -- [Add `/* autoprefixer: ignore next warning */` control comment](https://github.com/postcss/autoprefixer/pull/1560) (2026-10-07) -- [Set source for Grid prefixes in source maps](https://github.com/postcss/autoprefixer/pull/1559) (2026-10-05) -- [Inherit grid gap set with the row-gap and column-gap longhands](https://github.com/postcss/autoprefixer/pull/1557) (2026-09-15) - -### gleam-lang/gleam - -⭐️ A friendly language for building type-safe, scalable systems! · ★ 21 992 - -- [Point guard constant type errors at the guard](https://github.com/gleam-lang/gleam/pull/6418) (2026-10-13) - -### twpayne/chezmoi - -Manage your dotfiles across multiple diverse machines, securely. · ★ 21 944 - -- [fix: Don't double backslashes in shellQuote](https://github.com/twpayne/chezmoi/pull/5233) (2026-10-11) -- [fix: Pass /dev/null to diff command for missing files in apply --interactive](https://github.com/twpayne/chezmoi/pull/5232) (2026-10-11) - -### Seldaek/monolog - -Sends your logs to files, sockets, inboxes, databases and various web services · ★ 21 398 - -- [Fix RedactingFormatter missing secrets nested inside array-valued sensitive keys](https://github.com/Seldaek/monolog/pull/2067) (2026-09-09) - -### valeriansaliou/sonic - -🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM. · ★ 21 361 - -- [fix(core): Back up and restore FST buckets again](https://github.com/valeriansaliou/sonic/pull/432) (2026-10-05) -- [docs: Document the 128 characters limit on collection, bucket and object names](https://github.com/valeriansaliou/sonic/pull/431) (2026-10-05) -- [fix(core): Make `TRIGGER backup` work while stores are in use](https://github.com/valeriansaliou/sonic/pull/430) (2026-10-05) -- [docs: clarify write_buffer_size](https://github.com/valeriansaliou/sonic/pull/418) (2026-09-24) -- [Stop leaking a client slot when a channel read fails](https://github.com/valeriansaliou/sonic/pull/403) (2026-09-15) - -### OpenRA/OpenRA - -Open Source real-time strategy game engine for early Westwood games such as Command & Conquer: Red Alert written in C# using SDL and OpenGL. Runs on Windows, Linux, *BSD and Mac OS X. · ★ 17 576 - -- [Preserve player definition order in MapPlayers](https://github.com/OpenRA/OpenRA/pull/22627) (2026-10-11) - -### briannesbitt/Carbon - -A simple PHP API extension for DateTime. · ★ 16 588 - -- [fix: numeric round()/floor()/ceil() precision >= 60 seconds does not carry into minute/hour/day](https://github.com/briannesbitt/Carbon/pull/3359) (2026-09-25) - -### PuerkitoBio/goquery - -A little like that j-thing, only in Go. · ★ 14 989 - -- [Expose html parse options (addresses #139, noscript)](https://github.com/PuerkitoBio/goquery/pull/602) (2026-09-30) -- [RemoveClass leaves a class behind when the source repeats it](https://github.com/PuerkitoBio/goquery/pull/603) (2026-09-07) - -### App-vNext/Polly - -Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. From version 6.0.1, Polly targets .NET Standard 1.1 and 2.0+. · ★ 14 246 - -- [Return null from FaultGenerator when no fault is generated](https://github.com/App-vNext/Polly/pull/3220) (2026-09-06) - -### hajimehoshi/ebiten - -A dead simple 2D game engine for Go · ★ 13 565 - -- [audio: run the tests waiting on real time on synctest's fake clock](https://github.com/hajimehoshi/ebiten/pull/3849) (2026-10-06) -- [.github/workflows: run go test -race for all packages](https://github.com/hajimehoshi/ebiten/pull/3848) (2026-10-03) -- [internal/gamepad: don't fail when inotify is unavailable on Linux](https://github.com/hajimehoshi/ebiten/pull/3705) (2026-09-13) - -### filp/whoops - -PHP errors for cool kids · ★ 13 230 - -- [Stop output buffer cleanup at buffers that cannot be removed](https://github.com/filp/whoops/pull/795) (2026-10-03) -- [Restrict escapeButPreserveUris() to http/https schemes (fixes #791)](https://github.com/filp/whoops/pull/794) (2026-09-05) - -### spencermountain/compromise - -modest natural-language processing · ★ 12 162 - -- [find payloads by term id so they survive a .remove()](https://github.com/spencermountain/compromise/pull/1246) (2026-10-06) -- [keep a titlecase comparative before 'than' as an adjective](https://github.com/spencermountain/compromise/pull/1242) (2026-10-06) -- [keep a closing bracket in the word when it closes one inside it](https://github.com/spencermountain/compromise/pull/1249) (2026-10-05) -- [match lexicon words that start with # or @](https://github.com/spencermountain/compromise/pull/1248) (2026-10-05) -- [leave a spaced dash out of a match's text](https://github.com/spencermountain/compromise/pull/1247) (2026-10-05) -- [contract each match on its own](https://github.com/spencermountain/compromise/pull/1244) (2026-10-05) -- [don't add an implicit 'to' after 'wanna' before a noun](https://github.com/spencermountain/compromise/pull/1243) (2026-10-05) -- [split hyphens in a match the same way the tokenizer does](https://github.com/spencermountain/compromise/pull/1241) (2026-10-05) -- [contract 'he is not' to he's not instead of he'sn't](https://github.com/spencermountain/compromise/pull/1240) (2026-10-05) -- [drop does/did when turning a negative verb positive](https://github.com/spencermountain/compromise/pull/1239) (2026-10-05) -- [contract 'can not' to can't](https://github.com/spencermountain/compromise/pull/1237) (2026-10-05) -- [dates: read singular possessive durations](https://github.com/spencermountain/compromise/pull/1236) (2026-10-05) -- [don't merge an -ent syllable back into an open first syllable](https://github.com/spencermountain/compromise/pull/1233) (2026-10-05) -- [run the regex-boundaries tests on the full build](https://github.com/spencermountain/compromise/pull/1232) (2026-10-05) -- [parse 'fortnight' as two weeks](https://github.com/spencermountain/compromise/pull/1231) (2026-10-05) -- [Treat 's before a copula as possessive](https://github.com/spencermountain/compromise/pull/1230) (2026-09-29) -- [Keep the case in toSingular](https://github.com/spencermountain/compromise/pull/1229) (2026-09-29) -- [Keep "never" when going to the infinitive](https://github.com/spencermountain/compromise/pull/1228) (2026-09-29) -- [Skip the verb of a relative clause following the subject](https://github.com/spencermountain/compromise/pull/1225) (2026-09-19) -- [Recognize more openers of a secondary clause in mainClause](https://github.com/spencermountain/compromise/pull/1224) (2026-09-19) -- [Only treat subordinators as secondary-clause signals before the verb](https://github.com/spencermountain/compromise/pull/1222) (2026-09-14) - -### doctrine/lexer - -Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers. · ★ 11 141 - -- [fix: make resetPosition() accept a token character offset](https://github.com/doctrine/lexer/pull/176) (2026-10-01) - -### kanboard/kanboard - -Kanban project management software · ★ 9 907 - -- [fix(ical): only accept known columns as the calendar start date](https://github.com/kanboard/kanboard/pull/5914) (2026-10-11) -- [fix(security): escape the project name in the analytic modal title](https://github.com/kanboard/kanboard/pull/5913) (2026-10-11) -- [fix(session): scope the session cookie to the directory without a trailing slash](https://github.com/kanboard/kanboard/pull/5900) (2026-10-02) -- [fix(api): return a full batch response when one request is forbidden](https://github.com/kanboard/kanboard/pull/5899) (2026-09-11) - -### FluentValidation/FluentValidation - -A popular .NET validation library for building strongly-typed validation rules. · ★ 9 764 - -- [fix: reject an inverted range when the comparer returns a negative other than -1](https://github.com/FluentValidation/FluentValidation/pull/2370) (2026-09-09) - -### serilog/serilog - -Simple .NET logging with fully-structured events · ★ 8 051 - -- [fix: avoid OverflowException when alignment width is int.MinValue](https://github.com/serilog/serilog/pull/2247) (2026-09-13) - -### concourse/concourse - -Concourse is a container-based automation system written in Go. It's mostly used for CI/CD. · ★ 7 919 - -- [Interpolate task file vars before parsing the file](https://github.com/concourse/concourse/pull/9717) (2026-10-05) - -### predis/predis - -A flexible and feature-complete Redis/Valkey client for PHP. · ★ 7 778 - -- [Use SENTINEL REPLICAS for Sentinel replica discovery](https://github.com/predis/predis/pull/1745) (2026-10-12) -- [Fix ConnectionErrorProof response count on single node read errors](https://github.com/predis/predis/pull/1739) (2026-10-08) -- [Replace deprecated spl_object_hash() with spl_object_id() in ConnectionErrorProof](https://github.com/predis/predis/pull/1738) (2026-10-08) - -### vscode-neovim/vscode-neovim - -Vim mode for VSCode, powered by Neovim · ★ 7 756 - -- [Keep visual selections whole over characters outside the BMP](https://github.com/vscode-neovim/vscode-neovim/pull/2683) (2026-09-23) - -### NLog/NLog - -NLog - Flexible and Structured Logging for various .NET Platforms · ★ 6 549 - -- [CachedLayoutRendererWrapper - Added CachedUntil to reset cached value when hour or day changes](https://github.com/NLog/NLog/pull/6292) (2026-10-11) -- [docs: document default values for Filters properties in XML docs](https://github.com/NLog/NLog/pull/6275) (2026-09-05) - -### maildev/maildev - -:mailbox: SMTP Server + Web Interface for viewing and testing emails during development. · ★ 6 141 - -- [Build CID attachment URLs against the API route and base path](https://github.com/maildev/maildev/pull/582) (2026-09-22) - -### Pagefind/pagefind - -Static low-bandwidth search at scale · ★ 5 515 - -- [fix(pagefind): skip exclude selectors that cannot be parsed](https://github.com/Pagefind/pagefind/pull/1312) (2026-09-13) - -### xoofx/markdig - -A fast, powerful, CommonMark compliant, extensible Markdown processor for .NET · ★ 5 342 - -- [Fix definition lists requiring 3 spaces after the marker](https://github.com/xoofx/markdig/pull/959) (2026-10-15) -- [Fix grid table open last cell taking a | from the next line (#494)](https://github.com/xoofx/markdig/pull/958) (2026-10-15) -- [Fix: keep trailing content out of an unmatched emphasis closer (#743)](https://github.com/xoofx/markdig/pull/950) (2026-09-19) -- [Fix heading auto-link hijacking nested link labels (#668)](https://github.com/xoofx/markdig/pull/949) (2026-09-19) - -### dromara/carbon - -A simple, semantic and developer-friendly time package for golang · ★ 5 222 - -- [fix(boundary): preserve instants at minute boundaries](https://github.com/dromara/carbon/pull/378) (2026-10-10) - -### alecthomas/chroma - -A general purpose syntax highlighter in pure Go · ★ 5 054 - -- [fix(lexers): recognize TypeScript binary, octal and exponent literals](https://github.com/alecthomas/chroma/pull/1396) (2026-10-15) - -### olekukonko/tablewriter - -ASCII table in golang · ★ 4 820 - -- [twwidth: purge width cache in SetTabWidth](https://github.com/olekukonko/tablewriter/pull/338) (2026-10-11) - -### knadh/koanf - -Simple, extremely lightweight, extensible, configuration management library for Go. Supports JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper. · ★ 4 219 - -- [MapKeys returns an empty slice for a natively-typed map](https://github.com/knadh/koanf/pull/447) (2026-10-05) - -### spencermountain/spacetime - -A lightweight javascript timezone library · ★ 4 107 - -- [Return titlecased timezone names from whereIts](https://github.com/spencermountain/spacetime/pull/474) (2026-10-15) -- [Expose the tzdb version as spacetime.tzdbVersion](https://github.com/spencermountain/spacetime/pull/473) (2026-10-15) -- [Fix hour() setter clamping to an invalid hour (24)](https://github.com/spencermountain/spacetime/pull/467) (2026-09-08) - -### itchyny/gojq - -Pure Go implementation of jq · ★ 3 812 - -- [fix: release the allocator when an updated value escapes to a query](https://github.com/itchyny/gojq/pull/306) (2026-09-14) - -### Suor/funcy - -A fancy and practical functional tools lib · ★ 3 509 - -- [fix: _cut_iter yields wrong-length/wrong-content parts when step > n](https://github.com/Suor/funcy/pull/177) (2026-09-10) - -### thephpleague/csv - -CSV data manipulation made easy in PHP · ★ 3 482 - -- [fix: make Buffer::nth() positional so it stays correct after deletions](https://github.com/thephpleague/csv/pull/594) (2026-09-05) - -### composer/satis - -Simple static Composer repository generator - For a full private Composer repo use Private Packagist · ★ 3 305 - -- [Allow relative URI references for homepage and archive prefix-url](https://github.com/composer/satis/pull/1218) (2026-10-06) -- [Resolve dependencies through the repositories the packages filter dropped](https://github.com/composer/satis/pull/1207) (2026-09-14) - -### montanaflynn/stats - -A well tested and comprehensive Golang statistics library package with no dependencies. · ★ 3 030 - -- [fix: return an error from Quartile and its callers for single-element input](https://github.com/montanaflynn/stats/pull/135) (2026-09-09) - -### versity/versitygw - -A simple to deploy but feature rich S3 object storage server for your filesystem · ★ 3 027 - -- [fix: return NextMarker in ListObjects only when a delimiter is set](https://github.com/versity/versitygw/pull/2506) (2026-10-13) -- [fix: reject the start-after query in ListObjects (V1)](https://github.com/versity/versitygw/pull/2505) (2026-10-13) -- [fix: compute IsTruncated from the absolute index in ListMultipartUploads](https://github.com/versity/versitygw/pull/2475) (2026-10-08) -- [fix: validate and apply the ListBuckets bucket-region query](https://github.com/versity/versitygw/pull/2474) (2026-10-07) -- [fix: drop upload-id-marker without key-marker in ListMultipartUploads](https://github.com/versity/versitygw/pull/2477) (2026-10-05) -- [fix: report the last upload in ListMultipartUploads next markers on a single page](https://github.com/versity/versitygw/pull/2476) (2026-10-05) -- [fix: return InvalidURI for a malformed escape in the request path](https://github.com/versity/versitygw/pull/2473) (2026-10-05) -- [fix: accept upload-id-marker together with key-marker in ListMultipartUploads](https://github.com/versity/versitygw/pull/2472) (2026-10-05) -- [fix: return MalformedXML for a DeleteObjects request without objects](https://github.com/versity/versitygw/pull/2471) (2026-10-05) -- [fix: reject ListMultipartUploads requests that also carry uploadId](https://github.com/versity/versitygw/pull/2470) (2026-10-05) -- [Return IllegalLocationConstraintException for a mismatched LocationConstraint](https://github.com/versity/versitygw/pull/2389) (2026-09-14) - -### thephpleague/commonmark - -Highly-extensible PHP Markdown parser which fully supports the CommonMark and GFM specs. · ★ 2 979 - -- [fix: accept unordered_list_markers config in InlinesOnlyExtension](https://github.com/thephpleague/commonmark/pull/1151) (2026-09-07) - -### mitsuhiko/insta - -A snapshot testing library for rust · ★ 2 973 - -- [Remove trailing semicolon from assert_binary_snapshot! macro body](https://github.com/mitsuhiko/insta/pull/946) (2026-10-10) - -### BurntSushi/jiff - -A datetime library for Rust that encourages you to jump into the pit of success. · ★ 2 957 - -- [fmt: fix buffer sizes when printing durations](https://github.com/BurntSushi/jiff/pull/658) (2026-10-13) - -### zzzprojects/html-agility-pack - -Html Agility Pack (HAP) is a free and open-source HTML parser written in C# to read/write DOM and supports plain XPATH or XSLT. It is a .NET code library that allows you to parse "out of the web" HTML files. · ★ 2 851 - -- [Fix HtmlEntity.DeEntitize duplicating '#' on invalid numeric entities](https://github.com/zzzprojects/html-agility-pack/pull/611) (2026-10-12) - -### Paymenter/Paymenter - -Free and open-source webshop solution for hostings · ★ 2 718 - -- [fix(cart): hide Edit when there is nothing to configure](https://github.com/Paymenter/Paymenter/pull/1340) (2026-10-10) -- [Refresh the config options of a cart item whose product changed](https://github.com/Paymenter/Paymenter/pull/1326) (2026-09-17) - -### api-platform/core - -The server component of API Platform: hypermedia and GraphQL APIs in minutes · ★ 2 580 - -- [fix(state): avoid deprecated PartialDenormalizationException::getErrors()](https://github.com/api-platform/core/pull/8663) (2026-10-13) -- [fix(hal): use spl_object_id() for circular reference counters](https://github.com/api-platform/core/pull/8657) (2026-10-09) - -### pelican/panel - -Free, open source game server management panel built on Laravel and Docker. · ★ 2 387 - -- [Move the primary allocation when it is removed from a server](https://github.com/pelican/panel/pull/2635) (2026-10-10) -- [Fix plugin update crashing after the rows are refreshed](https://github.com/pelican/panel/pull/2598) (2026-09-25) - -### gookit/goutil - -💪 Helper Utils(900+): int, byte, string, array/slice, map, struct, dump, convert/format, error, web/http, cli/flag, OS/ENV, filesystem, system, test/assert, time and more. Go 常用的工具函数:数字,字符串,数组,Map,结构体,反射,文本,文件,错误,时间日期,特殊处理,格式化,常用信息获取等等 · ★ 2 361 - -- [fix(strutil): prevent Substr panic on out-of-range negative length](https://github.com/gookit/goutil/pull/265) (2026-09-07) - -### dedoc/scramble - -Modern Laravel OpenAPI (Swagger) documentation generator. No PHPDoc annotations required. · ★ 2 219 - -- [Fix PhpDoc summary and description split for CRLF files](https://github.com/dedoc/scramble/pull/1271) (2026-09-13) - -### gocarina/gocsv - -The GoCSV package aims to provide easy CSV serialization and deserialization to the golang programming language · ★ 2 198 - -- [Add MarshalBytesWithoutHeaders](https://github.com/gocarina/gocsv/pull/305) (2026-10-12) -- [Fix date layout in README and full example](https://github.com/gocarina/gocsv/pull/304) (2026-10-12) -- [Make SetHeaderNormalizer safe to call while decoding](https://github.com/gocarina/gocsv/pull/303) (2026-10-12) -- [Parse integer fields as base 10 (fixes #182)](https://github.com/gocarina/gocsv/pull/293) (2026-09-05) - -### thephpleague/html-to-markdown - -Convert HTML to Markdown with PHP · ★ 1 907 - -- [fix: honor start="0" on ordered lists](https://github.com/thephpleague/html-to-markdown/pull/277) (2026-09-07) - -### AfterShip/email-verifier - -:white_check_mark: A Go library for email verification without sending any emails. · ★ 1 643 - -- [Document the proxy schemes that work and stop panicking on custom dialers](https://github.com/AfterShip/email-verifier/pull/224) (2026-09-15) - -### fabiocaccamo/python-benedict - -:blue_book: dict subclass with keylist/keypath support, built-in I/O operations (base64, csv, html, ini, json, pickle, plist, query-string, toml, xls, xml, yaml), s3 support and many utilities. · ★ 1 606 - -- [Fix RecursionError when assigning a benedict into its own nested descendant (#592)](https://github.com/fabiocaccamo/python-benedict/pull/597) (2026-09-29) - -### gookit/color - -🎨 Terminal color rendering library, support 8/16 colors, 256 colors, RGB color rendering output, support Print/Sprintf methods, compatible with Windows. GO CLI 控制台颜色渲染工具库,支持16色,256色,RGB色彩渲染输出,使用类似于 Print/Sprintf,兼容并支持 Windows 环境的色彩渲染 · ★ 1 606 - -- [fix(convert): zero-pad each channel in RgbToHex](https://github.com/gookit/color/pull/120) (2026-09-07) - -### olebedev/when - -A natural language date/time parser with pluggable rules · ★ 1 463 - -- [Fix month parsing overflowing into the next month](https://github.com/olebedev/when/pull/50) (2026-09-27) - -### dgilland/pydash - -The kitchen sink of Python utility libraries for doing "stuff" in a functional way. Based on the Lo-Dash Javascript library. · ★ 1 447 - -- [Fix `fill` growing the array when `start` comes after `end`](https://github.com/dgilland/pydash/pull/257) (2026-09-20) - -### cakephp/chronos - -A standalone DateTime library originally based off of Carbon · ★ 1 362 - -- [fix: parse fractional seconds in ChronosTime as a fraction of a second](https://github.com/cakephp/chronos/pull/531) (2026-09-06) - -### go-playground/form - -:steam_locomotive: Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support. · ★ 931 - -- [Fix panic when a custom type function returns nil for a pointer field](https://github.com/go-playground/form/pull/77) (2026-09-08) - -### mkideal/cli - -CLI - A package for building command line app with go · ★ 723 - -- [fix(flag): honor full separator length when splitting map key=value pairs](https://github.com/mkideal/cli/pull/75) (2026-09-06) - -### gookit/config - -📝 Go configuration manage(load,get,set,export). support JSON, YAML, TOML, Properties, INI, HCL, ENV and Flags. Multi file load, data override merge, parse ENV var. Go应用配置加载管理,支持多种格式,多文件加载,远程文件加载,支持数据合并,解析环境变量名 · ★ 585 - -- [fix(read): prevent panic on negative slice index in a key path](https://github.com/gookit/config/pull/221) (2026-09-07) - -### rust-syndication/rss - -Library for serializing the RSS web content syndication format · ★ 502 - -- [Fix image height validation to allow the spec maximum of 400](https://github.com/rust-syndication/rss/pull/194) (2026-09-05) - -### kelindar/bitmap - -Simple dense bitmap index in Go with binary operators · ★ 385 - -- [Fix Or/Xor dropping bits when combining bitmaps of different lengths](https://github.com/kelindar/bitmap/pull/51) (2026-09-23) - -### brick/date-time - -Date and time library for PHP · ★ 361 - -- [fix: emit full seconds in Instant and ZonedDateTime toISOString (RFC 3339)](https://github.com/brick/date-time/pull/131) (2026-09-30) - -### pydantic/pydantic-extra-types - -Extra Pydantic types. · ★ 338 - -- [Add Sha256Str type](https://github.com/pydantic/pydantic-extra-types/pull/433) (2026-10-03) -- [Fix MacAddress accepting octets with a sign or whitespace](https://github.com/pydantic/pydantic-extra-types/pull/424) (2026-09-05) - -### rodaine/table - -Go CLI Table Generator · ★ 324 - -- [fix: pad short rows in SetRows to the number of columns](https://github.com/rodaine/table/pull/67) (2026-09-14) - -### wroberts/pytimeparse - -A small Python module to parse various kinds of time expressions. · ★ 299 - -- [Fix sign character class accidentally matching a pipe `|`](https://github.com/wroberts/pytimeparse/pull/33) (2026-10-03) - -### QEDK/configparser-rs - -A simple configuration parsing utility with no dependencies built on Rust. · ★ 88 - -- [Fix panic when parsing with a multi-byte delimiter](https://github.com/QEDK/configparser-rs/pull/61) (2026-09-06) - -### thephpleague/uri-src - -URI toolkit Library · ★ 51 - -- [Fix multibyte characters being split by the URI Template prefix modifier](https://github.com/thephpleague/uri-src/pull/192) (2026-09-06) - -### spiral/testing - -Spiral Framework testing SDK · ★ 7 - -- [Ignore line endings in scaffolder output assertions](https://github.com/spiral/testing/pull/95) (2026-10-04) -- [Ignore line endings in console output assertions](https://github.com/spiral/testing/pull/94) (2026-10-04) -- [Keep configured auth transports when faking an actor](https://github.com/spiral/testing/pull/91) (2026-09-21) - -### mozilla/firefox - -Firefox web browser - -- [Bug 1996443: focus the browser window when opening about:logins via LoginHelper.openPasswordManager](https://phabricator.services.mozilla.com/D332854) (2026-10-21) - -### proxmox/proxmox-widget-toolkit - -Proxmox VE, patches applied through the pve-devel mailing list - -- [fix #6943: ui: network selector: show comments of IPv6 entries](https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=b92a9ad19f18065576e02ad0056c5ba5650bcf07) (2026-09-30) - -### proxmox/pve-manager - -Proxmox VE, patches applied through the pve-devel mailing list - -- [fix #4986: jobs: do not get stuck if the task log is missing](https://git.proxmox.com/?p=pve-manager.git;a=commit;h=ac0c87dd37115e3046cbfa5756f2a02fc659e8cd) (2026-10-06) -- [fix #7108: ui: ipset: do not offer aliases that are already added](https://git.proxmox.com/?p=pve-manager.git;a=commit;h=8efee570fbe9b99df40daf6ab83d77db295379cb) (2026-09-30) -- [fix #5608: ui: resource mappings: validate the name like the API does](https://git.proxmox.com/?p=pve-manager.git;a=commit;h=55c76c27465287eccef01d16f26ff1d6fe37569a) (2026-09-30) -- [fix #8015: ui: download url: let the user choose the .img image format](https://git.proxmox.com/?p=pve-manager.git;a=commit;h=ebf648ddce2ec255ff5d0ee85f456f4a64d8e020) (2026-09-30) -- [fix #8015: ui: upload: let the user choose the .img image format](https://git.proxmox.com/?p=pve-manager.git;a=commit;h=2380c3df6742aee91e9519a4a5c0aff4f3c6a350) (2026-09-30) -- [fix #6475: ui: upload: only show the file name of the selected file](https://git.proxmox.com/?p=pve-manager.git;a=commit;h=e42092eaee50fe726b0e1267f625425833075d5a) (2026-09-30) - -### proxmox/pve-storage - -Proxmox VE, patches applied through the pve-devel mailing list - -- [fix #6969: plugin: keep content directory when freeing its last file](https://git.proxmox.com/?p=pve-storage.git;a=commit;h=c10faa69723a824ed52837ad8d185c20bc472020) (2026-10-09) - -### proxmox/qemu-server - -Proxmox VE, patches applied through the pve-devel mailing list - -- [fix #6907: memory: allow multi-digit host nodes with hugepages](https://git.proxmox.com/?p=qemu-server.git;a=commit;h=167f3d70a5349072c79e5e7fc2145f40eb9f2f28) (2026-10-14) -- [partially fix #4012: migrate: mention snapshots referencing a local ISO image](https://git.proxmox.com/?p=qemu-server.git;a=commit;h=a4efa5f9ad2afbf4dea02274ed7a6ff41cdcf0aa) (2026-10-09) -- [test: migration: support volumes other than images](https://git.proxmox.com/?p=qemu-server.git;a=commit;h=5abda8579ba5ddabba3c5bf5f72b11cfee7c692d) (2026-10-09) +| Zlecenie komercyjne: strona, panel, aplikacja, platforma | [vulcode.com](https://vulcode.com) | +| Branding, design, grafika i wideo | [aphrodi.pl](https://aphrodi.pl) | +| Open source, rozmowa, rekrutacja, wszystko inne | [me@dualfroz.com](mailto:me@dualfroz.com) (lub sociale!)| \ No newline at end of file diff --git a/assets/projects/aphrodi.webp b/assets/projects/aphrodi.webp new file mode 100644 index 0000000..5fb7be4 Binary files /dev/null and b/assets/projects/aphrodi.webp differ diff --git a/assets/projects/atrium.svg b/assets/projects/atrium.svg new file mode 100644 index 0000000..a7a3695 --- /dev/null +++ b/assets/projects/atrium.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + diff --git a/assets/projects/hermeia.png b/assets/projects/hermeia.png new file mode 100644 index 0000000..f648a6f Binary files /dev/null and b/assets/projects/hermeia.png differ diff --git a/assets/projects/lokal.svg b/assets/projects/lokal.svg new file mode 100644 index 0000000..2e45a03 --- /dev/null +++ b/assets/projects/lokal.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/assets/projects/lunatic.png b/assets/projects/lunatic.png new file mode 100644 index 0000000..1ca0b92 Binary files /dev/null and b/assets/projects/lunatic.png differ diff --git a/assets/projects/mathost.png b/assets/projects/mathost.png new file mode 100644 index 0000000..7266ff7 Binary files /dev/null and b/assets/projects/mathost.png differ diff --git a/assets/projects/nebula.webp b/assets/projects/nebula.webp new file mode 100644 index 0000000..03cc36b Binary files /dev/null and b/assets/projects/nebula.webp differ diff --git a/assets/projects/spectra.png b/assets/projects/spectra.png new file mode 100644 index 0000000..f94bcda Binary files /dev/null and b/assets/projects/spectra.png differ diff --git a/assets/projects/vulbio.svg b/assets/projects/vulbio.svg new file mode 100644 index 0000000..509b6e9 --- /dev/null +++ b/assets/projects/vulbio.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/assets/projects/vulcode.png b/assets/projects/vulcode.png new file mode 100644 index 0000000..81c3bc6 Binary files /dev/null and b/assets/projects/vulcode.png differ diff --git a/assets/projects/vulp.svg b/assets/projects/vulp.svg new file mode 100644 index 0000000..e62a3f8 --- /dev/null +++ b/assets/projects/vulp.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + +