I am Steve Kerrison, an Senior Embedded Developer at μSec (MicroSec), a Singaporean startup delivering cyber-security solutions and services for IoT devices. Before now, I've been a researcher at Singapore's A*STAR, a researcher at the Univeristy of Bristol, UK, a developer & sysadmin and a long time ago, a computing technology journalist. Read more below.
In my spare time I'm a dancer, mostly Salsa and also Bachata, which I've been doing for around five years. It keeps me fit and healthy in both body and mind, and is socially engaging. Singapore has a great latin dance community. I do most of my training with Dance Channel. We do charity recital events, and it's fantastic fun preparing for and participating in them. I also participated in 2018's Singapore Bachata Flashmob, a community service activity that took place along Orchard Road, and a group of us from the flashmob also performed it at Singapore Latin Extravaganza.
A brief history
I was a Research Scientist in the Smart Manufacturing Group at ARTC, the Advanced Remanufacturing and Technology Centre, part of A*STAR, Singapore's Agency for Science, Technology and Research. My work was to help Singapore lead the way in developing the Factories of the Future, where I focused on network infrastructure, embedded systems, and data analytics.
Up to 2017 I was a Senior Research Associate in the Microelectronics Research Group at the University of Bristol. I was attached to the EMC2 project, working on predictable networks for mixed-criticality embedded multi-core systems, as well as the ICT-Energy coordination action, which brings together industry and academia all looking to educate for and enact a reduction in global ICT energy consumption. Here's a neat video overview of ICT-Energy. As part of this activity, I co-authored a book chapter, titled Measuring Energy, in the book ICT - Energy Concepts for Energy Efficiency and Sustainability.
Prior to the above, my research project was ENTRA: Whole Systems Energy Transparency. I have also directed teaching units for Bristol's MSc Computer Science degree programme, preparing and delivering upwards of twenty lectures per unit. I have a PhD in Computer Science and a 1st Class MEng in Computer Systems Engineering (Computer Science & Electronics) from the University of Bristol.
In September 2015 I was awarded my PhD. My thesis is titled Energy modelling of multi-threaded, multi-core software for embedded systems. It is available online in several formats under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License:
- Standard PDF
- Coloured hyperlinks, 5MiB.
- Print PDF
- Black hyperlinks, 5MiB.
- Monolithic HTML
- Single embedded document, 7MiB, produced with pdf2htmlEX.
- Paginated HTML
- One HTML file per PDF page, 7.4MiB, produced with pdf2htmlEX.
A full list of my publications and related activities can be found on Research Gate.
The first year of my PhD took my research into a Bristol-local chip company called XMOS. The company makes innovative high performance multi-threaded & multi-core embedded processors with an instruction set that gives you direct control over many aspects of I/O, allowing you to do in software what previously required a separate ASIC, IP block or FPGA. I used their architecture as a case study for my software energy modelling techniques.
My work on EMC2 focused on SystemVerilog Assertions and Formal Verification, as well as communication scheduling. The work involves a Network-on-Chip architecture design targeting a Xilinx Kintex-7 FPGA, utilising RISC V cores, in particular the PicoRV32, because a lot of them fit onto a single FPGA.
Sysadmin & development
Prior to moving to Singapore, I was also a self employed web developer and systems administrator with nearly ten years of experience in developing for high traffic environments, principally within the Unix/Apache/PHP/MySQL stack, but also with experience in Nginx (moreso than Apache these days) and Memcached. I used to use FreeBSD servers a lot and have experience with ZFS on both FreeBSD and OpenSolaris (NexentaCore), as well as now on Linux. In addition, I have an appreciation of infrastructure issues that are overlooked by those with less experience. I am also familiar with cloud services, particularly OpenStack and Amazon Web Services, including load balancing, RDS, auto-scaling and devops. I've built High-Availability OpenStack installations, which, interestingly, combines a lot of the skills I've acquired over the years in forming its cloud offering.
As is abundantly clear from this page, I am not a graphic designer. I can make things look nice, particularly when working with visually creative people, but it seemed a bit unnecessary for this web page. I recently added some CSS to this page to use the LaTeX favourite Computer Modern font family. If you want to do the same, it's quite simple. My only regret is that loading this page is no longer a single HTTP request.
I've looked after systems and services for BOXFX, a video production & graphics design company, as well as HEXUS, an online technology publication with millions of monthly visits. Both are part of The Media Team family of businesses.
Additionally, I have also worked with Snap Fashion, part of Snap Tech, a web start-up that combines an amazing piece of image processing technology (created by the founder) with a fashion shopping portal. I was involved since its infancy and was responsible for server infrastructure as well as optimisation of the technology at the heart of Snap Fashion.
Back in 2010/11 I did some work on a Linux driver for the PCTV nanoStick T2 290e; a USB DVB-T2 (Freeview HD) tuner.
My favourite programming language is Python. I won't get into an argument about whether Python 2.7 or 3.x is better - I'll just import from future if I need to. After Python, I'm also well versed in C, mostly thanks to the large amount of low-level work I've done in the past. As a researcher, and building upon the programming philosophy I learned as an undergraduate, I can adapt to any language thrown my way, from a new assembly language to a DSL.
Get in touch
If you would like to contact me, then please email me. Take a guess at what my e-mail address is. It's very likely you'll get it right. Alternatively, visit my LinkedIn profile and connect with me. Finally, feel free to take a look at my work on GitHub, but please note that not all of my coding activities are public, mostly for IP reasons rather than shame.