Happy New Year! Once again it's that time for the list of software products I used throughout the past year. Although there's a fair few new entries, overall there's not a huge amount of change given Cyotek's current technology focus.
(This list has grown over time and could probably do with some form of better grouping and ordering. For now, categories are fairly ad-hoc and nothing is in any particular order)
Operating Systems
- Windows Home Server 2011 - file server, SVN repository, backup host, CI server
- Windows 10 Professional - development machines
Windows Vista (virtualized) - testing
- New! Windows 7 (virtualized) - testing
- Postman is a absolutely brilliant client for testing REST services
- Visual Studio 2015 Premium / Visual Studio 2017 Enterprise - best IDE bar none
- DotPeek - a decent replacement to .NET Reflector that can view things that Reflector can't, making it a worthwhile replacement despite some bugs and being chronically slow to start
- New! NDepend - static code analysis. I have quite a love / hate relationship with this application; so much so that I barely use the user interface at all and rely on reports published to Jenkins as part of a common build pipeline
Visual Studio Extensions
- OzCocde - despite the change to a subscription model this is just barely hanging onto being my number one tool and remains an exceptional debugging aid (although Resharper is catching up)
- Cyotek Add Projects - a simple extension for easily adding multiple projects to your solutions. I don't use this as much now as I've converted most of my libraries into NuGet packages
- EditorConfig - useful for OSS projects to avoid space-vs-tab wars and now built into Visual Studio 2017
- File Nesting - allows you to easily nest (or unnest!) files, great for TypeScript or T4 templates
- Open Command Line - easily open command prompts, PowerShell prompts, or other tools to your project / solution directories
- VSColorOutput - add colour coding to Visual Studio's Output window
- Indent Guides - easily see where you are in nested code
- Resharper - this is also starting to offer OzCode features which should be interesting in future
- NCrunch for Visual Studio - frequently updated automated parallel continuous testing tool (there's a mouthful). Works with NUnit, MSTest and a variety of other test systems. Great for TDD and picking up how a simple change you made to one part of your project completely destroys another part. Although Resharper has offered continuous testing options for a while now, I still think NCrunch is the superior offering
Analytics
Innovasys Luminitix (Link Removed) - unsupported and hasn't been updated in years
- New! Unnamed Analytics. After dropping Luminitix, I replaced the data collection with a home grown solution, although I've yet to write a front end to look at the data effectively
- New!
Piwik Matomo - currently trialling this web based analytics software on cyotek.com
Profiling
- dotTrace - although I prefer the ANTS profiler, dotTrace is a very usable profiler and given it is included in my Resharper Ultimate subscription, it's a no-brainer to use
- dotMemory - memory profiling is hard, need all the help we can get
Innovasys Document! X - Previously we used this to produce the user manuals for our applications, however had since moved to an home built solution
- HelpWrite - the first application offered by Ariad in the mists of time, now reincarnated and producing no-frills documentation from simple markdown and YAML
- Atomineer Pro Documentation - automatically generate XML comment documentation in your source code
- MarkdownEdit - a no frills minimalist markdown editor that
is was actively maintained and Just Works
- Notepad++ - because Notepad hasn't changed in 20 years (moving menu items around doesn't count!)
Continuous Integration
- Jenkins - although the UI is fairly horrible (Jenkins Material Theme helps!), Jenkins is easy to install, doesn't need a database server and has a rich plugin ecosystem, even for .NET developers. I use this to build, test and even deploy. TeamCity may be more powerful, but Jenkins is easier to maintain. Although I don't use Blue Ocean (too Git-centric and also seemed to be the cause of sporadic authentication issues), I do use common pipeline scripts to build and test our internal libraries (including creating and publishing of packages) and to generate and publish product documentation. Our core applications are still built with freestyle jobs and batch files though.
Testing
- NUnit is our test framework of choice. We stuck with version 2 for a very long time, but now the Jenkins reporting plugin we use supports nUnit 3 test results we're migrating projects to version 3 whenever they are modified for other reasons
- Paint.NET - brilliant bitmap editor with extensive plugins
- Axialis IconWorkshop - very nice icon editor, been using this for untold years now since Microangelo decided to become the Windows Paint of icon editing
- Cyotek Spriter - sprite / image map generation software that is sore need of optimisation and TLC
- Cyotek Gif Animator - gif animation creator that was shaping up nicely, although it is another application I really want to spend more time improving
Virtualization
Version Control
- TortoiseSVN - Windows Explorer integration for SVN
AnhkSVN - Subversion support for Visual Studio
- New! VisualSVN - Subversion support for Visual Studio. Unlike AnhkSVN, VisualSVN uses TortoiseSVN under the hood, meaning that Explorer and Visual Studio are always in the same state no matter where I commit from, something which used to frustrate me no end with AnhkSVN
- VisualSVN Server - Subversion Server for Windows
- GitHub / GitHub Desktop - for providing and working with the open source code we publish
- WinMerge - excellent file or directory comparison utility
- WinGrep - another excellent tool for swiftly searching directories for files containing specific strings or expressions
- FileZilla - simple FTP client that has served my needs for years now
Backups
- Cyotek CopyTools - we use this for offline backups of source code, assets and resources, documents, actually pretty much anything we generate; including backing up the backups!
- CrashPlan - CrashPlan creates an online backup of the different offline backups that CopyTools does. If you've ever lost a harddisk before with critical data on it that's nowhere else, you'll have backups squirrelled away everywhere too!
Security
StartSSL I'd already written last year about how StartSSL code signing certificates were crippled and essentially useless, but due to other serious breeches of trust, the company is now no more. In a way it's a shame as they were extremely cost effective, but at the same time I wouldn't have used them again regardless due to the code signing killswitch
- New! Comodo Although I've had extremely poor service from Comodo in the past, I've had a year of stress free SSL and Code Signing certificates from them. Lets just hope 2018 passes as smoothly
- New! Let's Encrypt provide short term SSL certificates for free. If you (or your host) are able to automate the process, this is an exceptional way to get basic SSL for your sites
- Dan Pollocks hosts file blocks your computer from connecting to many thousands of dubious internet hosts and is continuously updated
Issue Tracking
- New! Mantis Bug Tracker - over the past year I made a serious effort to more effectively plan software releases and keep track of issues, rather than just winging it. This is mostly working thanks to using Mantis Bug Tracker, although as usual WebCopy has had the lions share of development time to the extreme detriment of our other products. I also considered Jira which is more powerful, but MantisBT is simply easier to install and maintain
- New! MantisSharp - I use our MantisSharp library to add integration between various applications and our MantisBT instance, notable for raising new issues from our automated error monitor, and for creating roadmaps on cyotek.com product pages
CMS
- New! Kirby - although cyotek.com uses a custom home built CMS, I've been looking a Kirby as an alternative for some aspects such as the Knowledge Base
Other
- New! RavenDB - for years I have been fairly rabidly against NoSQL and have always been perfectly happy with SQL Server (at least until I had to work with a product that used the XML data type which, mildly, was a nightmare). When looking into how to replace Lumintix with a custom solution, I settled on saving the metrics as JSON and decided to use RavenDB to store it in. I have to say, I am really impressed with RavenDB Studio, the speed of the application is amazing and something to aspire to. Just as impressive is the speed of support by Hibernating Rhino's
- New! Kodi - I've used this for years now to watch video on various generations of Raspberry Pi. I found the Films and TV (or Movies and TV) application that ships with Windows 10 to be absolute rubbish and was very glad when Kodi became available on the Microsoft Store
- New! Rufus - I use this utility for writing ISO images to USB, useful for setting up new physical machines in an age where CD drives are fairly obsolete
- New! Win32 Disk Imager - useful for burning ISO images to SD cards which I do for Raspberry Pi distributions. I used to use this for USB as well but now I prefer Rufus for that
- f.lux - I've been using this utterly fantastic software for years. It adapts your monitor to the time of day, removing blue light as evening approaches and helps reduce eye strain when coding at night
Like what you're reading? Perhaps you like to buy us a coffee?