My research interests are artificial intelligence, automatic optimization and functional programming; I believe that combined these methodologies allow to develop high-performance software without the need for tailoring it manually to low-level hardware specifications.

The group assessment was to program the Mbed microcontroller so that robot can follow a wall and avoid obstacles using IR proximity sensors, follow a line using bottom illuminance sensors and navigate on a floor using USB optical mouse tail.

This is my diploma project called “A GPU-Accelerated stigmergic BCMM swarm”. In short, it is a Python maze solver, that simulates a swarm on GPU using OpenCL. Swarm agents use neural networks to navigate in an unknown environment.

The project was developed using Python 3.4.2, OpenCL 1.2 (the code should be 1.0-compatible), PyOpenCL, Pygame, Numpy and FFmpeg. The platform is 64-bit Windows 7 and AMD Radeon HD 7870.

This work is distributed under MIT License: you are free to use and change it with appropriate references to the source.

I participated in the York Raspberry Jam & Maker Event at the National STEM Centre. Together with other CS students we presented our raspberry projects, which we did last year for the “Raspberry Pi in the classroom” event – the idea was to design projects which could be repeated in schools with children learning to use Scratch on the Pi.

The video above is a demo of my project called “Magnetic checkers” – the goal was to move metallic checker pieces around the field using an electromagnet. The machine ended up resembling a simple 3D printer: 3 stepper motors, one moving base in axis X, two moving the head (magnet) in Y and Z axes. Software allows user to control machine manually and give simple tasks for automatic control (i.e. “move piece from A2 to E7”).

The individual part of the Pololu 3pi robot group assessment: it is a Matlab simulation, which interacts with robot’s C program by feeding it sensor readings in exchange for motor commands.

Bachelor’s course, the University of York, 2013.

.3

AWARDS

HONORS AND AWARDS

Sep

2016

Zurich

IBM and Swiss Re first prize and the hackathon finalist

HackZurich hackathon

My team won in the IBM & Swiss Re challenge against 20 teams. Additionally, we became one of 25 finalists out of 152 teams in the main hackathon challenge. We developed a Machine Learning app for risk prediction using home IoT sensors and IBM analytic technologies.
Demo: https://youtu.be/iuJrS0WwNWQ

Best Poster

York Doctoral Symposium

This award was obtained on the 8th York Doctoral Symposium 2015 for the poster on the YCCSA summer research project "The Sensor Organism".
For a link to the poster, see above.

Jul

2015

York

York Award

The University of York

The York Award is a programme of personal and skills development offered by the University of York in partnership with leading public, private and voluntary sector organisations. The York Award certificate is awarded alongside the degree in recognition of achievement of a significant programme of activity and, in particular, the adoption of an analytical and reflective approach to learning and competence in a broad range of skills.

.4

EDUCATION

ACADEMIC DEGREES

2016

2020

Edinburgh

PhD at the CDT in Pervasive Parallelism

University of Edinburgh

