rubenwardy.com Open in urlscan Pro
2a03:4000:4d:b58:58ba:a4ff:fe58:ede  Public Scan

Submitted URL: http://rubenwardy.com/
Effective URL: https://rubenwardy.com/
Submission: On June 03 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

 * About
 * Projects
 * Blog
 * Speaking
 * Uses
 * Contact
 * Donate


RUBENWARDY

Software Engineer and Open Source Maintainer

 * 
 * 
 * 
 * 
 * 
 * 

male United Kingdom https://rubenwardy.com/static/ruben-512.png


HI, I'M ANDREW WARD

I’m a software developer, an open source contributor, and a graduate from the
University of Bristol. I’m a core developer for Minetest, an open source voxel
game engine.

I have a diverse range of interests, both technical and non-technical. Some
examples include User Interfaces / User Experience, game dev, electronics, and
physics.


PROJECTS


GENERAL SOFTWARE

 * Renewed Tab: Browser plugin
   
   A customisable New Tab page, with widgets and beautiful backgrounds.
   
   (2021)

 * ContentDB
   
   Package repository website written for Minetest using Python/Flask.
   
   (2018 - present)

 * Physics Simulations
   
   A collection of HTML5 physics simulations, to teach A Level physics.
   
   (2013 - 2021)

 * Minetest Mods
   
   An Android app to install mods for Minetest.
   
   (2016 - 2019)

 * BCVA App
   
   An Android app for the British Cattle Veterinary Association, created whilst
   working at GWS Media.
   
   (2017)

 * Rubix: OS Kernel
   
   A simple ARM kernel, with support for pipes, and a filesystems.
   
   (2017)

 * Employee Task MS
   
   Employee Task Manager System
   
   (2014)

 * Rufunge Language
   
   A superset of Befunge, with more functionality.
   
   (2016)


GAMES AND GRAPHICS

 * RVWP: Multiplayer Sandbox
   
   Topdown sandbox game written in C++ using SFML.
   
   (2015 - 2020)

 * Tin Mining (Ludum Dare 48)
   
   Manage a Cornish tin mine, placing orders for the workers to mine and build.
   
   Entry to the Ludum Dare game jam.
   
   (2021)

 * Unstablium (Ludum Dare 49)
   
   Transport precious cargo without blowing up. Danger is temporarily increased
   by collisions and shocks, and permanently increased by damage to your
   vehicle.
   
   Entry to the Ludum Dare game jam.
   
   (2021)

 * Dungeon Generator
   
   An experiment into procedural generation. Includes two different dungeon
   generation algorithms.
   
   (2020)

 * Software Raytracer
   
   A raytracer simulating 60 million photons, to allow rainbow refraction and
   soft lighting.
   
   (2018)

 * 3D Model of Bristol Musuem
   
   A 3D model of Bristol Museum, created as university coursework.
   
   (2018)


ELECTRONICS

 * IoT Plant Monitor
   
   An Internet-connected plant monitor. Designed to hide inside a plant pot.
   Uses an ESP-32.
   
   (2022)

 * IoT Lock Box
   
   An Internet-connected locking box, made to learn electronics. Uses an ESP-32.
   
   (2022)


TALKS AND CONFERENCES

 * FOSDEM 2024
   
   I ran a stand for Minetest at FOSDEM 2024, the largest free and open source
   conference in Europe.
   
   (2024)

 * Talk at Tech Meetup
   
   I talked about Minetest and my experiences being an open source maintainer at
   a tech meetup in Bristol.
   
   (2023)

 * CERN: Craft the Web
   
   Collaborated with CERN to build a game to teach young people about the
   origins of the world wide web.
   
   Guest speaker at CERN during the Codez la Science conference.
   
   (2019)

 * Freenode Live
   
   I represented Minetest at both Freenode Live conferences, as an official
   exhibitor.
   
   (2017 - 2018)


MINETEST

 * Minetest Modding Book
   
   A book to teach Minetest modding and game creation.
   
   (2014 - present)

 * Capture the Flag
   
   A game and server created using the Minetest game engine.
   
   (2013 - present)

 * Conquer RTS
   
   A Real-Time strategy minigame made in Minetest.
   
   (2020 - 2021)

 * NodeBoxEditor
   
   My first C++ project - a 3D voxel model editor. No longer maintained.
   
   (2012 - 2015)


BLOG

I post in-depth tutorials and articles on my projects on my blog around once a
month. See below for the most recent posts.

 * 23 May 2024
   Detox and React Native: UI testing Android permission flows
   
   In this article, I will explain how you can do end-to-end testing with
   Android permissions, including interaction with the Android permission
   request modal.
   
   
 * 07 March 2024
   Why I like and recommend using TypeScript
   
   I find that TypeScript makes JavaScript more enjoyable to use. In this
   article, I'll explain why.
   
   
 * 27 January 2024
   My favourite articles of 2023
   
   Articles are a great way of keeping up with programming and technology. Here
   are some articles I read in 2023 that I recommend reading.
   
   
 * 17 November 2023
   Five reasons why I write
   
   In 2022, I made a goal of writing at least twelve long-form articles on my
   blog each year. But why bother? In this article, I will explain why I write.
   
   
 * 26 October 2023
   I've switched to Eleventy (11ty): my thoughts
   
   In this article, I will talk about why I switched, how I did it, and my
   thoughts about Eleventy as a new user.
   
   

