Profiles

Research Software Engineer, Diversity and Informatics, Natural History Museum, London

Interests

  • Open-source software to support museum activities and for reproducible scientific research
  • Open data
  • Open science
  • Python and R

My work

I am a software engineer who retrained (rather late in life) in life sciences. I develop software to make possible the digitisation of the Natural History Museum's collections. Such collections have immense cultural, scientific, historical and aesthetic value and constitute an enormous evidence base for scientific research on the natural world. All natural history institutions are faced with the same problems of how to digitise their vast and diverse collections and to give their specimens a public digital presence. A digital presence might be basic textual metadata about a jar of fish in alcohol, a low-resolution jpeg image of a pinned butterfly or a detailed 3d scan of a complete dinosaur skeleton. The diversity and enormous sizes of collections present substantial challenges to digitisation. One of my major outputs in support of this work is Inselect - an open-source, cross-platform desktop application that automates the cropping of individual images of specimens from whole-drawer scans and similar images. It combines image processing, barcode reading, validation of user-defined metadata and batch processing. Inselect has been heavily used within the Natural History…

Continue Reading

Freelance Scientific Software Developer

Interests

My main interests are developing open-source scientific software and building vibrant communities around open-source projects. I want to find new ways to attribute proper credit to people who develop scientific software, and also work on making these projects become more sustainable.

My work

I am currently a freelance scientific software developer. However, this is a recent development: until the end of 2015, I was an astrophysicist, and I worked mainly on studying the formation of stars and on radiative transfer. During my time as a researcher, I learned Python and became involved in a number of open-source scientific software projects. In particular, I actively participated in efforts to build Python tools for astronomy and encourage astronomers to learn Python. I became one of the coordinators and lead developers for the Astropy project. I eventually decided that I wanted to work on scientific software development full time, and made the jump to work as a freelance developer. My main project currently is to lead the development for the Glue package, which is an interactive Python package for data exploration and visualization. In addition to Glue and Astropy, I maintain quite a few smaller Python packages – many of which you can find through my GitHub profile. I am also the scientific editor for software…

Continue Reading

Clinical Fellow, Nuffield Department of Clinical Neurosciences, University of Oxford

Interests

I am a cognitive neuroscientist and a clinical neurologist. I study the mechanisms of motivation, and how these can be used to treat clinical disorders. My research bridges psychology, neuroscience and neurology, using mathematical modeling and neuroimaging. 

My work

Although primarily an experimental scientist, my work involves designing software tools for colleagues, aiming to provide a robust and futureproof environment for reproducible and open data analysis. 

I have been programming all my life, and creating software has featured at every stage in my career. I am passionate about bringing programming to all domains including my hobbies, clinical work and research. I program in diverse languages, having completed full research projects in C++, Pascal, Forth, Java, Python and Matlab. I am an active member of Oxford University Research Software Developers’ Network (RSDN), a peer group of individuals who support research through the coding.

I pride my role as an educator, advocating best coding practices.  Training neuroscientists require much assistance and close supervision with methods and rapid prototyping of analysis scripts. Coding is often the slowest and most challenging area for a number of scientists.  A minimal training and educational framework is in place to give scientists the confidence they need to present their own code as a piece of work.  However the symptoms of bad…

Continue Reading

Research Associate, Department of Engineering, University of Cambridge

Interests

  • Computational engineering
  • teaching programming
  • large scale software development
  • GPU computing, container technology
  • geomechanics
  • city scale simulations

My work

Krishna's work involves developing large-scale computational methods to understand landslides, earthquakes and other geophysical hazards. Soil behaves like any other solid material supporting thousands of buildings, bridges and power plants, but also behaves as a fluid and flows across continental shelves. Soil, unlike most industrial materials, is granular in nature, but is often assumed to be a continuous media for all engineering designs and applications. Krishna's research focuses on understanding the grain scale mechanics of soil and simulating billions of soil grains to describe the complex macroscopic behaviour of underwater landslides. Krishna is one of the team-leads of the Cambridge-Berkeley Computational Geomechanics (CB-Geo) group, which focuses on developing open source, large-scale, massively parallel computational tools for geomechanics.

Krishna also works on large-scale big data frameworks for infrastructure monitoring. He is involved in the development of city scale simulation tools to understand the effect of individual and collective behaviour on physical infrastructures and their changes. In achieving the goal of understanding urban activity, it is critical to appreciate how…

Continue Reading

Research Software Engineer (Magnetic Field Researcher), Geomagnetism, British Geological Survey (NERC)

Interests

I study Earth's magnetic field and its magnetic connection to the Sun. I'm interested in reproducible, reliable research and in recognizing software as a valuable product of scientific endeavor.

My work

I help predict potentially hazardous space weather that could damage the power distribution network. I also help the maps app on your phone work out which way you are facing. Software underpins everything all of this; I’m particularly interested in machine learning, inverting big matrices, parallel data processing pipelines, and running real-time services. For me sustainable software is software which is easy to use; easy to adapt and; above all, easy to understand. Lots of my time is spent fixing bugs or trying to reason about software that was written as a private love letter to the hardware: not as something for humans to understand. I want to spend less time doing that stuff and have more time and space to think creatively about my research. By investing the time today to write software sustainably, we can give gift of time to our future selves: time to think and explore and experiment more in your domain. Spending today writing software unsustainably shackles our future selves to having to maintain whatever mess it was we threw together as quickly as possible. I believe unsustainable research software is symptomatic of a wider malaise within academia. A broken incentive system is…

