Hi there ๐Ÿ‘‹, my name is Stefano Ottolenghi ๐Ÿคธ

I have a life-long passion for technology, science, and math. And also for writing, classical music, light, and movement. I've never bought into the distinction science vs arts. I have worked with software for over a decade, and I have learnt not to fall into the trap of using technology to solve human problems. I am a problem solver – sometimes that involves software engineering, sometimes writing content, sometimes trashing code, sometimes emotional intelligence. Code is only one tool. I have started projects that lasted many years and that taught me so much about long-term planning and the consequence of my actions and choices.

I have taught math and science literally to all levels, from elementary school to university. I can put myself in the learner's shoes, and craft learning journeys that meet people where they are and get them where they want to be. Or where they don't yet know they could be. I have also done a lot of public speaking. I founded a science-for-kids not-for-profit and worked in a libertarian school.

I hold a BSc in Applied Mathematics and a MSc in Computer Science with focus on cryptography and cybersecurity. I spent 3 further years doing research in ice-ocean interactions and models for climate change, while teaching university-level courses in a breadth of subjects. I am now training as a Feldenkrais teacher.
I live in Stockholm ๐Ÿ‡ธ๐Ÿ‡ช, and I previously lived in Italy ๐Ÿ‡ฎ๐Ÿ‡น, Ireland ๐Ÿ‡ฎ๐Ÿ‡ช and Spain ๐Ÿ‡ช๐Ÿ‡ธ.
I love playing ping pong ๐Ÿ“ and the piano ๐ŸŽน, as well as hiking๐Ÿƒ, inline skating ๐Ÿ›ผ and (acro)yoga๐Ÿง˜!

I am happy to receive meaningful correspondence or work related inquiries. Get in touch at webmaster@{thisdomain}.

(Some) Projects

  • Post Pay Counter

    A collection of WordPress plugins to manage authors payments on online magazines. The free version is rated 4.9 out of 5 stars, and the premium version is active on over a thousand websites in 75+ countries. Approaching a decade in age, but still going strong. I have written every line of code, handled every support request, created the website.

  • Neo4j Drivers manuals

    I write the developer manuals for the libraries Neo4j provides to interact with its graph database platform. I have rewritten from scratch the manuals for the Python/Javascript/Go Drivers, crafting all content myself, including the code examples. For example, see the Python Driver manual.

  • Finite Element Framework for Fjord-Ice ocean Interactions (FEFFII)

    A Python package for ocean simulations in fjords, based on the finite element method and the FEniCS library. This was my main PhD project.

  • Cryptography school – From Caesar to modern times

    A recurring summer school for last year high-school students at Stockholm University. I introduced students to cryptography, its mathematical foundations, and its implications in our daily lives. We went from telling war stories in ancient Rome, to the formalization of symmetric encryption and the breakthrough of asymmetric schemes, landing on hard problems, zero knowledge proofs and the importance of privacy. Included a technical writing workshop.

  • Homomorphic signatures over lattices

    My research project in cryptography during my time @ IMDEA Software Institute in Madrid.

  • Stockholm University Lab assistance tools

    I modernized the math department's way of handling grading. We moved from a clumsy manual email-based system to a largely automated, time saver and more fail-proof one.

  • This website

    This website is based on Pelican and is statically generated. I created a tweaked version of the Flex team, with a grid layout, and various other changes/features, including the Smart Links plugin.

  • A bunch of WordPress plugins

    I have developed tens of WordPress plugins, mostly public and open source.
    Post Pay Counter allows site admins to manage authors payments.
    Smart Tag Insert suggests the most relevant tags to add to a post.
    bbPress Anonymous Subscriptions allows anonymous users to subscribe to bbpress topics.
    Rel Nofollow automatically sets all outbound links to nofollow.
    Significant involvement in Co-Authors Plus development (example).
    A stab of an A/B testing framework.

  • The Pleasure of Finding Things Out

    An Italian not-for-profit (Il Piacere di Scoprire) I founded and ran for 5 years, organizing science workshops for kids. Extremely positive feedback from families and schools, also held workshops for teachers.

  • Illustrated Narrations

    A set of Italian video-podcasts for kids about meaningful science topics.

  • Quick Math Intuitions

    A place to share intuitive a-ha moments in math and science. Some of these posts are the first Google hit on the topic.

  • Stockholm Roller Bot

    After founding Stockholm's largest roller/inline skating group, I built a Telegram bot for handling the group events, so that people could sign up and we could have a view on who was joining what events.

  • Reverse engineering and binary analysis

    Some of the best well-spent hours of my life went into reverse engineering binaries, playing CTFs, and doing all sorts of security related stuff.

  • Hilbert Image to Sound

    A C++ app that uses an Hilbert curve to turn an image into a sequence of sounds.

  • Arduino sunrise alarm

    An alarm that gradually turns on a bunch of LED strips at alarm time, mimicking the sunrise. It does also play a MarioBros tune if you don't wake up.

