Skip to content
View isomorphisms's full-sized avatar
🏠
programming from my phone
🏠
programming from my phone

Block or report isomorphisms

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.

Content in all repositories owned by your account will be closed.
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
isomorphisms/README.md

My repos include both deeper-level experiments rethinking overall system architecture (in particular crossing the GCC divide at will), and fun little runnable games, usually made to illustrate and share mathematical experiences which used to be hidden to all but PhD students.

Lower-level ideas

Crossing compiler boundaries. ICK is a GCC-derived C compiler; Idriç experiments with other routes, including direct DEX output for Android ART. I want to know exactly where a compiler decides how to lower a program, how to inspect that decision, and how to change it.

Readable machine operations. English Major C describes individual machine instructions in precise, complete English sentences: registers, memory, branches, the execution index, and what each operation changes. The aim is inspectability by natural-language readers, human or digital, not another opaque layer. Its first English-to-ARM Thumb compiler is a deliberately small experiment, not a complete machine-language implementation.

DEX micro-optimizations. I'm exploring where reusable immutable data belongs: perhaps directly in DEX, perhaps in native read-only storage or separate assets. Colour tables, tries for text or URL matching, and other shared structures offer small experiments in avoiding repeated parsing or construction. The important questions are what ART actually does, where the choice is made, and whether measurement shows any speed or memory benefit.

runnable programs

Spinor

Spinor 0.0.1-pre.1 — prerelease — MIRO A1 APK · MIRO C67 APK · Release notes and checksums · Source

Newer test APKs: A1 and C67 builds, October 14.

Turn through 2π, then 4π. Watch the demonstration.

Spinor 0 → 2π → 4π animation

Credit: Jason Hise created the distinctive six-belt Belt Trick and Antitwister visualizations. This phone app implements that construction independently. Full attribution.

Wegert

Wegert Android test 0.1.50 — prerelease — Download APK · Release notes and checksum · Source

Newer test APK: October 20 build.

Add, move, and cancel zeros and poles; watch the complex-function portrait change. Watch the demonstration.

Wegert demo

Credit: Elias Wegert developed this phase-portrait approach. His Complex Beauties calendars were made with Gunter Semmler, Pamela Gorkin, and Ulrich Daepp. This is a separate Android implementation. Wegert's book.

Algebraic Variety Explorer

Source

Test APK: Signed October 21 build (GitHub Actions artifact).

Graph real zero sets in three variables. Watch the demonstration.

Algebraic Variety Explorer demo

Credit: Christian Stussak wrote the original Java jsurf ray tracer for IMAGINARY's SURFER. This project adapts his renderer for Android with touch controls and packaging. Original source · License and credits.

Accelerometer

Accelerometer native 0.2.0 — Download APK · Release notes and provenance · Source

Newer test APKs: October 9 build.

A small native ARMv7/Thumb phone sensor app, without application DEX. Sensor code · Watch the replay.

Accelerometer sensor-data replay

Pauli

Earlier test APK: October 9 build. Source.

A camera moving around a hydrogen 2pₓ orbital, rendered with this project's native CPU code. Inspired by Dean Dauger's Atom in a Box. Watch the demonstration.

Pauli 2pₓ orbital camera turntable

Fourier Voice / Florence Nightingale

Test APKs: October 14 main-branch builds (GitHub Actions artifacts). Source.

A microphone → Fourier mathematics → picture experiment. This movie uses an offline recording of Florence Nightingale, rather than a live microphone. The Android program currently uses AAudio and libc; direct hardware access remains experimental. Watch the movie.

Florence Nightingale Fourier Voice animated preview

GitHub Actions links lead to temporary test APKs under Artifacts; downloading them may require signing in. The release APK links above are permanent, but some are older than the source.

Organizations

This workspace is lightly organized, not stringently tidy. These organizations keep things in at least some boxes:

  • Ashtray & Archer — command-line utilities.
  • House of Government — data and forms.
  • Isomorphismes — mathematical interactions, like the moving pictures in Harry Potter. I want every video demo to be playable and every playable demo to have a passive video. Most of the time people just watch; sometimes they want to take control. And when the controls are unfamiliar, a demonstration helps.
  • Fuego Ironworks — an LLM training gym.
  • Dilapidated Shed — projects being worked on.
  • IB Pensieve — a web browser of my own design (IB source).

Projects

Mathematics: Games · Coefficient Root Dance · Coxeter · Indra's Pearls · Subpixel curves

Topology: VanKoughnett · Goodwillie · Morava · Snaith · Mapping classes · Kirby calculus · Montesinos

Languages: Icky C · Idriç · i-thon · IR · Math keyboard

Systems: IB · Search design · Grease · Android NDK · Cat Food · FPGA grep · Password dots

AI-built code: ai-ci · Cockswain · Kitchen · mbox · What I check

Math and error: Walnut & Burgundy · Fulton · Tymoczko · Statistics · Intervals · Precision notes

Notes: Chatbot as build system · Small apps · Space age

Pinned Loading

  1. isomorphismes/algebraic-variety-explorer-mobile isomorphismes/algebraic-variety-explorer-mobile Public

    visualize 3-letter polynomials on your phone! this is a port of Christian Stussak's Oberwolfach ray tracer SURFER to run on mobile devices

    Java

  2. isomorphismes/wegert isomorphismes/wegert Public

    visually add roots and poles to play with meromorphic polynomials

    C

  3. dilapidated-shed/grease dilapidated-shed/grease Public

    a language to smooth the friction between things that come in contact with another ("shell")

    Shell

  4. ib ib Public

    browsers don't have bookmarks.

    Java

  5. fuego-ironworks/idric-arm-thumb fuego-ironworks/idric-arm-thumb Public

    compiler backend

    TeX

  6. fuego-ironworks/idris-shader-backend fuego-ironworks/idris-shader-backend Public

    a custom compiler backend to directly render GPU machine code (GLSL or PowerVR) from Idris, bypassing C and retaining type information for improved shader performance

    Idris