Quantcast
Channel: cyotek.com Blog Summary Feed
Viewing all articles
Browse latest Browse all 559

Tools we use - 2020 edition

$
0
0

Happy New Year! Last year was... interesting to say the least. Hopefully 2021 will be somewhat better but it seems more and more likely that we've dug our own graves and care not a whit.

With that morbid thought out of the way, here we are with another edition of Tools We Use. While I still haven't got the blog redirects switched on for the new platform, I recently upgraded that through various iterations of .NET Core, finishing with .NET 5. I also created several smaller .NET Core websites (that were also upgraded to .NET 5). On the non-development side, I finally unshackled myself from having to use Microsoft or Google's calendaring solutions, by self hosting my own CalDAV instance. Own your own data!

Looking ahead, this year I will be migrating our exception manager from a Web API / React hybrid to Blazor, along with giving our products other than WebCopy some long overdue TLC. And finally getting on with writing a game.

My slow progress at migrating from SVN to Git also continues as I refactor the mono repository to make it easier to split up using a migration tool.

Operating Systems

ToolDescription
Windows 10 (Virtualized)Testing VM (32bit and 64bit)
Windows 10 ProfessionalDevelopment environment
Windows 7 (Virtualized)Testing VM (32bit)
Windows Home Server 2011File server, SVN server, Git server, backup host, CI server. I've been thinking of replacing this with a Linux server
Windows Vista (Virtualized)Testing VM (32bit)

Development Tools

ToolDescription
DB Browser for SQLiteGUI for working with SQLite databases
dnSpySpeedy .NET assembly debugger and editor
EditorConfigUseful for OSS projects to avoid space-vs-tab wars or to configure code style rules. No need for an extension now as built into Visual Studio
NDependStatic code analysis. I run this mostly as part of CI pipelines
PostmanClient for testing REST services
Visual Studio 2019Although I use Visual Studio Code more and more, Visual Studio 2019 remains my IDE of choice
Visual Studio CodeWonderful editor, once you install enough extensions to configure it "your way". I use it for most non-.NET tasks, such as PHP or editing markdown. Workspaces that can include multiple folders are incredibly useful

Visual Studio Extensions

ToolDescription
CodeMaidCode formatting and organising. Lets be fair to ReSharper, there's nothing else available which does a better job, but CodeMaid is an acceptable substitute
Cyotek Add ProjectsA simple extension for easily adding multiple projects to your solutions. Although I use it far less now that most of my projects are packages, it is still useful
File NestingAllows you to easily nest (or un-nest) files, great for TypeScript or T4 templates
Open Command LineEasily open command prompts, PowerShell prompts, or other tools to your project / solution directories
OzCodeAn exceptional debugging aid. Things like exception predication, condition visualisation, reveal, and a data tip that doesn't suck really should be part of the core Visual Studio experience
RoslynatorC# code analyzers, refactoring and fixes. I use this to replace some of the more critical functionality I previously enjoyed in ReSharper
T4EditorI use this as a replacement for the ReSharper ForTea extension and I'm quite happy with it - it does a great job of showing me the T4 specific aspects of my templates
Visual Studio Spell CheckerAfter I found one too many spelling errors in comments and GUI text
VSColorOutputAdd colour coding to Visual Studio's Output window

Installation and Deployment

ToolDescription
Inno SetupInstaller with a wealth of features
Inno Script StudioIDE for working with Inno Setup scripts. Hadn't been updated for years but development seems to have picked up again
Inno Setup UnpackerUnpacks installations created with Inno Setup. I use this as part of the CI process to perform dependency checking

Analytics

ToolDescription
MatomoI use this web based analytics software to gain anonymous insights into cyotek.com usage
Unnamed AnalyticsAfter 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

Profiling

ToolDescription
dotTraceAlthough 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
dotMemoryAs with dotTrace it is probably time to explore alternatives if I let the ReSharper subscription lapse (yet another reason why perpetual licenses are better than the modern trend of renting software)

Documentation Tools

ToolDescription
Atomineer Pro DocumentationAutomatically generate XML comment documentation in your source code (Visual Studio extension)
HelpWriteThe first application offered by Ariad in the mists of time, now reincarnated and producing no-frills documentation from simple markdown and YAML
Notepad++My go to plain text editor

Continuous Integration

ToolDescription
JenkinsContinuous integration that 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 deploy all our products and libraries

Testing

