Skip to content

Commit 5733c13

Browse files
committed
rn-82: add interview with Randall S. Becker
1 parent 062bb92 commit 5733c13

File tree

1 file changed

+91
-3
lines changed

1 file changed

+91
-3
lines changed

rev_news/drafts/edition-82.md

Lines changed: 91 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,97 @@ This edition covers what happened during the month of November 2021.
2929
### Support
3030
-->
3131

32-
<!---
33-
## Developer Spotlight:
34-
-->
32+
## Developer Spotlight: Randall S. Becker
33+
34+
* Who are you and what do you do?
35+
36+
I am Randall S. Becker, president of Nexbridge Inc. I have been a
37+
software developer and architect for many decades. Aside from the
38+
obvious SCM domain knowledge, my interests are around data structures,
39+
performance, computability, and languages. About 10 years ago, I joined
40+
the ITUGLIB Technical Committee, which is an Open Source group that
41+
maintains code for the HPE Nonstop community - the platform was
42+
originally called Tandem Computers Inc.
43+
44+
* What would you name your most important contribution to Git?
45+
46+
I have been maintaining the code associated with the HPE NonStop
47+
platform for the past six years and was key to its successful port to
48+
both the x86 and ia64 variants of the platform. In addition, I keep an
49+
eye out for changes that may put the port at risk and run the CI/CD
50+
environment that builds and tests Git on the platform.
51+
52+
* What are you doing on the Git project these days, and why?
53+
54+
I am currently working on the `.git/config` `includeIf` function for
55+
worktrees, planning a threaded version of the port, which is challenging
56+
considering the nature of the platform and community. We have to
57+
maintain compatibility with some old versions of the operating systems
58+
that lack some more modern capabilities. The platform is an MPP
59+
architecture without kernel level threads (yet) and the port to POSIX
60+
threads is very messy with the operating system wrappers we have to use.
61+
62+
* If you could get a team of expert developers to work full time on
63+
something in Git for a full year, what would it be?
64+
65+
There are really three areas where I would want to work. The first, most
66+
important, is improving multi-level signing capabilities in Git to
67+
support the software supply chain. I could leave it at that, but the
68+
full set of requirements in various countries are not yet fully fleshed
69+
out. Another two, purely to support the NonStop community is converting
70+
the code written in Go (Git LFS) into C and making it part of the standard
71+
product. The other is migrating the interpretive code to a c99-standard
72+
code base.
73+
74+
* If you could remove something from Git without worrying about
75+
backwards compatibility, what would it be?
76+
77+
I would move directly to SHA-384 or SHA-512 and toss both SHA-1 and
78+
SHA-256 as soon as possible. The same applies to any signing
79+
capabilities to support 8K or higher key sizes in defense against future
80+
hacking using the capabilities quantum computers.
81+
82+
* What is your favorite Git-related tool/library, outside of Git
83+
itself?
84+
85+
This is a bit of self-promotion for my company and I apologise for that.
86+
We build façade-style interface facilities that allow legacy platforms,
87+
including HPE NonStop and IBM's TSO/ISPF environments to have full Git
88+
experiences despite the native file systems not supporting POSIX-like
89+
hierarchies. These are Git clients that map file system attributes and
90+
structures to and from what Git can understand. Our NonStop product was
91+
recently added to the HPE price book. These products allow older
92+
codebases to share in the benefits of real DevOps capabilities without
93+
having to rely on proprietary knowledge and processes. I am the chief
94+
architect of those.
95+
96+
* Do you happen to haveany memorable experience with respect to contributing
97+
to the Git project? If yes, could you share it with us?
98+
99+
I think the most satisfying experience was the few months it took to
100+
contribute all the code associated with the NonStop port. It was a huge
101+
pain to maintain the separate fork even with Git's awesome merge
102+
capabilities. Being allowed to be lazy is a dream of many developers and
103+
cutting down the time and effort spent on each release to a simple push
104+
of the Jenkins "Build Now" button freed up a lot of time.
105+
106+
* What is your advice for people who want to start Git development?
107+
Where and how should they start?
108+
109+
Learn about Merkel Trees and general data structures.
110+
111+
I am still learning when it comes to general functional contributions.
112+
Watching how others contribute is really crucial if you have any hope of
113+
your contribution being accepted.
114+
115+
* If there's one tip you would like to share with other Git developers,
116+
what would it be?
117+
118+
For every change you make, think about the security implications.
119+
Think about what a hacker might do to compromise Git or an organisation
120+
using Git before you move forward, no matter how good an idea it might
121+
seem. The last thing you want is to have your contribution show up as a
122+
Critical Vulnerability Exposure on the NIST database.
35123

36124
## Releases
37125

0 commit comments

Comments
 (0)