I am a first year PhD student at the Centre for Doctoral Training in Pervasive parallelism that is sponsored by ARM, Microsoft Research and Google. My supervisor is Dr Christophe Dubach (Christophe's homepage). My research is focused on adaptive compilation of functional programs targeting heterogeneous platforms. My aim is to investigate the benefits of applying machine learning to the problem of choosing the most optimal mapping of functional patterns to parallel computing units: if proven beneficial, this approach will allow to optimize the hardware-agnostic code to a wide range of hardware platforms automatically.

2015

2016

Edinburgh

MSc Artificial Intelligence

University of Edinburgh

Dissertation on ‘Expressing artificial neural networks in a functional data-parallel language for GPU acceleration’. The curriculum included courses in Machine Learning, Computational Cognitive Science, Computational Cognitive Neuroscience, Sensorimotor Control in Robotics and Theories of Mind.

2011

2015

York

BEng Computer Science (with a year in industry)

University of York

Dissertation on ‘Memory in simulated swarms’. The project covered such topics as neural networks, swarm intelligence and GPU-accelerated computing. Project grade: First-class honours. Several of my course projects are available on GitHub.

Certificate of Secondary education

Riga School No 40

Average diploma grade: 9.1 out of 10. A-levels equivalent state examination results: A (Mathematics), A (Physics), A (Informatics), A (English language), A (Russian Literature), B (Latvian Language)

.5

SCHOLARSHIPS

Funding awards

2016

2020

CDT Pervasive Parallelism

University of Edinburgh

Four-year scholarship sponsored by the Engineering and Physical Sciences Research Council.

2015

Summer Research Scholarship

York Centre for Complex Systems Analysis, University of York

Biologically inspired electronics project focused on building a Wireless Sensor Network system based on a model of a multicellular organism. The programme included participation in conferences and workshops on research skills. In the course of the programme, I maintained a 5,000 words-long research blog: https://sensororganism.wordpress.com/

2014

Raspberry Pi project funding

Department of Computer Science, University of York

I responded to a competitive call for proposals and acquired funding to design and develop a Raspberry Pi-related project that helps promote technology in schools. The project included microcontroller programming in Python and Scratch, electric circuit design and use of actuators. I conducted a Raspberry Pi workshop for schoolteachers and participated in technology exhibition.

.6

PUBLICATIONS

The Sensor Organism

York

Large-scale, distributed sensor networks are the projected weapon of choice for future pervasive computing applications such as, for example, environment monitoring, surveillance, (big) data mining and patient monitoring. However, state-of-the-art approaches face major challenges: specialized sensors are expensive and require careful calibration. Hardware sensors operating in uncertain, harsh environments eventually suffer from stress, ageing and physical damage, which leads to unforeseen effects that can render the device and the data recorded useless. Highly-tuned data processing algorithms are often not scalable and are not robust against faulty sensors delivering wrong data. Generally, systems can only adapt, if at all, in some predefined limited ways and are not capable of autonomously “inventing” new ways of adapting to unexpected changes in their internal and external environment.

This project follows a different approach to sensor network development drawing inspiration from nature, where biological systems self-organize, selfheal, sense, process information and react, emerging from evolutionary and developmental processes. Exploiting the advantages of a distributed structure of cellular systems this project perceives sensor networks as spatially distributed multicellular organisms where each sensor node represents a cell colony or a DNA bank. It is hypothesized that incorporating artificial cell development mechanisms and gene regulatory networks within each sensor node enable emerging beneficial properties of fault-tolerance, adaptivity and scalability in a sensor network. In order to investigate if this hypothesis holds in the context of a constrained distributed embedded system, the model is optimized for the Arduino microcontroller.

The Sensor Organism

Naums Mogers, Martin Trefzer, Dimitris Lagos

Large-scale, distributed sensor networks are the projected weapon of choice for future pervasive computing applications such as, for example, environment monitoring, surveillance, (big) data mining and patient monitoring. However, state-of-the-art approaches face major challenges: specialized sensors are expensive and require careful calibration. Hardware sensors operating in uncertain, harsh environments eventually suffer from stress, ageing and physical damage, which leads to unforeseen effects that can render the device and the data recorded useless. Highly-tuned data processing algorithms are often not scalable and are not robust against faulty sensors delivering wrong data. Generally, systems can only adapt, if at all, in some predefined limited ways and are not capable of autonomously “inventing” new ways of adapting to unexpected changes in their internal and external environment.

This project follows a different approach to sensor network development drawing inspiration from nature, where biological systems self-organize, selfheal, sense, process information and react, emerging from evolutionary and developmental processes. Exploiting the advantages of a distributed structure of cellular systems this project perceives sensor networks as spatially distributed multicellular organisms where each sensor node represents a cell colony or a DNA bank. It is hypothesized that incorporating artificial cell development mechanisms and gene regulatory networks within each sensor node enable emerging beneficial properties of fault-tolerance, adaptivity and scalability in a sensor network. In order to investigate if this hypothesis holds in the context of a constrained distributed embedded system, the model is optimized for the Arduino microcontroller.

.7

WORK

ACADEMIC AND PROFESSIONAL POSITIONS

Sep 2016

Now

Edinburgh

News Annotator

Thomson Reuters

As a part of a research project in natural language processing at Thomson Reuters R&D department, I have been annotating news articles with semantic tokens that aid automatic learning for a machine learning system.

Jul 2015

Sep 2015

York

Research Intern

York Centre for Complex Systems Analysis

As a holder of the Summer Research Scholarship, I worked on an interdisciplinary research project called “The Sensor Organism”. I designed a biologically inspired cellular model on a Wireless Sensor Network of Arduinos, capturing such biological properties as adaptivity, self-organization and fault-tolerance. Research topics covered include Artificial Epigenetic Regulatory Networks, Genetic Programming and Cell Signalling. Upon completion of the programme, I won two Best Poster awards for the project poster and was published in conference proceedings.

Feb 2014

May 2014

York

Hardware Lab Demonstrator

University of York

During the prospective undergraduates’ interview days, I worked as a student guide and a hardware lab demonstrator, which required explaining technical terms in a simple and engaging manner, as well as representing my department in a positive way.

Jul 2013

Jul 2014

Abingdon

Engineering Intern

Sophos

I worked in the Core Products department, where my responsibilities included antivirus engine development in C/C++/Python, manual and automated testing, code reviews, debugging, documentation maintenance and software release preparation. The team employed Agile Development extensively, involving a great deal of teamwork including pair programming and daily planning meetings.

Jul 2012

Sep 2012

Brighton

IT and Digital Summer Intern

EDF Energy

As a member of EDF R&D department, I worked on OCR software development in C++ and IT market research. I was also responsible for preparing interactive Virtual Reality attraction for EDF sponsor hub in London Olympics 2012 park, which included a lot of IT support.

Feb 2012

Aug 2012

York

Web Designer Intern

Stockholm Environment Institute York

During this part-time internship, I worked with the client on specifying requirements for the new
website design and after a series of Adobe Photoshop mock-ups, I delivered a design project, which was approved by the client.

Jun 2009

Dec 2014

Riga, Latvia

System Administrator / Software Developer

M2 Ltd

Part-time during the academic year, full-time during summers except for 2012, I developed and maintained accounting software (first versions in PHP, later in Visual Basic) and provided extensive IT support such as maintaining and upgrading computers and advising on IT strategy. During the summer of 2014, I migrated and upgraded whole company's emails and file shares to the new providers (Rackspace Email, Google Drive).

.8

TEACHING

TEACHING EXPERIENCE

2016

Edinburgh

Tutor

“Software Testing” course, University of Edinburgh

I tutored in a series of "Software Testing" course tutorials for third year UG students. The position required me to expand on the lecture material using practical examples, walk students through a set of exercises and answer questions.

2016

2017

Edinburgh

Teaching Assistant / Marker

“Algorithms, Data Structures And Learning” course, University of Edinburgh

Responsibilities include preparing assessed coursework materials, providing support to students and marking pen & paper and programming assignments.

2016

Edinburgh

Marker

“Processing Formal And Natural Languages” course, University of Edinburgh

Responsibilities include marking programming assignments.

2008

2016

Riga, Latvia

Teaching Assistant / Camp counsellor

ABFS School

For one year, I assisted in teaching during the academic year and worked as a counsellor in four yearly summer camps. I organized courses and conducted entertainment activities; the curriculum included biology, physics, chemistry and history.
In 2016, I conducted lessons in Computational Neuroscience on Multilayer Perceptrons.

.9

PRESENTATIONS

Delivered talks

2017

Edinburgh

Raspberry Pi workshop

Microsoft Student Partners

Co-organised two Microsoft-funded Raspberry Pi workshops for undergraduate and postgraduate students in Engineering and Informatics. Apart from a hands-on experience of 16 crisp-new Raspberry Pis and an auxiliary board, the workshop gave students a skill-set that allows to quickly prototype and deploy low-cost IoT setups that interact with the environment using sensors and actuators, as well as communicate over the Internet.
Over six hour-long workshops we introduced students to Windows IoT core, which comes with a range of handy debugging and over-the-Internet deploying tools such as the latest Visual Studio, the cross-platform Visual Studio Code and the IoT dashboard. For a broader Raspberry Pi experience, students also tried setting up microcontrollers from scratch using Raspbian.
Apart from helping out with the Windows IoT tutorial, my personal contribution was the Raspberry Pi's Linux tutorial, which included a half-hour lecture with demos and a tutorial on setting up and programming on Raspbian.

Sep 2016

Zurich, Switzerland

Hackathon Pitch

HackZurich 2016

A pitch in front of an audience of 600 people.

Sep 2015

York

Research project presentation

York Centre for Complex Systems Analysis

Upon completion of the summer research internship, I presented my project in front of the members of the research group.

ABFS School

In two summer camps for secondary school students, I delivered a lecture on nature-inspired computational methods in artificial intelligence as well as conducted a lesson on computational cognitive neuroscience, where I gave a lecture on modelling visual cognition in human brain using Recurrent Neural Networks.

.10

SKILLS

Computer Skills

Python, MATLAB, Visual Basic

LEVEL : Expert

SophosUniversity of YorkUniversity of EdinburghM2 Ltd

C, OpenCL, PHP, JavaScript, CSS, LaTeX

LEVEL : Advanced

University of YorkM2 LtdFreelance Web DevelopmentUniversity of Edinburgh

Java, MySQL, Xilinx

LEVEL : Intermediate

University of York

C++, Scala, Tensorflow, FPGA, Arduino, Raspberry Pi, mbed

LEVEL : Basic

University of YorkSophosUniversity of Edinburgh

R

LEVEL : Some familiarity

University of YorkUnivesrity of Edinburgh

Languages

English

LEVEL : Fluent

Russian

LEVEL : Native

Latvian

LEVEL : Intermediate

German

LEVEL : Beginner

Hobbies

3D-modelling >Pursuing my interest in DIY art, I learned 3D modelling in Blender, as well as 3D printing.

LEVEL : 1 year of practice

3D printing3D modelling

Piano >I graduated from an eight-year music school with the Certificate of Music Education in piano class; in 2012, I played in the university chamber orchestra.

LEVEL : 9 years of practice

Surfing >Occasional vacation features kitesurfing and windsurfing, with a certificate in the former.