See more


EXPERIENCE

 * Senior Software Engineer Jun 2022 - Present
   
   Working on an Android app with a large userbase. The app uses legacy Java;
   we’re working on bringing new features to users and refactoring the app to
   use the latest best practices (Kotlin, Jetpack, etc).
   
   Reduced risk by pioneering a new API that sits between the apps and upstream
   sources. This allows the team to implement logic once, perform validation,
   and quickly release hotfixes to the data without needing all users to update.
   Also introduced a daily CI job that validates that the production and staging
   environments are running correctly.
   
   Identified, proposed, and implemented the fix for a significant UX pain
   point, increasing discoverability of an essential feature from a success rate
   of 26% to 92%.
   
   Identified a significant performance issue when opening part of the app.
   Implemented the fix, resulting in a reduction of opening time from 0.98s to
   0.37s.


 * CAPGEMINI ENGINEERING
   
   Software Engineer Sep 2019 - May 2022
   
   Worked on an analysis tool for the rail industry, using React and TypeScript.
   
   Worked on infrastructure for running physics calculations in the cloud, using
   Python, Flask, Celery, OpenShift/Kubernetes, MongoDB, and Docker.
   
   Worked on jet engine noise prediction software and deskop GUI applications,
   written in C# WPF and Java Swing.
   
   Provided mentorship and training for junior developers and apprentices, one
   of which was a client.
   
   Increased team productivity by pioneering an automated Jenkins CI pipeline to
   run unit and UI tests. This freed developers up for 15 minutes each
   invocation, resulting in team savings of more than an hour per day.
   
   Commended for the ability to quickly ramp up on new projects, and efficiency
   in producing work.
   
   Participated in agile / scrum development with daily stand-ups and planned
   sprints, and performed test driven development and peer code review.


 * ARM
   
   Linux Kernel and Android Intern Jun - Aug 2018
   
   As part of a Research and Development team, I worked on experimental changes
   to the Linux kernel to improve memory security on Android. The aim of these
   changes was to protect Android devices from both local and remote threats,
   such as malicious applications or networked actors.
   
   A typical task involved making changes in C and ARM Assembly to the Linux
   kernel, and then modifying user-space C++ tests to verify correctness.


 * GWS MEDIA
   
   Android and Backend Developer Mar - Dec 2017
   
   I worked part time as an Android, iOS, and Backend developer for 9 months
   alongside my studies, gaining valuable experience in client interaction and
   agile development. I worked on a number of different projects, both
   individually and as part of a team. I took pride in ensuring that my work was
   delivered to the highest standard, following platform design guidelines and
   best practices. One such app.


 * CERN
   
   Collaborator Jul 2019 - Dec 2019
   
   Worked on Craft the Web, a game to teach young people about the origins of
   the world wide web.
   
   Guest speaker at CERN during the Codez la Science conference (slides).


 * MINETEST
   
   Core Developer and Contributor Aug 2012 - Present
   
   Minetest is an open-source voxel game engine, which I am a maintainer for. I
   regularly review pull requests, and have contributed over 200 patches.
   
   Things I’ve directly contributed include:
   
    * An in-menu installer and package manager, and a backend for it called
      ContentDB.
    * The Minetest Modding Book.
    * Lua assertation and integration testing framework, to improve quality
      assurance and prevent regressions.
    * Assorted GUI features, including styling and a shared inventory GUI
      library.
   
   I’ve also created a number of third-party projects, including an Android app
   to install mods, a 3d voxel modelling program, and lots of games and mods.
   
   I attended as an official exhibitor at both Freenode Live conferences, in
   2017 and 2018.
   
   Participating in this project has given me a proficiency in Git, Linux, and
   collaboration.




SKILLS

Here is a selection of things I've had experience with.


 * LANGUAGES AND LIBRARIES
   
   * C/C++17: STL, Sockets, SFML, SDL2.
   * Java/Kotlin: Android SDK.
   * Python: Flask, BeautifulSoup, Celery, SQLAlchemy.
   * JavaScript/TypeScript: React, Webpack, Canvas, Express, Socket.io.
   * HTML/CSS: Bootstrap, Bulma, Jekyll, Jinja2, Liquid, SASS.


 * TOOLS
   
   * Git, Git Flow, and SemVer.
   * Linux.
   * CMake, Make, and Ninja.
   * Clang/GCC, gcov, LLDB/GDB, and Valgrind.
   * Docker, Jenkins, and OpenShift.
   * GIMP, InkScape, Blender, and KDENLive.


 * TEAMWORK
   
   * Has mentored junior developers and apprentices.
   * Experienced with Git and Git Flow. Knows rebasing, cherry-picking, and
     more.
   * Open Source contributor.
   * Writes high quality technical documentation. See my book.


WANT TO SEE MORE?

Take a look at my blog, Mastodon, Github, or YouTube accounts.

© 2014-24 to rubenwardy

 * Donate
 * Blog
 * GitHub
 * Mastodon
 * Status Page