101 lines
13 KiB
Markdown
101 lines
13 KiB
Markdown
### Techstack
|
|
|
|
#### Programming Languages
|
|
<p align="left">
|
|
<img src="https://img.shields.io/badge/C/C++-00599C?style=for-the-badge&logo=c%2B%2B&logoColor=white" alt="C/C++" />
|
|
<img src="https://img.shields.io/badge/Python-3775A9?style=for-the-badge&logo=python&logoColor=white" alt="Python" />
|
|
<img src="https://img.shields.io/badge/Rust-191919?style=for-the-badge&logo=rust&logoColor=white" alt="Rust" />
|
|
<img src="https://img.shields.io/badge/Golang-00ADD8?style=for-the-badge&logo=go&logoColor=white" alt="Golang" />
|
|
<img src="https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black" alt="JavaScript" />
|
|
<img src="https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge&logo=typescript&logoColor=white" alt="TypeScript" />
|
|
</p>
|
|
|
|
#### Frameworks, Libraries & Protocols
|
|
|
|
<p align="left">
|
|
<img src="https://img.shields.io/badge/Qt/QML-2CDE85?style=for-the-badge&logo=qt&logoColor=white" alt="Qt/QML" />
|
|
<img src="https://img.shields.io/badge/Kirigami-0068C6?style=for-the-badge&logo=kde&logoColor=white" alt="Kirigami" />
|
|
<img src="https://img.shields.io/badge/Textual-613583?style=for-the-badge&logo=textual&logoColor=white" alt="Textual" />
|
|
<img src="https://img.shields.io/badge/ArkUI-0A59F7?style=for-the-badge&logo=harmonyos&logoColor=white" alt="ArkUI" />
|
|
<img src="https://img.shields.io/badge/React-61DAFB?style=for-the-badge&logo=react&logoColor=black" alt="React" />
|
|
<img src="https://img.shields.io/badge/Bootstrap-7952B3?style=for-the-badge&logo=bootstrap&logoColor=white" alt="Bootstrap" /><br/>
|
|
<img src="https://img.shields.io/badge/FastAPI-009688?style=for-the-badge&logo=fastapi&logoColor=white" alt="FastAPI" />
|
|
<img src="https://img.shields.io/badge/Deno-222222?style=for-the-badge&logo=deno&logoColor=white" alt="Deno" />
|
|
<img src="https://img.shields.io/badge/Jupyter-F37626?style=for-the-badge&logo=jupyter&logoColor=white" alt="Jupyter" />
|
|
<img src="https://img.shields.io/badge/ZeroMQ-990000?style=for-the-badge&logo=mqtt&logoColor=white" alt="ZeroMQ" /><!--no zeromq icon for zmq-->
|
|
<img src="https://img.shields.io/badge/Arduino-00979D?style=for-the-badge&logo=arduino&logoColor=white" alt="Arduino" />
|
|
<img src="https://img.shields.io/badge/SDL-173354?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MzcuOCAzNzEiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPjxkZWZzPjxyYWRpYWxHcmFkaWVudCBpZD0iYSIgY3g9IjIwNC45IiBjeT0iLTI0NCIgcj0iMjUuNyIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgtNC4yMjggLTguMjUxIDE0LjAxIC03LjE4IDU2ODggNDU1LjEpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojZmZmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojZmZmIi8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PHBhdGggZD0iTTEwNzEgNjQxLjJjLTg0LjgtMi45LTE2NS40LTIyLTIyOC4xLTU0LjJhMzI0IDMyNCAwIDAgMS0xOC44LTEwLjVsNC42IDIuMmMzMC42IDE1LjYgNjkuMiAyOSAxMDguMiAzNy41YTYzMSA2MzEgMCAwIDAgMTk1LjcgMTAuNCA1MzMgNTMzIDAgMCAwIDE3MC45LTQ1YzQ0LjgtMjAuOCA4MC43LTQ3LjUgMTA0LjctNzcuOCAzNi43LTQ2LjUgNDEuNi0xMDAuNCAxMy41LTE0OC4yLTE4LjItMzEtNDguNi01OC4yLTkwLjMtODFsLTctNGMuNSAwIDE4LjIgOC41IDIzLjcgMTEuNCAyNyAxNC4zIDQ4LjQgMjkuNSA2Ny4xIDQ3LjZhMTU5IDE1OSAwIDAgMSA0NS41IDcyLjFjNi42IDI0LjEgNS40IDUwLjgtMy41IDc0LjQtMTIgMzEuOC0zNi41IDYxLjEtNzIuMyA4Ni41LTU4LjIgNDEuMS0xNDEuNSA2OC40LTIzNCA3Ni41LTI1IDIuMi01NC40IDMtNzkuOSAyLjEiIHN0eWxlPSJmaWxsOnVybCgjYSkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03MjcuNSAtMjcwLjYpIi8+PHBhdGggZD0iTTEyODEgNTA2LjloLTE0OS44VjI5My44aDU2LjR2MTcyLjVoOTMuNHptLTE2NC41LTEwNi40YTEwNCAxMDQgMCAwIDEtNDguNCA4OS41IDEwMCAxMDAgMCAwIDEtMzggMTMuOCAyOTYgMjk2IDAgMCAxLTQzLjggM2gtNzAuMnYtMjEzaDY5LjZxMjMuNiAwIDQ0LjMgMi44YTEwMCAxMDAgMCAwIDEgNzMuNyA1MC4yIDEwOCAxMDggMCAwIDEgMTIuOCA1My43bS01Ny45LS40cTAtMjEtNy42LTM2YTU3IDU3IDAgMCAwLTQ3LjUtMzBxLTEyLjUtLjYtMzAtLjZoLTFWNDY3aDFhNjY1IDY2NSAwIDAgMCAzMi0uNnExMy0uNyAyNC44LTcuN2E1NCA1NCAwIDAgMCAyMS4xLTIyLjkgODAgODAgMCAwIDAgNy4yLTM1LjZtLTI1MCAxMTAuNnEtMjUuOCAwLTQ1LjMtNC44VDcyNyA0OTQuMnYtNTAuN2g1LjFhMTI4IDEyOCAwIDAgMCA3Ni43IDI4LjJxNC44IDAgMTIuOC0xdDEyLjctMy4xYTI4IDI4IDAgMCAwIDEwLTYuOHE0LTQuNSA0LTExLjUgMC04LTYuNi0xM2E0MyA0MyAwIDAgMC0xNS44LTcuNHEtMTEuNS0yLjgtMjQuNS01LjQtMTMtMi41LTI0LjQtNi4zLTI2LTguNy0zNy4zLTIzLjVhNTkgNTkgMCAwIDEtMTEuMy0zNi45cTAtMjkuOSAyNi42LTQ4LjRhMTE0IDExNCAwIDAgMSA2Ni42LTE4LjYgMjA4IDIwOCAwIDAgMSA3NS40IDE0LjN2NDguN2gtNWExMTMgMTEzIDAgMCAwLTY3LjUtMjQuMnEtNy40IDAtMTMuMyAxLTUuOCAxLTEyLjMgMy45YTI1IDI1IDAgMCAwLTkuMSA2LjhxLTMuOSA0LjUtMy45IDEwIDAgOC4yIDYuMSAxMyA2LjEgNC43IDIzLjYgOC43bDIxLjggNC43cTEwLjUgMi4zIDIyLjQgNi4zYTc3IDc3IDAgMCAxIDM0LjcgMjEuNXExMS40IDEzLjYgMTEuNCAzNS43IDAgMzEuOS0yNi4zIDUxLjEtMjYuNCAxOS40LTcxIDE5LjR6IiBzdHlsZT0iZmlsbDojZmZmIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzI3LjUgLTI3MC42KSIvPjwvc3ZnPgo=" alt="SDL" /><br>
|
|
<img src="https://img.shields.io/badge/PostgreSQL-336791?style=for-the-badge&logo=postgresql&logoColor=white" alt="PostgreSQL" />
|
|
<img src="https://img.shields.io/badge/MariaDB-003545?style=for-the-badge&logo=mariadb&logoColor=white" alt="MariaDB" />
|
|
<img src="https://img.shields.io/badge/SQLite-003B57?style=for-the-badge&logo=sqlite&logoColor=white" alt="SQLite" />
|
|
<img src="https://img.shields.io/badge/MongoDB-47A248?style=for-the-badge&logo=mongodb&logoColor=white" alt="MongoDB" />
|
|
<img src="https://img.shields.io/badge/InfluxDB-22ADF6?style=for-the-badge&logo=influxdb&logoColor=white" alt="InfluxDB" />
|
|
</p>
|
|
|
|
#### System Maintenance
|
|
<p align="left">
|
|
<img src="https://img.shields.io/badge/xonsh-285F4F?style=for-the-badge&logo=shell&logoColor=white" alt="xonsh" />
|
|
<img src="https://img.shields.io/badge/Podman-892CA0?style=for-the-badge&logo=podman&logoColor=white" alt="Podman" />
|
|
<img src="https://img.shields.io/badge/Systemd-3B9E5D?style=for-the-badge&logo=gnubash&logoColor=white" alt="systemd" />
|
|
<img src="https://img.shields.io/badge/OpenRC-075CAC?style=for-the-badge&logo=gnubash&logoColor=white" alt="OpenRC" />
|
|
<img src="https://img.shields.io/badge/QEMU-FF6600?style=for-the-badge&logo=qemu&logoColor=white" alt="QEMU" />
|
|
<img src="https://img.shields.io/badge/CentOS_6.x-262577?style=for-the-badge&logo=centos&logoColor=white" alt="CentOS 6.x" /><br>
|
|
<img src="https://img.shields.io/badge/Debian-A81D33?style=for-the-badge&logo=debian&logoColor=white" alt="Debian" />
|
|
<img src="https://img.shields.io/badge/Devuan-A81D33?style=for-the-badge&logo=devuan&logoColor=white" alt="Devuan" />
|
|
<img src="https://img.shields.io/badge/Alpine_Linux-0D597F?style=for-the-badge&logo=alpinelinux&logoColor=white" alt="Alpine Linux" />
|
|
<img src="https://img.shields.io/badge/Rocky_Linux-10B981?style=for-the-badge&logo=rockylinux&logoColor=white" alt="Rocky Linux" />
|
|
<img src="https://img.shields.io/badge/Artix_Linux-10A0CC?style=for-the-badge&logo=artixlinux&logoColor=white" alt="Artix Linux" />
|
|
</p>
|
|
|
|
#### Network Tools & Debugging
|
|
|
|
<p align="left">
|
|
<img src="https://img.shields.io/badge/Wireshark-1679A7?style=for-the-badge&logo=wireshark&logoColor=white" alt="Wireshark" />
|
|
<img src="https://img.shields.io/badge/nmap-4B8DFF?style=for-the-badge&logo=gnubash&logoColor=white" alt="nmap" />
|
|
<img src="https://img.shields.io/badge/stunnel-0066A1?style=for-the-badge&logo=gnubash&logoColor=white" alt="stunnel" />
|
|
<img src="https://img.shields.io/badge/nc-004488?style=for-the-badge&logo=gnubash&logoColor=white" alt="nc" />
|
|
<img src="https://img.shields.io/badge/frp-FF6600?style=for-the-badge&logo=go&logoColor=white" alt="frp" />
|
|
<img src="https://img.shields.io/badge/tcpdump-FF9900?style=for-the-badge&logo=gnubash&logoColor=white" alt="tcpdump" /><br>
|
|
<img src="https://img.shields.io/badge/WireGuard-88171A?style=for-the-badge&logo=wireguard&logoColor=white" alt="WireGuard" />
|
|
<img src="https://img.shields.io/badge/OpenSSL-721412?style=for-the-badge&logo=gnubash&logoColor=white" alt="OpenSSL" />
|
|
<img src="https://img.shields.io/badge/OpenSSH-222222?style=for-the-badge&logo=gnubash&logoColor=white" alt="OpenSSH" />
|
|
<img src="https://img.shields.io/badge/Caddy-1F8C44?style=for-the-badge&logo=caddy&logoColor=white" alt="Caddy" />
|
|
<img src="https://img.shields.io/badge/mitmproxy-00AA00?style=for-the-badge&logo=gnubash&logoColor=white" alt="mitmproxy" />
|
|
</p>
|
|
|
|
#### Platforms & Package Registries
|
|
<p align="left">
|
|
<a href="https://github.com/pluvium27" target="_blank" rel="noopener noreferrer">
|
|
<img src="https://img.shields.io/badge/GitHub-202020?style=for-the-badge&logo=github&logoColor=white" alt="GitHub" />
|
|
</a>
|
|
<a href="https://invent.kde.org/pluv" target="_blank" rel="noopener noreferrer">
|
|
<img src="https://img.shields.io/badge/KDE_Invent-1D99F3?style=for-the-badge&logo=kde&logoColor=white" alt="KDE Invent" />
|
|
</a>
|
|
<a href="https://gitee.com/pluv" target="_blank" rel="noopener noreferrer">
|
|
<img src="https://img.shields.io/badge/Gitee-C71D23?style=for-the-badge&logo=gitee&logoColor=white" alt="Gitee" />
|
|
</a>
|
|
<a href="https://codeberg.org/pluv?tab=repositories" target="_blank" rel="noopener noreferrer">
|
|
<img src="https://img.shields.io/badge/Codeberg-2185D0?style=for-the-badge&logo=codeberg&logoColor=white" alt="Codeberg" />
|
|
</a>
|
|
<a href="https://git.pluv27.top/pluv?tab=repositories" target="_blank" rel="noopener noreferrer">
|
|
<img src="https://img.shields.io/badge/git.pluv27.top-609926?style=for-the-badge&logo=gitea&logoColor=white" alt="git.pluv27.top" />
|
|
</a><br>
|
|
<img src="https://img.shields.io/badge/npm-CB3837?style=for-the-badge&logo=npm&logoColor=white" alt="npm" />
|
|
<img src="https://img.shields.io/badge/PyPI-3775A9?style=for-the-badge&logo=pypi&logoColor=white" alt="PyPI" />
|
|
<img src="https://img.shields.io/badge/Quay.io-ED1C24?style=for-the-badge&logo=redhat&logoColor=white" alt="Quay.io" />
|
|
</p>
|
|
|
|
|
|
### Primary Projects
|
|
<p align="left">
|
|
<a href="https://pluv27.top/foss/heurams/" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/HeurAMS-545f70?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgNTU0LjQgNTU0LjQiIHZlcnNpb249IjEuMSI+CiAgPGRlZnM+CiAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPip7c3Ryb2tlLWxpbmVqb2luOiByb3VuZDsgc3Ryb2tlLWxpbmVjYXA6IGJ1dHR9PC9zdHlsZT4KICA8L2RlZnM+CiAgPHRpdGxlPkhldXJBTVMgTW9ub2Nocm9tZSBMb2dvIC0gTGlnaHQ8L3RpdGxlPgogIDxkZXNjPkxpZ2h0IG1vbm9jaHJvbWUgbG9nbyBvZiB0aGUgSGV1ckFNUyBQcm9qZWN0PC9kZXNjPgogIDxnIGlkPSJmaWd1cmVfMSI+CiAgICA8ZyBpZD0icGF0Y2hfMSI+CiAgICAgIDxwYXRoIGQ9Ik0gMCA1NTQuNCBMIDU1NC40IDU1NC40IEwgNTU0LjQgMCBMIDAgMCBMIDAgNTU0LjQgeiIgc3R5bGU9ImZpbGw6IG5vbmUiLz4KICAgIDwvZz4KICAgIDxnIGlkPSJheGVzXzEiPgogICAgICA8ZyBpZD0icGF0Y2hfMiI+CiAgICAgICAgPHBhdGggZD0iTSA2Ni41MjggNDg3Ljg3MiBMIDE5OS41ODQgNDg3Ljg3MiBMIDE5OS41ODQgMzU0LjgxNiBMIDY2LjUyOCAzNTQuODE2IHoiIGNsaXAtcGF0aD0idXJsKCNwNGRhODc2YzdhMCkiIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6ICNmZmZmZmY7IHN0cm9rZS1saW5lam9pbjogbWl0ZXIiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0icGF0Y2hfMyI+CiAgICAgICAgPHBhdGggZD0iTSAxOTkuNTg0IDM1NC44MTYgTCA0ODcuODcyIDM1NC44MTYgTCA0ODcuODcyIDY2LjUyOCBMIDE5OS41ODQgNjYuNTI4IHoiIGNsaXAtcGF0aD0idXJsKCNwNGRhODc2YzdhMCkiIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6ICNmZmZmZmY7IHN0cm9rZS1saW5lam9pbjogbWl0ZXIiLz4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0icDRkYTg3NmM3YTAiPgogICAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iNTU0LjQiIGhlaWdodD0iNTU0LjQiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgo8L3N2Zz4K" alt="HeurAMS" /></a>
|
|
<a href="https://pluv27.top/foss/afi/" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/AFI-545f70?style=for-the-badge&logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNzc0NjkxODI4MjkzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE5MjUyIiBkYXRhLXNwbS1hbmNob3ItaWQ9ImEzMTN4LmNvbGxlY3Rpb25zX2RldGFpbC4wLmkzLjQwMzczYTgxcWVZNXNnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHBhdGggZD0iTTgxMS40IDQxOC43Qzc2NS42IDI5Ny45IDY0OC45IDIxMiA1MTIuMiAyMTJTMjU4LjggMjk3LjggMjEzIDQxOC42QzEyNy4zIDQ0MS4xIDY0IDUxOS4xIDY0IDYxMmMwIDExMC41IDg5LjUgMjAwIDE5OS45IDIwMGg0OTYuMkM4NzAuNSA4MTIgOTYwIDcyMi41IDk2MCA2MTJjMC05Mi43LTYzLjEtMTcwLjctMTQ4LjYtMTkzLjN6IG0zNi4zIDI4MWMtMjMuNCAyMy40LTU0LjUgMzYuMy04Ny42IDM2LjNIMjYzLjljLTMzLjEgMC02NC4yLTEyLjktODcuNi0zNi4zLTIzLjQtMjMuNC0zNi4zLTU0LjYtMzYuMy04Ny43IDAtMjggOS4xLTU0LjMgMjYuMi03Ni4zIDE2LjctMjEuMyA0MC4yLTM2LjggNjYuMS00My43bDM3LjktOS45IDEzLjktMzYuNmM4LjYtMjIuOCAyMC42LTQ0LjEgMzUuNy02My40IDE0LjktMTkuMiAzMi42LTM1LjkgNTIuNC00OS45IDQxLjEtMjguOSA4OS41LTQ0LjIgMTQwLTQ0LjJzOTguOSAxNS4zIDE0MCA0NC4yYzE5LjkgMTQgMzcuNSAzMC44IDUyLjQgNDkuOSAxNS4xIDE5LjMgMjcuMSA0MC43IDM1LjcgNjMuNGwxMy44IDM2LjUgMzcuOCAxMGM1NC4zIDE0LjUgOTIuMSA2My44IDkyLjEgMTIwIDAgMzMuMS0xMi45IDY0LjMtMzYuMyA4Ny43eiIgcC1pZD0iMTkyNTMiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48L3N2Zz4K" alt="AFI" /></a>
|
|
</p>
|
|
|
|
<blockquote>PRs can be submitted on any platform, accepted PRs are automatically synced to <code>git.pluv27.top</code> and then to all platforms.<br/>No extra account registration or any other operations required :)</blockquote>
|
|
|
|
Consider taking a look at HeurAMS if you like spaced repetition :)
|
|
|
|
---
|
|
|
|
> Pluvia quae et aliis et sibi ipsi felicitatem affert. |