Skip to content

Commit 39d3180

Browse files
committed
Add more figures
1 parent 3a68fcb commit 39d3180

File tree

3 files changed

+50
-64
lines changed

3 files changed

+50
-64
lines changed

images/paste-7.png

160 KB
Loading

images/paste-8.png

131 KB
Loading

slides.qmd

Lines changed: 50 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -16,56 +16,49 @@ date: last-modified
1616
bibliography: references.bib
1717
---
1818

19-
2019
# Introduction
2120

2221
## Contents
2322

24-
- Introduction
25-
- Approaches to cross-language interoperability
26-
- Containerisation
27-
- Cross-language pain points
28-
- Cross-language priorities
23+
- Introduction
24+
- Approaches to cross-language interoperability
25+
- Containerisation
26+
- Cross-language pain points
27+
- Cross-language priorities
2928

3029
## Case study for reference
3130

32-
:::: columns
33-
31+
::::: columns
3432
::: {.column width="50%"}
35-
3633
The Network Planning Tool for Scotland
3734

38-
- Development version (branch `dev`): [nptscot.github.io](https://nptscot.github.io/)
39-
- Stable version (branch `production`): [www.npt.scot](https://www.npt.scot/)
40-
35+
- Development version (branch `dev`): [nptscot.github.io](https://nptscot.github.io/)
36+
- Stable version (branch `production`): [www.npt.scot](https://www.npt.scot/)
4137
:::
4238

4339
::: {.column width="50%"}
44-
4540
![The NPT web app](/images/basemaps.png)
46-
47-
4841
:::
49-
50-
::::
42+
:::::
5143

5244
## NPT stack
5345

54-
:::: columns
55-
::: {.column}
46+
::::: columns
47+
::: column
5648
Backend: R + targets for 'cross-language' data pipeline workflow automation
5749

58-
- Relies on Rust crates
59-
- Experiments with Python
50+
- Relies on Rust crates
51+
- Experiments with Python
6052

6153
Frontend: JS + MapLibre for visualisation
6254

6355
Progressive Web App (PWA)
6456
:::
65-
::: {.column}
57+
58+
::: column
6659
![Map controls](/images/map_controls.png)
6760
:::
68-
::::
61+
:::::
6962

7063
## User interface
7164

@@ -75,64 +68,57 @@ Progressive Web App (PWA)
7568

7669
### "Deploying"
7770

78-
- Code runs on more than one computer
79-
- Results are published on a website that is maintained
80-
- Project is "in production"
81-
- Users: Hosted on a trusted and well-used website
82-
- Performance: updates to 'production' planned and documented
83-
- Money changing hands
84-
- Expectations
71+
- Code runs on more than one computer
72+
- Results are published on a website that is maintained
73+
- Project is "in production"
74+
- Users: Hosted on a trusted and well-used website
75+
- Performance: updates to 'production' planned and documented
76+
- Money changing hands
77+
- Expectations
8578

8679
## Deploying the NPT
8780

88-
TODO: add screenshot of NPT branches?
81+
![](images/paste-7.png)
8982

9083
## Deployment workflow of NPT
9184

85+
Based on [workflow.yml file for](https://github.com/nptscot/nptscot.github.io/blob/production/.github/workflows/azure-static-web-apps-wonderful-beach-0edb91e03.yml) GitHub actions.
86+
87+
![](images/paste-8.png)
88+
9289
## "High impact projects"
9390

94-
- Broadly: tangible change results from the work
95-
- With measurable impact on environmental, social (or economic?) outcomes
96-
- E.g. Reduction in greenhouse gas emissions
97-
<!-- (accounting for 'rebound' effects) -->
98-
- E.g. better diets resulting in more DALYs
99-
<!-- (disability-adjusted life years) -->
100-
- Identifiable 'pathway to impact'
101-
- E.g. New methods -> new evidence -> investment in active travel more effective that it would have been otherwise -> more people cycling -> tangible benefits
91+
- Broadly: tangible change results from the work
92+
- With measurable impact on environmental, social (or economic?) outcomes
93+
- E.g. Reduction in greenhouse gas emissions <!-- (accounting for 'rebound' effects) -->
94+
- E.g. better diets resulting in more DALYs <!-- (disability-adjusted life years) -->
95+
- Identifiable 'pathway to impact'
96+
- E.g. New methods -\> new evidence -\> investment in active travel more effective that it would have been otherwise -\> more people cycling -\> tangible benefits
10297

10398
## Technical requirements for impact
10499

105-
106-
- The results are in production product has users
100+
- Users: The web application has users
101+
- Scale: covers a large geographic area needs big data inputs
102+
- Trusted: code review and multiple contributors
103+
- User-friendly: if it's going to have lots of users
104+
- Future proof: technology needs to last a long time
105+
- Community: needed to ensure it lasts
107106

108107
## Why cross-language projects?
109108

110-
- a
111-
- b
112-
- c
109+
- Specific tool written in a particular language (`odjitter`)
110+
- Required for 'best of both worlds' (JS for visualisation, R for statistical modelling)
111+
- Having multiple implementations ensures robustness
112+
- Aeroplane flight software has 3 implementations
113+
- Redundancy common in mission-critical applications
113114

114-
## ...
115+
# Approaches to cross-language projects
115116

116-
``` sh
117-
quarto install extension grantmcdermott/quarto-revealjs-clean
118-
```
119-
120-
Then replace:
121-
122-
```
123-
format:
124-
revealjs: default
125-
```
126-
127-
with:
128-
129-
```
130-
format:
131-
clean-revealjs:
132-
self-contained: true
133-
```
117+
- [x] "Loose coupling" (system calls)
118+
- [x] "Tight coupling" with low-level code embedded in R/Python/other packages (e.g. `sf`, `rsgeo`, `shapely`)
119+
- [ ] Project environments (e.g. `pixi`, `mamba` [`rix`](https://docs.ropensci.org/rix/))
120+
- [ ] Containerisation
134121

135-
In the YAML header of your `.qmd` file.
136122

137123
# Publishing
138124

0 commit comments

Comments
 (0)