Speaking

  • Querying and modeling for graph databases

    A workshop on the power of graph databases to takle connected data, where other database engines fall short. Using Neo4j, we learn how to create a data model for graph databases, how to use the Cypher query language to extract data, and how to leverage the power of graphs to run involved queries on very large datasets - the same queries that we could not execute on old-school 'relational' databases. First held at Jfokus 2023, and then in various universities.

  • Cryptography – From Caesar to modern times

    A 2-weeks workshop for high-school students, hosted at Stockholm University. From war stories in ancient Rome, to the formalization of symmetric encryption and the breakthrough of asymmetric schemes, landing on hard problems, zero knowledge proofs and the importance of privacy. It was the first time in many years that students reported positive feedback on math topics.

  • Write in a way that makes you heard

    A technical writing day workshop to make scientists reflect on the way they write, and how to tweak their writing to maximize their impact.

  • What do mathematicians do? Inside a mathy mind

    A popular science video on what mathematicians do -- tailored to absolute non-mathy people.

  • Towards tackling ice sheets-ocean interactions with Finite Element Methods

    A preliminary talk on my PhD topic and my framework for ice sheets-ocean simulations. Held at the European Geophysics Union 2020.

  • Homomorphic signatures over lattices

    A high-level explanation of my cryptography research on sigatures on lattices, tailored to an audience scared of the math.

  • Meltdown – Overview of a security vulnerability

    A detailed explanation of how the Meltdown security vulnerability works. Held at a university security course.

  • An Arduino-powered sunrise alarm (with a MarioBros jingle!)

    Showcasing my lovely Arduino sunrise alarm project.

  • The Distributional Hypothesis: semantic models in theory and practice

    A research work on how bag-of-words approaches work, explained to an audience ignorant of the topic and scared of the math.

  • Can we trust the weather forecast?

    Held at FameLab 2018, a popular science contest. I got to the finals.

  • Practical electricity for elementary school teachers

    A day workshop on electricity and circuits construction for elementary school teachers.

  • The largest dancing floor

    With this speech I represented my country at the International Public Speaking Competition 2014.

  • How comparison fosters consciousness

    With this speech I won the National Public Speaking Competition 2014 in Italy, which brought me to represent my country in the international phase.

  • You need to make your own mistakes – that's how you grow

    With this speech I came 2nd in the National Speaking Competition 2013 in Italy.

Hire me for

  • Fixing/Managing your website (especially WordPress based)

    I have setup and managed tens of websites, both for me and for customers. I have broken my own websites so that I could learn how to keep your running smoothly. I recently developed an interest for static site generators, but I've done a lot of WordPress development and webmastering in the last decade.

  • Writing your tech docs

    I have written tons of tech content (as well as non-tech!), and I've had to read a fair amount for my own projects. I know what developers look for, and how to make their experience as smooth as possible.

  • Speaking at your event

    I strive to put together entertaining talks and presentations about a variety of topics. In the last 10 years, I have spoken at tech conferences, universities, academic conferences, schools, science festivals, public speaking competitions.

  • Holding a workshop

    I love the longer format of a workshop, where we really get the time to explore a piece of human knowledge. I have held workshops at tech conferences, universities, schools about a multitude of different topics, and always looking for more.

  • Solving a problem with code

    You often need an engineer to write code for you, but that's never enough. You need somebody that listens to your problem, that understands what your priorities are, and that figures out how a code can help overcome your obstacle. I don't write code so that you can hire even more consultants to maintain it in the future: I write code so that you don't have to think about your issue ever again.

  • Review/Give feedback on a text

    I don't just look at grammar and punctuation – I make sure that your text is clear to the audience you want to reach, and that it is the best tool in delivering your message. If that means re-writing it, or trimming away half of it, that's what we will do. I can do this in English or in Italian (probably in Swedish as well, but with not as much care for grammar).