I am interested in solving problems that have environmental or societal importance, but as a professional with children to feed I will work hard on any problem given to me. I have over 15 years of programming experience, and a wide understanding of computer science and electronic engineering. I am an expert in quickly prototyping full-stack solutions to complex problems and a deep thinker in the broader context. I am always open to offers of contract work, with a preference for work-package based assignments. Please get in touch if you feel I may be of service to you.
My work here is split 90%/10% in air pollution and patient health. The air pollution work comprises the following:
The patient health work comprises:
Technology for Good was founded in August 2016 to work on problems of social importance. It was a community interest company with an ethical mandate.
The company delivered pro-bono technical services for a variety of community projects as well as seeking funding for some novel community initiatives.
"The Shed" is a makerspace at the School of Computing, University of Kent. The Shed provides a free space for students to make and build things. The Shed also engages with industry in providing solutions for technical projects that have significant computing, IoT, or hardware elements. In this part-time role I:
I was a technical director of a small company that focused on building software, hardware, and mechanical solutions to internet oriented problems. Some specific projects:
In this 3 month contract I analysed Holdiay Extra's PPC (Pay Per Click advertising) data and assisted with the data integration team in managing the company's data. Notable contributions:
The majority of Vodafone R&D employees have roles which continuously change to match the companies strategic objectives, whilst being heavily centered around mobile technology.
During this period I was engaged in a wide variety of projects with a strong IoT/M2M focus. Some notable examples are listed below:
In addition to these particular activities I was heavily involved as a consultant on many internal M2M activities, and was regularly called out as an R&D M2M representative to large clients of Vodafone such as BP and Centrica.
During this period of my employment in Vodafone R&D I was tasked to look at ways in which Vodafone could fulfill it's commitment to reduce carbon emissions. The following tasks are illustrative:
I joined vodafone as a researcher as part of undertaking an Engineering Doctorate.
The EngD (Doctor of Engineering) is an EPSRC and Industry funded professional Doctoral degree. My host university was The University of Bath and my host company was Vodafone Group Services Ltd. I was based in the R&D department at the Vodafone HQ in Newbury under the supervision of David Lister.
My EngD was assessed by Dr Simon Armour from Bristol University, Dr Peter Cosimini from Vodafone, and Dr Julian Padget from The University of Bath.
My work was focused on the problem of interference mitigation in LTE and other OFDMA networks. I discovered novel solutions to the problem and published this work in peer reviewed journals and conferences. A patent which captures some of the novel phenomena has been granted.
The work enhanced my analytical and scientific skills to a large extent, since a doctoral degree requires the production of novel material against the backdrop of the existing state of the art. Novel enhancements must be demonstrated true with appropriate statistical rigor and hence my capacity in this regard has been demonstrated.
The work enhanced my ability to write highly technical documents, as well as the preparation of executive summaries and presentations.
My knowledge of telecommunications systems was vastly broadened by this work (having come from a computer science background). My deepest telecommunications knowledge lies in understanding the MAC layer of LTE.
A doctoral degree displays an ability to learn, master, and improve upon an existing domain. I have demonstrated these traits by completing it. I worked with international groups and other bodies, and have experience with delivering presentations to mixed groups of people.
The work lead ultimately to my appointment in a permanent role as an "Energy Specialist". This role is unrelated to my doctoral degree but illustrates the confidence my employers have in me to rapidly learn and master new domains of knowledge and improve upon them.
Conducted research into the study of frequency selective scheduling in WiMAX under differing velocities. This resulted in an IEEE publication.
Undertook research in computational neuroscience pertaining to the measurment of time in the mammalian brain. Specifically the role of the cerebellum in mediating temporally delayed conditioned responses.
Research was performed into the induction of temporal symbolic structures in networks of spiking neurons.
The work resulted in two publications, one of which was in the Journal "Neural Computation".
Wrote 19 tutorials and a software system for automatically maintaining the website they were hosted on. Some of the tutorials e.g ANTLR, LOG4J, DocBook have received worldwide recognition.
I have over 15 years experience programming in a wide variety of languages spanning from very low level programming of embedded devices, through system level and operating system tools, going upto Android applications, and all the way upto visuals oriented programming of frontends for data and web applications.
I can pickup new languages and obtain advanced understanding of them very quickly.
The languages I am most familiar with are listed below with some of the projects I have completed in each of them described:
I have been programming c for over 10 years and am deeply familiar with the memory model and advanced debugging. I developed a youtube tutorials series for teaching c, where you can confirm some of my knowledge.
The following tasks for which I have used c are illustrative:
My main experience with c++ comes from three principal areas:
I have used objective c to program the MIT handyboard for a robotics module at university.
My undegraduate CS degree was taught principally using Java so I spent three years on and off using Java for increasingly difficult tasks. For example:
In addition to using Matlab for producing all of the figures for my BSc and MSc theses and academic publications, I have used Matlab for:
In addition to using R for the same sorts of tasks as used for Matlab, I have used R specifically for analysis of large data sets. This involved interfacing with IBM DB2 instances, as well as open-source databases.
In a commercial environment, I have used the the R web framework shiny to create a dynamic analysis tool for Holiday Extras PPC data.
Wherever possible I feel compelled to automate that which can be automated. I have used shell scripts to automate administrative tasks as well as using it for things that it probably shouldn't used for, such as:
As such I have become very good at using shell scripting for just about everything it can be used for.
My experience with python is limited primarily to devops scripting tasks, but I have used the python web framework Django to create a frontend for managing a connected-car product I designed at Vodafone.
I have recently started using go for the backend and frontend of a pollution monitoring project. The backend part provides an API to store pollution data, and the frontend provides a REST API to access it as well as a default HTML rendering interface.
I have used php to:
I taught Erlang to second year CS students at The University of Kent. I open-sourced a a json parser I wrote in it.
I have written various sorting algorithms in x86 assembly as well as some BIOS interfacing boot code. I have used ARM and AVR assembly where I needed finer control over the hardware than c could provide in embedded contexts.
I was taught haskell as part of my CS degree. The course was quite in-depth and I used it not only to implement various algorithms, but spent time to mathematically reason with it, being able to inductively prove various properties of the programs created.
Everybody knows basic don't they? I programmed basic on a ZX Spectrum when I was a child. I used visual basic to create a network monitoring tool for my school during A-Levels.
I have been responsible for modeling physical systems for the purpose of research at several points throughout my career. Examples are given below:
I have an excellent working knowledge of FreeBSD and Linux administration, bourne primarily out of personal interest. I have used this knowledge both professionally and personally:
I am self-taught in electrical engineering but have obtained proficiency enough to design several hardware prototypes:
I am proficient in using LaTeX, docbook, HTML, Microsoft Word, Libreoffice, inkscape and other tools to create technical and academic documents. I have seven published publications in peer-reviewed conference proceedings and journals.
I have written approximately 30 tutorials in various subjects, 20 of which were written in just 3 months as a paid task.
I am a confident public speaker with a diversity of experience including:
I worked for Vodafone for six years, four of which I undertood as a doctoral student. During this period I was involved in many aspects of cellular network technology and have a deep knowledge of them.
My doctoral thesis was about mitigating the effects of interference in LTE (4G). I produced a patent in this domain, and two patents in other areas of cellular networks.
I have experience attending standards meetings, as well as contributing to standards documents.
I was a councillor for my village for two years, vice chair of the council for one year, and chair of the planning committee for one year until I had to leave due to childcare committments.
During my service I chaired meetings and pursued resident problems. My speciality was dealing with large scale developments.
I was a befriender for 3 years for two different people: one man in his early 20s, and a teenager. In each case we met for one evening at least every two weeks and performed various activites that were considered mutually enjoyable.
It was very rewarding to be able to offer two different lonely people the opportunity of companionship.
Following from the befriending, I was asked to help create an autistic pub group for West Berkshire. In contrast to the befriending which was all about one-to-one friendship with children and adults with Autistic Spectrum disorders, this was aimed exclusively at adults.
I helped setup the group and was the principal organiser for a period of one year. The group ran once per month and met at The Swan in Thatcham. It had around 5 regular attendees, with a maximum of about 10 people attending at any given time. Periodically we also attended special events such as bowling.
Whilst looking for a doctorate to undertake, I took part in volunteering at the local wildlife trust in a scheme called "Nature Force".
Every thursday we would meet at Brandon Wood nature reserve and travel out to one of the trusts nature reserves and perform management tasks such as coppicing, dead hedge creation, or scrub clearing.
Whilst at Vodafone I took part in a week long program to mentor secondary school students and guide them through a park planning task.
As part of a national outreach program, I visited Trinity School in Newbury and delivered three classes on Mobile phone technology as guest session for physics.
My command on the English language is excellent. I possess a large vocabulary and have experience writing long documents.
I can get by in every-day situations in German. I could survive in a German speaking country even if nobody there spoke English.
Animating Typescript Using Aesthetically Evolved Images, Ashley Mills, International Conference on Evolutionary and Biologically Inspired Music and Art, (pp 126-134). Springer International Publishing, 2016.
Evolving Aesthetic Images, Ashley Mills, MSc Natural computation mini project thesis. 2005.
Scheduling Strategies and Inteference Migitation for OFDMA Cellular Networks, Ashley Mills, EngD Thesis
Power-Efficient Downlink Transmission in Multicell Networks with Limited Wireless Backhaul, Tuan Anh Le, S. Nasseri, A. Zarrebini-Esfahani, M.R. Nakhai, A. Mills, IEEE Wireless Communications, Volume 18, Issue 5. Pages 82-88. October 2011.(c) 2011 IEEE
Understanding Static Inter-Cell Interference Coordination Mechanisms in LTE, Ashley Mills, David Lister, Marina De Vos, Journal of Communications, Volume 6, Number 4, July 2011 (c) Academy Publisher
Intrasite Scheduling for Interference Avoidance in LTE, Ashley Mills, David Lister, In Proceedings of the IEEE 73rd Vehicular Technology Conference, IEEE VTC2011-Spring, 2011, Budapest, Hungary. (c) 2011 IEEE
The impact of MS velocity on the performance of frequency selective scheduling in IEEE 802.16e Mobile WiMAX, Ashley Mills, David Lister, Marina De Vos, and Yusheng Ji, In Proceedings of IEEE Consumer Communications and Networking Conference, 2010, Las Vegas, Nevada. (c) 2010 IEEE
Learning Beyond Finite Memory in Recurrent Networks Of Spiking Neurons, Peter Tino, Ashley Mills, Neural Computation, Volume 18, Issue 3 (March 2006), Pages 591-613. (c) MIT Press
Learning Beyond Finite Memory in Recurrent Networks Of Spiking Neurons, Peter Tino, Ashley Mills, In Advances in Natural Computation - ICNC 2005, (eds) L. Wang, K. Chen, Y.S. Ong. pp. 666-675, Lecture Notes in Computer Science, Springer-Verlag, 2005.
Non-Linear memory, Ashley Mills, MSc Natural computation summer project thesis. 2005.
Beyond Finite Memory with Networks of Spiking Neurons, Ashley Mills, BSc Computer Science Thesis, 2004.
Interference detection in mobile telecommunications networks, John Turk, Roger Beck, Ashley Mills Issued 12th August 2014. [US8804555B2, EP2466945A1, EP2466945B1, US20120155307].
CQI Adjustment, Ashley Mills, Eric Douglas Murray Issued 8th May 2014. [WO2014023963A3, EP2883407A2, US20150201428, WO2014023963A2].
Telecommunications system and method, Nicholas Herriot, Ashley Mills, David Lister Issued 2nd August 2016. [US9407575B2, EP2661107A1, EP2661107B1, US20140146826].
"Dr Ashley's technical knowledge and obvious passion for technology make him a joy to work with. His can do attitude and extensive creative and technical capabilities are without peer."
Paul Edwards, worked directly with DrAshley at Vodafone
"Having worked with Ashley for the past year I have found him to be the most inventive and bright individual I have had the pleasure to collaborate with. Ashley has tirelessly moved from technology to technology to deliver consistently as part of his work within R&D. Nothing as yet has phased him no matter the disparate nature of the technology. I found him to be inclusive in nature, works as well within a team as he does on a solo project. I can not praise him enough. Any potential employer would be lucky to have him fighting for their team."
Nicholas Herriot, worked directly with Ashley at Vodafone