Hi, I am Martin, but I go by Visgean on the internet. I am interested in renewables, deep learning, weather and software engineering in general.
I am freelance software engineer offering to contract outside IR35 in London. My CV is here.
- Backend engineering
- Python / Django (10 yrs experience)
- Debian, Ubuntu, nginx, Numpy, Pandas
- PostgreSQL, Redis, K8S, Airflow
- vue.js, node.ks
- SciPy, LaTeX, Keras, Pytorch, Tensorflow
- Pybullet, Bitcoin, Ethereum
- Kotlin, Rust, Golang
- RL, Robotics control, ROS
- RC-Car - Rust + rPi based RC car. Basically a very expensive excuse to play with Rust and rPi.
- qr-wifi - very small utility written in Go to share Wifi password in QR codes in console.
- grid - Vue.JS gallery that allows filtering based on Lens and camera. This was useful for me because I was not sure which lens I use the most and which one I should sell.
- Exploring my data in Monzo with transaction map and integration to Google calendar
2019 and before:
- toggl2webcal - add Toggl entries to google calendar
- exif2pandas - collecting information on my photos
- pdfs-rename - automatically renaming pdfs based on metadata or content
- photos2geojson - creating html map from my photos
- fakturuj_pyco - invoicing tool
- Ethernal - Ethereum blockchain explorer
- urljects - flask-like routing system for Django
- debatetime - time keeping application for debating tournaments. Hundreds of people used it in the last 7 years. Example photo here.
- fakesudo - tool to poison bash sudo,
Paid open source:
- django-session-log - logging module I made for AgFunder
- Seeder - internal CMS and website for 🇨🇿 National Library
Final year project - Deep RL
My final year project was to learn walk-like behaviour on simulated dog-like robot with end to end deep reinforcement learning.
Read my final year project report here (received an A). Or watch some funny videos of learned behaviour below:
- Walking on a mesh - somewhat surprisingly adding uneven terrain improved learning performance. My theory is that the uneven surface filters undersired movement that the agent exhibits initially.
- Walking on flat surface - demonstrating that even small networks learned to perform forward motion. Before working on this project I have mostly studied image recognition where the networks can be gigantic. Therefore it was quite surprising for me to find that smaller networks even outperformed the larger ones.
- Stepping over obstacles
- Swing-like motion - here the agent learned to receive the reward without moving forward. This is an example of classic problem with RL where the the reward does not capture intended behaviour properly.
- Agent that learned to walk around obstacles, again I did not set up the environment properly and the agent learned to simply walk around the obstacles. I am quite happy about these results as it shows that the agent is responding to the environment.
Machine learning for weather prediction
For our Machine Learning Practical course we tried out various deep learning techniques to predict weather. We used Weather Bench dataset that made it very easy to evaluate our results and also included pre-processing of the data. Read the report.