Before diving into code, I was a Video Director and wore many hats in post-production. Now, I help shape the future of media conversions in the cloud with Cinnafilm's PixelStrings Platform.
My name is Marc Leonard. I am a creative professional and software engineer with a unique background that bridges the media and entertainment industry with software development.
In 2010, I graduated from DeSales University in Center Valley, PA, with a major in Television/Film and a minor in Business. Early in my career, I spent two years as the lead editor of special programming for Reelz Channel. Following that, I freelanced for various online media outlets and brands such as Reddit, Pop Sci, and The Verge. I also worked as a colorist for feature films, short-form content, and dailies.
My career took a turn towards the Outdoor Industry, where I started The Crux Collective, a short-lived outdoor news aggregator, and founded Rove Media, a one-man media consultancy. Through Rove Media, I created videos and materials for brands like L.L.Bean, Outside Online, Patrol USA, and GoPro.
Since 2017, I have been working as a Senior Software Developer at Cinnafilm, contributing to the development of PixelStrings, a cloud-based video processing platform. My role involves designing and developing the API and backend, orchestrating cloud infrastructure, and maintaining a horizontally scalable video transcoding system. I leverage my proficiency in Python, JavaScript, TypeScript, and HTML/CSS, along with frameworks like Flask, Django, and FastAPI, to build robust and maintainable applications.
In addition to my professional work, I am the creator of LineDream, a Python generative art library designed for SVG outputs and originally intended for pen plotter art. I am also developing a media asset management software called Asset Veranda.
I am currently enjoying the fruits of living in Bozeman, Montana where I enjoy skiing, mountain biking, and hiking.
-
2017 - Present
Cinnafilm Inc.
Core backend developer for PixelStrings. PixelStrings is a cloud video conversion platform for studios, broadcasters, independent creators, and post-production facilities -
2023 - Present
Asset Veranda
Developer of Asset Veranda - a media asset management tool for producers and editors. -
2012 - 2019
Video Director & Post Production Specialist
For 7 years I worked as a freelancer for many companies and productions. For a comprehensive overview of my work, please visit this link. -
2012 - 2014
Instructor
Adobe Premiere and Adobe After Effects instructor for the University of New Mexico Continuing Education program. -
2011 - 2013
Reelz Channel
Lead Editor of special programming -
2006 - 2010
DeSales University
Major - Television/Film
Minor - Business
- Languages: Python, JavaScript, TypeScript, HTML/CSS, C++, C# (working knowledge)
- Frameworks: Flask, Django, FastAPI, SQLAlchemy, Pydantic, Pytest, boto3, Angular, Vue, HTMX
- Audio/Video Libraries: MainConcept, SRT, FFmpeg, gstreamer, miniaudio, Blackmagic RAW SDK
- Tools: Terraform, Ansible, Docker, Linux, Nginx, AWS, Azure
- Databases: MySQL, PostgreSQL, SQLite, MongoDB, Redis
-
Test blog 🦦
Blogs are really great.
This is a test of the styling
You may use common markdown highlighting like Italic, bold, and
monospace
. Itemized lists look like:- this one
- that one
- the other one
Pictures
Here is a picture:
Other great things about MD
MD supports these great features:
- Wiki pages are stored in .md files
- All pages are backed by git
- Use the wiki in either Annoymous Mode or Authenticated
- Markdown web editor has syntax highlighting
Note again how the actual text starts at 4 columns in (4 characters from the left side). Here's a code sample:
# Let me re-iterate ... for i in 1 .. 10 { do-something(i) }
As you probably guessed, indented 4 spaces. By the way, instead of indenting the block, you can use delimited blocks, if you like:
define foobar() { print "Welcome to flavor country!"; }
this is one line code
(which makes copying & pasting easier). You can optionally mark the delimited block for Pandoc to syntax highlight it:
import time # Quick, count to ten! for i in range(10): # (but not *too* quick) time.sleep(0.5) print(i)
Here's a link to a website, to a local doc, and to a section heading in the current doc. Here's a footnote 1.
A horizontal rule follows.
Again, text is indented 4 spaces. (Put a blank line between each term and its definition to spread things out more.)
Here's a "line block" (note how whitespace is honored):
| Line one | Line too | Line tree
and images can be specified like so:
And note that you can backslash-escape any punctuation characters which you wish to be displayed literally, ex.: `foo`, *bar*, etc.
-
Some footnote text. ↩
-
Django is Awesome. That is all.
-
For posterity, here are the things I read, listened to, and used this past year.
Books
- The Priory Of The Orange Tree
- Never Let Me Go
Podcasts
- Software Defined Talk
- Python Bytes
- Talk Python To Me
- Merge Conflict
Gadgets
- Drawing Tablet
Other
- Woodworking