Skip to content

Code Chats and Lightning Talks

LowriJenkins edited this page Apr 30, 2024 · 29 revisions

Wiki > The GUI > Code chats

Code Chats

Code chats occur on a semi-regular monthly basis within the group at ISIS. Although they were originally intended to be presentations focused on a specific part of the IBEX GUI they often cover other subjects that may be considered part of the backend, or talk about general coding practices.

Upcoming Code Chats

Topic Presenter Date
Basics of Epic DBs TBD TBD

Books and article ideas for technical book club

  • Peopleware
  • Clean code
  • The Pragmatic Programmer
  • The Effective Engineer
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Refactoring
  • The Agile Manifesto
  • Fluent Python
  • Effective Python

Proposed Future Code Chats

Idea Proposed Speaker
IBEX Project Management Kathryn
LUA ?
BDD/DDD ?
Software design techniques in our processes Aaron
The HIFI Cryomag Lilith/Kathryn
Design Patterns in IBEX ?
Datastreaming Dolica/Jack/Matt
LVDCOM Freddie
IBEX UI Design Thomas Löhnert
Jenkins, testing and our build processes ?
asyncio and asynchronous programming in Python 3 ?
Script Server and Nicos ?
CAEN v895 Discriminator Freddie
MuSR conversion retrospective Jack/Tom
BCC Cryogenics Course 2021 ?
Java 17 LTS TBC

Proposed Repeated Code Chats

Idea Proposed Speaker
Observables and Writables in IBEX ?
Dynamic Layouts in SWT Thomas Löhnert
Databinding ?
Mocking in Python and Java ?
Checkstyle Quiz ?
Maven, Tycho and Surefire Tom Willemsen?
IOC Testing Framework & Emulators Tom Willemsen?

Previous Code Chats

The presentation slides for previous code chats are available here.

Previous code chats

2015

Topic Presenter Date
Data Binding (two parts) (Contains info on MVVM) Matt Clarke Sept 2015
Mockito Ian Bush Sept 2015
Java Classes Matt Clarke Sept 2015
Eclipse RCP (two parts) Matt Clarke Oct 2015
Java Collections, Iterators and Streams David Keymer Nov 2015
Design Patterns in IBEX Dominic Oram Dec 2015
Eclipse Extensions Dominic Oram Dec 2015
Observables and Writables in IBEX (two parts) Ian Bush Dec 2015

2016

Topic Presenter Date
Final Matt Clarke Jan 2016
Java Quiz Matt Clarke Jan 2016
Checkstyle Quiz Dominic Oram Jan 2016
The SNS Scan Server Dominic Oram Jan 2016
Testing with RCPTT (the basics) Ian Bush April 2016
Maven and Tycho (two parts) Matt Clarke April 2016
Javadoc Kathryn Baker Aug 2016
Synchronized & Volatile Thomas Lohnert Aug 2016
RCPTT - Tips and Tricks Dominic Oram Aug 2016
User Interface Heuristics Thomas Lohnert Nov 2016
How to Read ISIS LabVIEW Drivers Kathryn Baker Nov 2016

2017

Topic Presenter Date
MVVM Pattern Dominic Oram Feb 2017
Collision Detection Jon Elmer Feb 2017
IOC Testing Framework & Emulators Tom Willemsen Jul 2017
Motion Control Axis Testing Dominic Oram Jul 2017
Pythonic vs Non-Pythonic Matt Clarke Sep 2017
Python Style Checking & Flake8 Samuel Jackson Sep 2017
Eclipse 4 Migration Adrian Potter Sep 2017
Alignment Automation on ALF Thomas Löhnert Sep 2017
Code Reviews Matt Clarke Oct 2017
Dynamic Layouts in SWT Thomas Löhnert Oct 2017
The DAE Freddie Akeroyd Nov 2017
The HIFI Cryomag Eilidh Southren Nov 2017
Python 2 vs. Python 3 David Keymer Dec 2017
The RB Numbering System Matt Clarke Dec 2017

2018

Topic Presenter Date
System Testing with Squish Adrian Potter Jan 2018
Threading Tom Willemsen Jan 2018
Galil Motors Kathryn Baker Feb 2018
Grafana Aidan McComb Feb 2018
AutoIt Chris Moreton-Smith Apr 2018
Nicos Dominic Oram Apr 2018
SScanSS Stephen Nneji Aug 2018
Reflectometry John Holt Aug 2018
Java 8 Tom Willemsen Sep 2018
Introduction to Beckhoff Motors (Layers, Onions and Ogres) Simon Cooper Oct 2018
Experience as a new starter Aaron Long Nov 2018
Christmas Special: Bell ringing Debbie Greenfield Dec 2018

2019

Topic Presenter Date
Convert Record Changes Liam Panchaud Mar 2019
Technical debt: Configurations Thomas Löhnert Mar 2019
ACCU Conference Recap Michal / Jack April 2019
Queued State Machine Kathryn April 2019
Cryogenics Tom May 2019
Beckhoff Code Camp Recap Dom May 2019
EPICS Spring Meeting 2019 Recap Aaron & David June 2019
Graduate Placement Retrospective Sophie Kirkham June 2019
Controls at the ESS Michael Hart July 2019
Datastreaming Jack Harper July 2019
How data moves at ISIS Chris Sep 2019
Migration to Python 3 James Sep 2019
Java 11 Tom Oct 2019
EPICS 7 Freddie Nov 2019

2020

Topic Presenter Date
The IBEX Script Generator James Jan '20
NeXus Freddie 11th March '20
System Testing With Squish Dom May '20
How to Read ISIS LabVIEW Drivers Kathryn Baker 6th August '20
Review techniques Tom, Dom, James 3rd September '20
DAQMx and Moxa DIO devices Alistair 28th September '20
Deploying EPICS with Ansible CLF Controls team 19th October '20
Helium Level Monitoring Kathryn/Mihai 19th November '20
Handover: Client Build System Tom 10th December '20

2021

Topic Presenter Date
Cryogenics handover Tom Willemsen 2nd February '21
RIKEN refurbishment Kevin 8th of March 21

2022

Topic Presenter Date Recording
Github Universe Jack Allen 14/01/22 Not Recorded
ISISICP/DAE Freddie 31/03/22 Recorded here.
Motion in Ibex Jack Harper 27/04/22 Not Recorded
Docusaurus Jack Allen 24/06/22 Recorded here.
SANS/TRANS Instrument Scripts Thomas Cottee Meldrum 21/07/22 Recorded here.
IOC Testing Framework & Emulators Tom Willemsen 23/08/22 Recorded here.
Ibex Gui Build System (Maven) Tom Willemsen 22/11/22 Recorded here.

2024

Topic Presenter Date Recording
Java Debug Option & the GUI Singleton Sudeepta Chakraborty 08/03/24 Part 1. Part 2.
How Virtual Machines and VHDs can speed up IBEX deployment Chris 29/04/24 Recorded here.

Lightning Talks

Lightning talks are a chance to share smaller bits of interesting information after standup at the end of a sprint.

Topic Presenter Date
Rust Jack Harper 23/03/2022
Git Interactive Staging Lowri Jenkins 10/08/2022
Speeduino Jack Harper 10/08/2022

All presentations should be uploaded to the SharePoint site here (There is a subfolder for lightning talks) and/or converted to a wiki page if more appropriate. It should also be reasonably assumed that the people who gave these presentations should know something about these subjects.

Clone this wiki locally