Continue Reading

PhD Candidate, School of Computing Science, University of Glasgow

Interests

  • Functional Programming (Haskell)
  • Computer Systems
  • Parallelism 
  • High Performance Computing,
  • Software Engineering 
  • Branch and Bound Applications

My work

Given a list of cities; what is the shortest tour between all of them that we can make, ending back where we started? This is the famous ‘Travelling Salesperson Problem’ and is one example of a global optimisation problem. These types of optimisation problems occur in many domains: from scheduling factory production lines to checking properties of groups and geometries.

Unfortunately, global optimisation problems are notoriously difficult to solve. Even small increases to the input size potentially (we can’t tell ahead of time!) increase the computational time exponentially.

My research focuses on how we can solve larger instances of these problems by utilising parallelism on large, distributed memory machines. To do this we make use of parallel algorithmic skeletons, a technique for separating the program logic, which is designed by domain experts, from the parallel coordination layer. An upshot of this approach is that we can empirically study changes in parallel coordination without requiring any changes to the domain specific application (assuming the API is consistent).

I am also a strong advocate for functional programming techniques, particularly in Haskell, and make heavy use of this in…

Continue Reading

Postdoctoral Research Associate, The School of Engineering, The University of Edinburgh

Interests

Ed’s interests include microelectronics and silicon design for signal processing and single-photon communication applications. His current work includes firmware and embedded software for optical tomography systems, however software best practices also have a direct effect on the design of CMOS silicon chips.

My work

Ed’s research now centres on instrumentation and measurement systems for tomography of gas species within industrial environments. One project, the FLITES project  aims to image, at video rates, the spatial distribution of carbon dioxide and other pollutants within aero-jet engine exhaust plumes. The hope being that greener aviation can result from knowledge of the engine’s performance, fuel mixture, mixing with the atmosphere and the role of engine parameters. Depending on the signal processing required, and how this is handled locally prior to transmission to the user, hard real-time and adaptable software and firmware systems are required. Software best practices can also be applied to firmware, where data formats and correct clocking and management of digital circuits are paramount. As firmware is described using sequential textual languages, many software principals are directly relevant. 

Ed’s background included single-photon detectors in standard CMOS technologies, the same technologies as smart-phone image sensors. The modern design…

Continue Reading

Researcher and R developer, both freelance & Liverpool School of Tropical Medicine

Interests 

I'm an interdisciplinary researcher and R programmer with an ecology background currently interested in public health, visualisation, mapping and teaching coding. I've been freelancing for four years, two of those mostly working on models of insecticide resistance in malaria mosquitoes. I developed and maintain a handful of R packages.

My work

My work revolves around how software tools can help improve our understanding of the world and our ability to deal with issues affecting people's lives. I approach this in three ways. 

Firstly developing tools and research. This has been the case with recent work on the evolution of insecticide resistance in malaria mosquitoes shortly to be published and demonstrated in this user interface

Secondly I've developed and maintain software tools that others can use in their research and communication. rworldmap, an R package for mapping global data, has been on CRAN since 2010 downloaded over 84k times and is described in the R journal. rnaturalearth is a more recent effort focused on data and designed to work with modern R packages to be more modular and sustainable. It went through the excellent…

Continue Reading

Professor, Engineering and the Environment, University of Southampton

Interests

  • Computational modelling methodology, and applied computer simulation, including software engineering for computational science and engineering and high performance computing.
  • Exploring,researching and using technologies at the border between computer science and computational science.
  • Keen teacher, with desire to help others to carry out software related research more effectively.

My work

I am interested in the use of software for research, in particular in the development and use of simulation and data analysis software to complement and support analytical and experimental work. The overall ambition is to allow scientists to carry out computational work more effectively.

Of particular fascination are the processes and tools that are used to develop software for computational science: this is a field located at the boundary between computer science and the application domains. My interests include the use of best practice from computer science to support computational science, and which allow us to produce better and more sustainable software. We need to research which techniques, methods and tools work well for computational scientists and engineers, most of which have no formal training in computer science.

In the use of software for research, in particular simulation and data analysis tasks, I am interested in suitable user interfaces that provide the scientists great…

Continue Reading

Senior Research Associate, Department of Physics, Lancaster University

Interests

My interests are in particle physics and programming. I use my coding skills to solve research and development problems related to Physics and High-End Computing.  This involves working with a variety of people at different career stages in several disciplines which I enjoy.

My work

My background is as a Particle Physicist. During my PhD I did an end-to-end analysis of the high mass objects decaying to top - anti-top pairs in the ATLAS experiment. I spent a lot of my time coding and providing support to colleagues with their code. This lead me to my current role maintaining and developing the High End Computing cluster at Lancaster University alongside my colleagues. This is part local computing cluster and part Lancaster's contribution to the World Wide distributed computing grid used for Particle Physics.

Throughout my PhD I found that not only did I enjoy the challenge of programming as much as i enjoyed the physics, I also enjoyed helping people write better code.  In my current job I provide support to local users of the grid computing system, not only ensuring their code runs on the grid, but also in developing the code they need for their research.

My research is motivated by a talk I heard early on in my career about using virtual machines to allow us to preserve old programs, and re-run old analysis on long gone operating systems. This lead me to looking at the use of virtual machines and containers as…

Continue Reading
Subscribe to Profiles