Ms. Molly Stewart-Gallus

Poet, webdev, hacker

About Molly

See my resume.

Links

  • Email mollystewartgallus@gmail.com
  • GitHub mstewartgallus
  • LinkedIn mstewartgallus
  • Stack Overflow molly-stewart-gallus
  • Mastodon @molossus_spondee@kokoro.garden
  • Twitter @MSpondee

Priorities in a Position

  • Stability
  • Flexible
  • Part-time work hours
  • Good communication

Key Skills

  • Web development
  • Advertising
  • Marketing analytics

Key Technologies

  • PHP
  • JavaScript
  • HTML
  • CSS
  • Java

Recommendations

Working with Molly Stewart-Gallus has been a great professional experience. She is brilliant and can usually come up with a solution for a complex technical problem in a matter of minutes. Molly's commitment is also a highlight, as she makes herself available for time-sensitive projects. I thoroughly recommend Molly for development projects and positions.

— Maria Paula Murad

Founder & President at Studio DMLA Digital Marketing Inc.
Maria Paula managed Molly directly
December 21, 2021

Career

Timeline
Year
Employment
2023
2022
2021
Ruckify
2020
Global village english marketing
2019
2018
2017
2016
2015

Ruckify

Contract web development.

Technology:

  • HTML
  • CSS
  • JavaScript
  • PHP
  • Angular

Global Village English Marketing

Marketing Technician.

Technology:

  • HTML
  • CSS
  • JavaScript
  • PHP
  • MySQL
  • Salesforce
  • Google Analytics

Projects

Timeline
Year
Projects
2023
Gatsby Blog
2022
Jekyll Blog

Gatsby Blog

Gatsby blog

Technology:

  • Gatsby
  • MDX
  • GraphQL
  • React
  • JavaScript
  • CSS
  • HTML

In 2023, I ported my poetry blog to Gatsby. Mostly the project was smooth, but I found the biggest problems to be Gatsby's lack of documentation. I can implement missing features I know about. I cannot work around bugs that have not been documented.

I am not a fan of GraphQL per se, but I can see the advantages of a unified abstraction over different data sources.

Also the tutorial documentation for Gatsby gives oversimplified and fragile designs for cases like blogging. The suggested designs don't work for cases like multiple source formats. Just as a Markdown plugin might process file nodes into Markdown nodes you want to implement your own code processing Markdown nodes into a custom type of nodes. This isn't really a flaw with Gatsby that the tutorials give the simplest but most fragile examples.

I suspect that I need something like a headless CMS. I need more structure than a pile of Markdown and YAML files.

I am also interested in porting my blog to NextJS.

Jekyll Blog

Jekyll blog

Technology:

  • Jekyll
  • Liquid template language
  • SASS
  • Ruby
  • Structured data
  • Pagefind
  • JavaScript
  • CSS
  • HTML

In 2022, I mostly worked on my poetry blog, and relearned modern web development. I found using Jekyll to be copacetic. My biggest struggle was figuring out how to implement a search page which I solved by integrating Pagefind into my blog.

I had a lot of fun learning about fluid web typography and other advanced techniques.

Technology

React

I have found React components to be less problematic than I initially expected. I expected lots of weird problems due to the abstraction over top the native architecture of the web. I haven't really found such problems to be the case so far although my website is relatively simple.

I think I need more structure to my project. React is great for making reusable components but not really a full framework.

React Pros

  • Good for simple reusable components

React Cons

  • Not suitable for state management (use something like Reduc)
  • Not a full framework

MDX

MDX, a Markdown derivative which lets you insert React components into Markdown, is interesting but has some major caveats that make it a little awkward sometimess.

MDX Pros

  • Good for ad-hoc page content with more control required.

MDX Cons

  • Bad for extremely structured content like blog posts
  • Requires compiling

GraalVM

Code

I also played a little bit with GraalVM but I found it too complicated for initial experimentation. Also GraalVM had troubles with tail recursion at the time which made it hard to implement functional languages. Cadenza for example went through hoops I didn't want to bother with to optimize tail calls.

