We are proud to announce our second GitKon keynote speaker: Edward Thomson, Product Manager for npm at GitHub and the maintainer of libgit2.
GitKon is a free virtual Git conference intended to bring people together, from many different backgrounds and areas of focus, to learn from each other. No matter what services and frameworks they are using, GitKon participants are united by their love of Git and how it helps them be more productive.
Don’t miss this incredible opportunity to learn from Git experts across the world – FOR FREE!
libgit2
Edward maintains a project that is running under a lot of services and tools in the world, including the GitKraken Git GUI, called libgit2. It’s a popular open source library for interacting with Git, but is completely stand-alone, meaning there is no requirement to install it on the Git CLI software.
The project describes itself as “A portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language that supports C bindings.”
If you have ever stopped to think about it, Git hosting providers like GitHub, GitLab, and Azure DevOps, in addition to many local tools, do not make CLI calls. It would be much too slow to parse requests into CLI commands, execute the commands, and then re-parse the text output back into the product or platform’s user interface. Instead, libgit2 is used to power these requests, speeding up the entire process. It’s the software that performs the Git merge every time you click “merge pull request.”
libgit2 also allows developers to interject their own functions, which is how GitKraken implements “undo” and “redo” using NodeGit and libgit2.
“Thank you @GitKraken for the undo feature, accidentally discarded all my changes but now they are back again :D” – @offset1337
As you can imagine, translating the protocols that make Git work into libgit2 is no small task. Edward brings a unique insight into how a global team makes the code and the challenges they face maintaining it. This is a task made especially difficult as the Git CLI team has never stopped updating the capabilities of that software.
GitHub Actions
Aside from his work on that project that touches so much of the internet, Edward is a product manager at GitHub. He was part of the team that brought GitHub Actions to life in 2018, and now, Edward oversees npm.
GitHub Actions allows GitHub to do far more than just handle source control hosting. Actions were originally intended as a way to let developers automate common code tasks, like automatically adding labels when a pull request is started. While GitHub has long supported the notion of webhooks—which are listeners that await for a specific event to trigger an action—developers were on their own to set up and manage any needed applications that were triggered by webhooks.
With the introduction of GitHub Actions, those applications can be run on GitHub virtual environments, making GitHub a truly complete platform for developers, no matter what language or frameworks you choose. The project has continued to evolve and today is one of the most popular ways developers approach Continuous Integration.
npm
More recently, Edward has moved to oversee npm, the home of JavaScript packages, and has been working on this project since npm was acquired by GitHub in 2020.
For folks who might be new to this technology, npm stands for “Node package manager” and it is a registry of all the collections of software bundles available in the Node ecosystem. This team is also responsible for maintaining the npm command line interface itself. What this means for developers working on JavaScript applications is they can install thousands of packages just by invoking the package name.
For example, if you wanted to install ESLint, a very popular static code analysis tool for identifying problematic patterns found in JavaScript code, all you need to type in your terminal install npm is npm install eslint
. npm has helped speed the development of so many projects and products, such as GitKraken itself.
Edward is leading the charge to make npm better by investing in the registry infrastructure and platform to improve the core experience and better engage with the community. You can read more about his current work of upgrading npm’s security on the GitHub blog.
Uniting Under The Banner Of Git
GitKon is all about bringing people together to learn from one another. We are for sure going to learn some cool tips and tricks but ultimately hope that everyone can walk away with a larger appreciation for how much we all have in common no matter our area of expertise. Underlying any person’s love of Git is a passion for teamwork and collaboration that empowers us.
Beyond any single platform or approach to code, we believe every developer has a desire to help shape the world around them. By coming together to discover new approaches and philosophies, we can work smarter and be more productive. By sharing our experiences, we hope to broaden the perception of what collaboration can mean.
We know speakers like Edward are going to inspire you, but we also hope you come and participate in GitKon to share your thoughts and experiences. We know that together, as groups and teams, we can do so many wonderful things. And by leveraging better tools, processes, workflows, and ideas, we can get them done faster, with better results, with as much transparency as possible.
Register For GitKon, The Free Virtual Git Conference
The GitKon 2021 team is absolutely thrilled to have Edward as a keynote speaker, representing not only libgit2 but also GitHub, a platform currently in use by over 90% of developers worldwide!
You do not want to miss this unique virtual event. Attendee registration is open, so save your free ticket to ensure you don’t miss this incredible event, happening September 22 – 23, 2021.
Watch these GitKon sessions to level up your Git skills. 🆙