Open Source Work
I love open source, and contribute a lot of my free time to working on open source. You can find me on Codeplex, GitHub and BitBucket
If you want to get started with Open Source, I am happy to help, just email me or hit me up on twitter.
Why?
I got into open source to try and learn more, I felt I did not know enough and work does not give you the luxury of re-writing things and getting good feedback in the open. It was pretty scary to get started. But once involved I was hooked!
I encourage you to give contributing to open source a try, we have a long way to go in the .NET space for open source and I hope that my contributions are making .NET open source a better place to be.
My open source related blog posts are here.
Projects
My Projects
- https://github.com/JakeGinnivan/GitReleaseNotes - Generate release notes easily from your Git repo
- https://github.com/JakeGinnivan/ApiApprover - Uses ApprovalTests to approve the public API of your library to help notify you when you have possibly introduced a breaking change which would require a major SemVer bump
- https://github.com/JakeGinnivan/WebApi.Hal - A WebAPI media type formatter which allows you to easily support hypermedia via HAL
- https://github.com/JakeGinnivan/SettingsProvider.net - Simple library which makes saving/restoring settings really easy
- https://github.com/JakeGinnivan/VSTOContrib - Enables convention over configuration, testability, IoC and a HEAP of other things in your VSTO add-in making VSTO add-ins much nicer to develop
- https://github.com/JakeGinnivan/VSTest.TeamCityLogger - If you use VSTest to run your tests, this is an extension which will expose the test results to teamcity.
- https://github.com/JakeGinnivan/UIAComWrapper - Used by TestStack.White, this wraps the new COM UIA v3 libraries easing much of the migration pain between v2 and v3 of UIA. This project is a fork of a project off codeplex which is no longer maintained
- https://github.com/JakeGinnivan/TfsBuildResultPublisher - Allows you to publish a ‘fake’ build into TFS with test results. Useful to use TeamCity, then push the results into TFS for reporting reasons
- https://github.com/JakeGinnivan/UITextBlock - An enhanced WPF text block which is visible to UI automation and a bunch of other nice enhancements
- https://github.com/JakeGinnivan/XText - A XDocument style api to generate a WPF flow doc
- https://github.com/JakeGinnivan/XamlAttributeOrderingCodeCleanup - ReSharper plugin to order xaml attributes when doing a code cleanup
TestStack
I am a member of TestStack, a GitHub organisation which brings together a number of cool testing related projects. The other TestStack members are Mehdi Khalili, Michael Whelan, Rob Moore and Krzysztof Koźmic
- https://github.com/TestStack/ConventionTests - Test your project conventions rather than put them in a wiki
- https://github.com/TestStack/White - Popular rich client UI automation framework
- https://github.com/TestStack/TestStack.BDDfy - The simples BDDfy framework around
Code52
I was very active with Code52 and have continued to maintain a number of Code52 projects:
- https://github.com/Code52/DownmarkerWPF - Markdown editor
- https://github.com/Code52/pretzel - a .NET Jekyll implementation
- https://github.com/Code52/carnac - Presentation tool, overlaying key presses on your screen with shortcut names as well
- https://github.com/Code52/aspnet-internationalization - Makes internationalising an MVC project pretty easy
Projects I contribute/have contributed to
- https://github.com/AutoMapper/AutoMapper
- https://github.com/shouldly/shouldly - An .NET assertion library
- http://nsubstitute.github.io/ - .NET mocking framework
- https://github.com/xbehave/xbehave.net - Another great BDD library for .NET
- https://github.com/Particular/GitVersion - Use git branching conventions to infer the semantic version of your project
- https://github.com/DbUp/DbUp - Simple and effective database upgrade utility
- https://github.com/funnelweblog/FunnelWeb - .NET blog engine which uses markdown
There are a few other small projects. small contributions to other projects and projects I no longer maintain. I hope this inspires you to get involved, much of this is done out of need. I need to solve a problem I have, if there is not a library already which I can just enhance then I can create my own.