Java Virtual Machine

Code

Technology:

  • Java Virtual Machine Instruction Set
  • invokedynamic

I got heavily into low-level details of the Java Virtual Machine for a while. I learned to use ByteBuddy and invokedynamic to insert dynamically optimizable spots into a Java program.

Special Interests

  • Web development
  • Security
  • Formal methods
  • Programming language theory
  • Lock-free programming
  • Programming language theory
  • Political psychology
  • Mythology and religion
Timeline
Year
Special Interests
2021
Category Theory
Programming Language Theory
2020
2019
Java Virtual Machine
2018
2017
Lock-Free Programming
2016
2015
Ada SPARK
2014
2013

Lock-Free Programming

Code

Technology:

  • MCS Locks
  • TLA+

I got heavily into lock-free programming for a while and played with making a more efficient unfair lock implementation based on MCS Locks that uses a stack instead of a queue. I also tried formalizing a little bit of it in TLA+.

Programming Language Theory

Code

Technology:

  • Coq
  • PLT Redex
  • Makam
  • Lambda Prolog

I've also been playing with technologies like PLT Redex and Makam (a dialect of Lambda Prolog) for rapid prototyping of programming language interpreters.

You can see a tiny demo language in PLT Redex here

A little language in Makam here . Makam works great for simply typed languages but full dependent types are way too complicated in any implementation.

I got interested in compilers and interpreters for a while. I played a bit with effect systems like Call-By-Push-Value (basically ANF) and simple functional optimizations: https://github.com/mstewartgallus/hs-callbypushvalue https://github.com/mstewartgallus/compiler-2

Category Theory

Category theory experiments

Technology:

  • Coq
  • Category theory

Basically I have found category theory stuff to be highly useful for compiler and type theory stuff, less so for everything else.

In the past I was working on formalizing a small amount of category theory in Coq.

I'm playing around with type systems and formal methods right now and I'm hopeful category theory can help with this. I've been trying to figure out how to make internal languages for many types of categories. I've started on some ideas to work within double categories like Rel.

I have a hunch you can generalize graded monads and adjoint functors for a sort of graded Call By Push Value which ought to be useful for a compiler IR to simplify optimization.

I got heavily into category theory for a while. I am no longer convinced it is so simple to compile computer programs to a categorical intermediate representation. But a start of an effort towards this might be this project which compiles a continuations based language to co-closed categories in a manner dual to compiling the STLC to closed categories. Basically it's dual to the paper Compiling to categories by Conal Elliott. I also found tagless final style is very clean for parametric higher order abstract syntax.

I have found category theory very interesting although it does have some weaknesses with respect to variable binding and higher category theory. Category theory tends towards a very combinatorial sort of style which makes some things very verbose that would be much clearer with name binders. Unfortunately parametric foundations allowing manipulation of name binders are kind of complicated. The other big hurdle with category theory is higher categories: categories of categories. Very quickly higher category theory gets messy to play around with in an actual theorem prover. I'm not sure if these problems are fundamental or someone smarter than me can come up with solutions.

Coq

Coq Pros:

  • Extremely powerful proof automation capabilities
  • A plugin for everything

Coq Cons:

  • Highly tied to specific foundations

Ada SPARK

Code

In the past I got into hard real-time and safety critical stuff for a while. I experimented with breaking a program into separate processes some of which are verifiable in a safe dialect of Ada SPARK.

Hobbies

  • Knitting
  • Poetry and writing
  • Playing the guitar
  • Meditation

Table of Contents

  • Ms. Molly Stewart-Gallus
  • About Molly
  • Recommendations
  • Career
    • Ruckify
    • Global Village English Marketing
  • Projects
    • Gatsby Blog
    • Jekyll Blog
  • Technology
  • Special Interests
  • Hobbies

Note

I am a transgender woman. In the past, I used to use a different name, email and pronouns. These details may pop up in older work. I do not use the name or email anymore.

Breadcrumbs

  1. Home
  2. Ms. Molly Stewart-Gallus