Skip to content
View sypianski's full-sized avatar

Sponsoring

@SahandMalaei

Block or report sypianski

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
sypianski/README.md

Jakub Sypiański

Historian & Arabist (Sorbonne PhD) — Arab–Byzantine relations, environmental history, and the digital humanities. Consultant on AI in research. In between, I build small tools for reading, writing, and language.

sypian.ski · ORCID · Bluesky · X

History & the humanities

  • kalkal.online — a multilingual converter for ancient and medieval Middle Eastern calendars: Hijri, Byzantine, Coptic, Julian, and more.
  • kazimirski.online — a digital edition of Kazimirski's Arabic–French dictionary (1860), with transliteration-aware search across 40,000 entries.
  • Carte-Mediterranee-orientale-600-900 — a shapefile map of the eastern Mediterranean, 600–900 CE, focused on the shifting frontiers between the Roman and Sasanian, then Muslim, empires, together with cities and centres of learning.
  • ortografio — a set of public spell-check dictionaries covering medieval studies and Arabic transliteration.

Reading on e-ink — KOReader plugins

KOReader is an open-source document and ebook reader for e-ink devices (Kindle, Kobo, PocketBook, Android). These plugins extend it for scholarly and multilingual reading.

Input & control

  • keyreader — makes an external physical keyboard a first-class input device in KOReader: remap any key, a fuzzy command palette for actions, in-book word search, and vim-style visual sentence/word selection, so you can drive the reader like a text editor.
  • kopad — gamepad and controller support for KOReader: a crosshair cursor that snaps to the nearest word for highlighting, dictionary and AI lookup, plus structured navigation by sentence and word — page-turning and menus without touching the screen.

Translation & parallel texts

  • rosetta.koplugin — a bilingual reading panel beneath the book text: the original page stays in place while a panel shows the same page in your target language, typographically matched to the book (font, margins, hyphenation, italics, headings). Translations are generated by an LLM or drawn from a pre-aligned human translation.
  • paraligilo — aligns an ebook with its translation at sentence level and emits a parallel-aligned.json sidecar — the raw material that feeds bilingual reading panels like rosetta, and parallel corpora.
  • parallel-align-spec — an open specification for pairing paragraphs between an EPUB and its translation, using a content-hash sidecar format so alignments survive re-exports of the book.

Annotation & display

  • marjenoti.koplugin — renders your annotation notes in the right-hand page margin, pinned next to the text they comment on, the way glosses sit beside the text in a critical edition.
  • textolimiti.koplugin — fixes KOReader's reading-% by letting you mark where the actual book text begins and ends, so front matter, endnotes, and appendices don't distort your sense of progress.
  • koreader-frontespico — a small user patch that replaces the file-path popup shown when you open a book with a clean, centred author + title splash screen.
  • hairline.koplugin — a minimal progress bar flush to the bottom edge of the screen, inspired by the Crosspoint firmware look on the XTEINK X4.
  • kotheme.koplugin — cosmetic theming for KOReader: rounded corners and smoother borders on notifications, popups, buttons, and highlight rectangles.

Apps for Garmin watches

  • notes & codes — a Connect IQ notes/QR/barcode wallet that syncs cards over BLE from Android, macOS, and web companions backed by a zero-dependency Node API.
  • garmanki — an unofficial Anki client for Garmin watches: a Connect IQ app plus an Android companion that bridges to AnkiDroid over BLE, so the scheduler stays in AnkiDroid and the watch just shows cards and reports ease.

The Android companion for both apps is in closed beta — to join the testers, see sypian.ski/beta.

Editor & desktop tooling

  • swap.nvim — a Neovim plugin that swaps a word, sentence, or paragraph with its previous neighbour, with a live preview of the result, a confirmation step, and a flash showing exactly what moved.
  • flustrilo — push-to-talk dictation for Wayland: a dependency-light (stdlib) Python client that records while you hold a key and transcribes through any OpenAI-compatible Whisper backend, self-hosted or hosted.
  • nchat — a fork of nchat, the terminal client for Telegram, WhatsApp, and Signal, adding optional vim-style modal editing to the message compose entry.

Pinned Loading

  1. nchat nchat Public

    Forked from d99kris/nchat

    Fork of nchat (terminal Telegram/WhatsApp/Signal client) adding optional vim-style modal editing in the compose entry

    C++ 1

  2. keyreader keyreader Public

    Physical keyboard kit for KOReader: key remap, command palette, word search, vim-style visual selection

    Lua 2

  3. kopad kopad Public

    Gamepad control for KOReader: crosshair word-snapping cursor + structured sentence/word navigation

    Lua 1

  4. swap.nvim swap.nvim Public

    Swap word/sentence/paragraph with previous neighbour. Preview + confirm + flash.

    Lua 1

  5. Carte-Mediterranee-orientale-600-900 Carte-Mediterranee-orientale-600-900 Public

    Une carte en shapefile avec un focus sur les frontières entre les empires romain et sassanide puis musulman, villes et centres d’enseignement.