{"id":20456247,"url":"https://github.com/semperos/semperos","last_synced_at":"2026-03-19T15:58:00.677Z","repository":{"id":180285511,"uuid":"626117385","full_name":"semperos/semperos","owner":"semperos","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-24T12:10:05.000Z","size":22,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-15T23:31:38.827Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/semperos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-10T20:45:29.000Z","updated_at":"2024-07-24T12:10:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"30436698-6d73-49f8-a67b-5f6c589c0864","html_url":"https://github.com/semperos/semperos","commit_stats":null,"previous_names":["semperos/semperos"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semperos%2Fsemperos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semperos%2Fsemperos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semperos%2Fsemperos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semperos%2Fsemperos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/semperos","download_url":"https://codeload.github.com/semperos/semperos/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242007795,"owners_count":20056790,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T11:21:57.385Z","updated_at":"2025-10-26T06:43:59.891Z","avatar_url":"https://github.com/semperos.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"### I'm Daniel (semperos) 👋\n\nI work as the Head of Engineering at [Shortcut](https://shortcut.com).\n\n[Clojure](https://clojure.org) is my primary programming language, been using it since 2010 and making a living with it since 2013.\n\n**💻 My Open Source Work**\n\n* [Ari](https://github.com/semperos/ari): Array Relational Interactive Programming\n* [PiLisp](https://github.com/orgs/pilisp/pilisp-monorepo): An interpreted Lisp inspired by Clojure, implemented in [Dart](https://dart.dev)\n* [Metazoa](https://gitlab.com/glossa/metazoa): Tools for viewing, testing, searching, and querying Clojure metadata\n* [shortcut-repl](https://github.com/semperos/shortcut-repl): A REPL \u0026 CLI for [Shortcut](https://shortcut.com) (Dart)\n* [cci](https://github.com/semperos/cci): Minimal CircleCI API CLI Client (Clojure via GraalVM native image)\n* [clj-webdriver](https://github.com/semperos/clj-webdriver): (Unmaintained) Clojure API for Selenium-WebDriver\n\nTiny utilities:\n\n* [csver](https://github.com/semperos/csver): Convert JSON array over STDIN to CSV over STDOUT (Rust)\n* [xmler](https://github.com/semperos/xmler): Small CLI utility to report on stats for XML sitemaps (Rust)\n* [last-stacktrace](https://gitlab.com/semperos/last-stacktrace): Utility to print stacktraces from JSONL logs (Rust)\n\nLearning, experiments, and toys:\n\n* [Gershwin](https://github.com/gershwin/gershwin): Stack-based, concatenative programming language with a Clojure runtime that targets the JVM\n* [rankle](https://github.com/semperos/rankle): Experiments with data rank and tables in Clojure, inspired by J and Q\n* [kintampo](https://github.com/semperos/kintampo): Hierarchical data processing via file system + ZeroMQ\n* [river-crossing-spec](https://github.com/semperos/river-crossing-spec): TLA+ Specification for the [\"Wolf, goat, and cabbage\" puzzle](https://en.wikipedia.org/wiki/Wolf,_goat_and_cabbage_problem)\n* [AsIf](https://gitlab.com/semperos/asif): Language implemented as a Clojure transducer\n* [Shackle](https://gitlab.com/semperos/shackle): Stack-based language, implemented in the web browser\n* [webdriver-logic](https://github.com/semperos/webdriver-logic): Logic programming API for testing web applications using clj-webdriver\n\n**💾 Technology I Use**\n\n- [Clojure](https://clojure.org) for most of the professional code I've written\n- [Goal](https://codeberg.org/anaseto/goal) for day-to-day data analysis, HTTP API interaction, and scripting\n- [Julia](https://julialang.org/) and [J](https://code.jsoftware.com/wiki/Guides/GettingStarted) for data analysis\n- [Glamorous Toolkit](https://gtoolkit.com/) built on [Pharo Smalltalk](https://pharo.org/) for moldable development\n- [LaTeX](https://www.latex-project.org/) for authoring documents of all kinds\n- [Ruby](https://www.ruby-lang.org/en/) for writing scripts that I can share with folks that might find Clojure unapproachable\n- [sops](https://fishshell.com/) for managing secrets locally\n- [fish](https://fishshell.com/) as my primary shell\n- [WezTerm](https://wezfurlong.org/wezterm/index.html) and [Alacritty](https://alacritty.org/) as terminal emulators\n- [tmux](https://github.com/tmux/tmux/wiki) for multiplexing\n- [Emacs](https://www.gnu.org/software/emacs/), traditional bindings for Lisp-adjacent work, Vim bindings via [`evil-mode`](https://github.com/emacs-evil/evil) for everything else\n- [NeoVim](https://neovim.io/) for text editing at the terminal\n- [Visual Studio Code](https://code.visualstudio.com/) for most non-Clojure development\n- macOS at work\n   - [Rectangle](https://rectangleapp.com/) to move and resize windows\n   - [Maccy](https://maccy.app/) for clipboard management\n- [Ubuntu](https://ubuntu.com/) for Linux at home\n\n**📫 How to reach me:**\n\n- [Personal Website](https://danielgregoire.dev)\n- [Mastodon](https://fosstodon.org/@semperos)\n- [LinkedIn](https://www.linkedin.com/in/danielgregoire/)\n\n\u003c!--\n**semperos/semperos** is a ✨ _special_ ✨ repository because its `README.md` (this file) appears on your GitHub profile.\n\nHere are some ideas to get you started:\n\n- 🔭 I’m currently working on ...\n- 🌱 I’m currently learning ...\n- 👯 I’m looking to collaborate on ...\n- 🤔 I’m looking for help with ...\n- 💬 Ask me about ...\n- 📫 How to reach me: ...\n- 😄 Pronouns: ...\n- ⚡ Fun fact: ...\n--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsemperos%2Fsemperos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsemperos%2Fsemperos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsemperos%2Fsemperos/lists"}