ToolDescription
NCrunch(Visual Studio Extension) Frequently updated automated parallel continuous testing tool (there's a mouthful). Works with NUnit, MSTest, SpecFlow and a variety of other test systems. This is by far the best continuous testing tool on the market
NUnitOur test framework of choice, for no particular reason other than it was the first one we tried after getting fed up of MSTest's limitations
SpecFlow(Visual Studio Extension) I only used this for one project (my implementation of The Ray Tracer Challenge) and after I a while I really found this way of implementing tests a bit of a game changer. However, I feel that I would quickly loose my sanity if I had to write all these specifications up front and so this is still sitting in my "todo" pile to look into further

Graphics

ToolDescription
Affinity Designer++New for 2020++ Vector editing software. I thought this would replace Inkscape but it doesn't even pretend to support open formats, open an SVG file and you can only save to a proprietary format
Affinity Photo++New for 2020++ Photo editing software. I thought I would use this to complement Paint.NET but not impressed with how it tries to force you to use its proprietary format
AngelCode BMFontUtility for creating bitmap fonts. We also have a library for working with BMFont files in C#
Axialis IconWorkshopVery nice icon editor, I have been using this for untold years now since Microangelo was abandoned. However, it itself hasn't seen any updates for some years now
Cyotek GIF AnimatorGIF animation creator that was shaping up nicely, although it is another application I really want to spend more time improving
Cyotek SpriterSprite / image map generation software that is still in sore need of optimisation and TLC
Greenshot++New for 2020++ Screenshot capturing utility. Another wheel I almost reinvented but this is nice software that fits the bill. Release hasn't been updated for years even though the source repository is rife with activity
InkscapeVector graphics editing software. I've been using this on and off for years but forgot to include it on this list before now
Paint.NETBrilliant bitmap editor with extensive plugins

Virtualization

ToolDescription
Oracle VM VirtualBoxVirtualization software. I prefer this to Hyper-V

Version Control

ToolDescription
Git for Windows++New for 2020++ Git client, tools and GUI for use on Windows
GiteaSelf-hosting for Git repositories. An impressive piece of software
GitHub DesktopEasy to use Git client that masks some of the more complicated functionality. Despite the name works with any Git repository
GitHubGit hosting for our public repositories
GitKraken++New for 2020++ ~~Git client. I tried to use this, but I point blank refuse to rent software anymore and current exceptions will be phased out~~
SourceTree++New for 2020++ Git client. Far more powerful than GitHub Desktop yet nowhere near as easy to use
TortoiseSVNWindows Explorer integration for SVN
VisualSVN ServerSubversion Server for Windows
VisualSVN~~(Visual Studio Extension) 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. Stopped using as I slowly transition to Git~~

File and Directory

ToolDescription
FileZillaSimple FTP client that has served my needs for years now
grepWinAnother excellent tool for swiftly searching for files containing specific strings or expressions
HxDAnother program I've used on and off for years but omitted from this list. Useful hex editor
WinMergeExcellent file and directory comparison utility

Backups

ToolDescription
CrashPlanCrashPlan creates an online backup of the different offline backups that CopyTools does. If you've ever lost a hard-disk before with critical data on it that's nowhere else, you'll have backups squirrelled away everywhere too! A big part of the reason why I haven't upgraded our micro server to either a newer version of Windows or replaced with a Linux box
Cyotek CopyToolsWe use this for offline backups of source code, assets and resources, documents, actually pretty much anything we generate; including backing up the backups!

Security

ToolDescription
BitwardenPassword manager with a variety of clients. Syncs data
Dan Pollock's Hosts FileA hosts file blocks your computer from connecting to many thousands of dubious internet hosts and is continuously updated. A pain to update, but useful if you don't have access to something better
KeePassOffline password manager
Let's EncryptShort 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
~~Comodo~~ SectigoCode signing certificates, and domain SSL if a particular host doesn't support Let's Encrypt
Virus TotalAnalyze files for malware. It is a helpful tool, except for when you find that one given engine will flag all your submissions as malicious and then when that finally clears up another one decides to join in the "fun" instead

Issue Tracking

ToolDescription
Mantis Bug TrackerOpen source issue tracker
MantisSharpI 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 road-maps on cyotek.com product pages although as usual I haven't had much time to maintain it

Help Desk

ToolDescription
Maian SupportBasic help desk. Much easier than trying to keep track of emails

Web Browsers, Email, Calendering

ToolDescription
Baïkal++New for 2020++ Self hosted CalDAV (calendar) and CardDAV (tasks) server
DAVx5++New for 2020++ Two way sync for CalDAV data. I use this on my Android (RIP Windows Phone) phone to sync my calendar with my Baïkal instance
DuckDuckGoThe search engine that doesn't track you - I can't remember when I made the switch to DuckDuckGo as it was several years ago, but it does a great job and I rarely have to fall back to "another" search engine
FirefoxLast bastion from a Chromium world. I switched to this as my primary browser in 2018 as my own protest against Chrome's dominance (and don't get me started on Microsoft's recent ill advised capitulation)
MailStore Home++New for 2020++ Email archiving. Also I tend to find its search interface quicker and more compact than the one in Thunderbird
Microsoft EdgeI liked the Trident based Edge just fine. But at least with this Chromium version I don't need to ever install Chrome again
ThunderbirdEmail client that also supports CalDAV and CardDAV. A bit rough around the edges but preferable to Outlook and lets me store emails in maildir format

Other

ToolDescription
CalibreEbook management. Although I still prefer paper books, I don't buy them as often as I did. I tend to read on e-ink devices and Calibre makes it simple to update these
DittoClipboard manager. Another extremely useful piece of software that I have used for many, many years
f.luxI'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
KodiI'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
RavenDBStill not using this for much as I can't seem to effectively query the data from Raven Studio, and at heart I still think NoSQL is a fad. Transitioned some data back to SQL Server, the rest to follow
RufusI 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
Win32 Disk ImagerUseful 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

What tools do you find useful? I'd love to know... maybe I'll find a new gem myself!

All content Copyright (c) by Cyotek Ltd or its respective writers. Permission to reproduce news and web log entries and other RSS feed content in unmodified form without notice is granted provided they are not used to endorse or promote any products or opinions (other than what was expressed by the author) and without taking them out of context. Written permission from the copyright owner must be obtained for everything else.
Original URL of this content is https://www.cyotek.com/blog/tools-we-use-2020-edition?source=rss.


Viewing all articles
Browse latest Browse all 559

Trending Articles