Skip to content
View jburgy's full-sized avatar

Block or report jburgy

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.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

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

Report abuse
jburgy/README.md

Hi there 👋

My name is Jan Burgy and, shocking as it sounds, these 8 characters are unique to me! I recently became aware of a Jan Bürgy on LinkedIn but their last name contains an Umlaut whereas mine does not.

My programming journey began with Logo (yes, the little turtle) on a Smaky in the computer lab at the École normale in Fribourg (now called the Haute École pédagogique Fribourg). I owe a debt of gratitude to Frédéric Oberson who rounded up several kids from my neighborhood and drove us to that lab on saturday mornings. He showed us that the only bounds to how far we can manipulate computers lie in our imagination! In typical Swiss fashion, our final project was to draw a full screen clock and redraw its hands to keep time. I seem to remember we fiddled with some sleep statements to keep it in sync. Mind you we were in grade school and probably hadn't studied trigonometry yet.

After that, my parents got me a Commodore 64 and I picked up some BASIC. There was also a delightful speech synthesis program (SAM maybe) which kept us entertained because it butchered my native French in the most comical fashion. I did take another, slightly more formal, course in BASIC in middle school but that was nowhere as fun as drawing clocks or mis-pronouncing French so my keyboard sat idle until college. There, my program required one semester of C++. Ah, those compiler errors were not for the faint of heart! I remember struggling with a Gaussian elimination homework assignment. Around that time, I also "cheated" on my numerical maths exam because I had programmed a Cholesky decomposition in RPL on my HP 48GX. Imagine my surprise when the first exam question was to perform Cholesky on a 3x3 matrix by hand!

Things really started heating up in graduate school. I joined a computational physics research group. Unsurprisingly, the entire codebase was in FORTRAN 77 (with some FORTRAN 66 thrown in for good measure). Mind you, this was quite some time ago. I didn't love FORTRAN so I tried f2c to avoid it. I wasn't mature enough to understand you're not supposed to look at generated code so I ran for the hills. I translated some linear algebra routines by hand. I remember a matrix diagonalization routine called CHOQRD from the Nagoya University Mathematical Package (NUMPAC) quite fondly. I also taught myself how to call a FORTRAN function from C. Trivial with a coding agent by your side these days but try doing it without Stack Overflow and limited understanding of the memory layout of multi-dimension arrays. You know, all the stuff NumPy takes care of so you don't have to.

Ok, boomer, enough of this yawn fest. What's even the point of it? Well, if you read between the lines, some themes emerge that keep me excited to this day:

  • interpreted languages (BASIC), in particular where stacks are involved (RPL). Explains my fascination with FORTH and python
  • numerical maths: basic linear algebra led to linear programming and more
  • foreign function interfaces: calling Zig from python replaced calling FORTRAN from C

If some of these interest you too, you might like my blog

Pinned Loading

  1. blog blog Public

    Support materials for blog entries

    Python 3 1

  2. sprog sprog Public

    Sparse linear algebra for linear programming

    Python

  3. ziggy-pydust ziggy-pydust Public

    Forked from spiraldb/ziggy-pydust

    A toolkit for building Python extensions in Zig.

    Zig

  4. zox zox Public

    Zig