Git Product home page Git Product logo

jacobdgm

Hi, I'm Jacob deGroot-Maggetti! I'm a programmer, learner and musician.

My personal website is https://jacobdgm.com, and you can reach me at [email protected].

I'm a programmer

Day-to-day, I program mostly in Python and Django. I've also worked on a handful of personal projects, most of them in Python, many of which are outlined below.

I'm particularly proud of:

  • Cantus Database (code)—During my time as a software developer at the Distributed Digital Music Archives and Libraries (DDMAL) Lab, I've worked to reverse-engineer this long-running database of Gregorian chant in Django (the original database was passed from researcher to researcher on hard disks, and then for many years, it lived online with Drupal running under the hood). I've been lead developer of the project since September 2022, and the updated site launched in July 2023.
  • jacobdgm.com (code)—I'm inordinately proud of my personal website, mostly for the content on the site and the lessons I learned while growing it.
  • fretboard-generator—fretboard-generator is a collection of functions for generating fretboard diagrams for fretted string instruments.

I'm a learner

A couple of my central interests are pedagogy and effective learning techniques. When learning facts, I take advantage of spaced repetition, interleaving, and above all, active recall. When learning new skills, I learn primarily by doing, complementing this with relevant factual learning. Since I began to learn to program during the pandemic, I've learned a bunch of new skills while working on a series of projects:

  • While setting up my personal website (code) I learned about
    • CSS,
    • the conventions of HTML and semantic HTML,
    • the basics of Git and GitHub, and
    • some things about setting up projects so they can grow and evolve over time. (If I were to set it up now, I might be tempted to use a framework like Django. But I like that it uses static HTML, and that it still bears the marks of the design choices I made at the beginning and those I made along the way. It has its quirks, but I love it as it is!)
  • fretboard-generator was a productive initial exercise in creating a project in Python, as I set up a group of functions that worked well with each other. It also yielded lessons on how to structure projects.
  • From pitch-classes, I learned about classes in Python and object-oriented programming, and about unit testing and test-driven development.
  • Working with @jackckelly on irish-tunes, I learned about Jupyter Notebooks, pandas, and cleaning and standardizing data from a range of sources.
  • Working with @maneshd on kebyar, I learned about programming in JavaScript, got a taste of the quirks and peculiarities of various web browsers, and had my first experience diving deep into documentation as we worked with tone.js and p5.js.
  • (I worked on these last two projects during my time at Recurse Center in summer 2021, an organization that does a great job modelling learning by doing!)
  • I've spent the past year and a bit working at DDMAL, developing CANTUS Database (code). I learned a great deal working on this project:
    • about Django
    • about navigating a big, existing codebase
    • about collaborating on an active project using Git and GitHub
    • about Docker and Nginx

Lately, I've been learning:

  • to play Irish tin whistle
  • how to make better use of Vim

I'm a musician

As a musician, I mostly play Irish traditional music on violin, guitar, mandolin and penny whistle. In the past, I've also spent time playing jazz, mostly on bass, guitar, violin, and a little bit on piano. I have a B.A. from the University of Waterloo in Music, and an M.A. from McGill University in Music Theory.

My interest in music and music theory has inspired many of my personal projects.

  • Though fretboard-generator was an early project, this collection of functions for generating fretboard diagrams for fretted string instruments continues to do its job well, and I still use it from time to time.
  • pitch-classes, and its successor music-theory-tools, are collections of functions for exploring musical scales in alternate tuning systems.
  • irish-tunes was an effort (in collaboration with @jackckelly) to train a language model to generate traditional Irish dance tunes. While we didn't end up creating a tool to generate an infinite quantity of new and interesting trad tunes, I was pleased and surprised by the progress we made (in that by the end, our neural network was outputting tunes with mostly the right number of beats per measure)!
  • kebyar (built in collaboration with @maneshd) is a tool for exploring the interlocking patterns found in Balinese gamelan music.

Jacob deGroot-Maggetti's Projects

cantusdb icon cantusdb

A new site for Cantus Database running under Django.

kebyar icon kebyar

Tool for exploring interlocking patterns found in Balinese gamelan music

swypo icon swypo

Exploring keyboard arrangements

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.