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 |
|
Motion in Ibex |
Jack Harper |
27/04/22 |
Not Recorded |
Jack Allen |
24/06/22 |
||
SANS/TRANS Instrument Scripts |
Thomas Cottee Meldrum |
21/07/22 |
|
IOC Testing Framework & Emulators |
Tom Willemsen |
23/08/22 |
|
Ibex Gui Build System (Maven) |
Tom Willemsen |
22/11/22 |
2024
Topic |
Presenter |
Date |
Recording |
---|---|---|---|
Java Debug Option & the GUI Singleton |
Sudeepta Chakraborty |
08/03/24 |
|
How Virtual Machines and VHDs can speed up IBEX deployment |
Chris |
29/04/24 |
|
Bluesky |
Tom Willemsen |
21/08 |
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.