Welcome to the SubMain Support Portal

Our portal offers users a number of support resources, from the ability to initiate tickets and live chats with our agents to Community and self-help resources via our Knowledge Base. In addition, other resources are available for users like our Forums and YouTube channel, and, of course, you can reach out to us via our social channels on Twitter and Google+.

If you are looking to retrieve the purchased product license codes or latest product version licenses (for the eligible users), please visit the MyAccount page.

Search the Portal

Recent Articles

Team Room Problems: 5 Signs of a Toxic Code Review Culture

Many people have explored the concept of code reviews at length. They continue to be an integral part of the developer experience, for reasons I will discuss below. But, like most things that challenge us to improve, they can easily become awkward and a host for a variety of toxic behaviors. A number of articles have been written about proper code reviews, and they usually center around the idea of “being nice.” But I’m going to hone in on a few slightly different signs of toxicity in your...

SubMain News by Mark Henke
C# Comments: A Complete Guide, Including Examples

Time for another C#-related post. We’ve already covered a fair amount of the language’s keywords, types, and concepts in previous posts. Today’s post covers comments, a topic that you might think is trivial. My mission in this post is to convince you otherwise. True, comments are far from being the most exciting programming topic you could think of, I admit. And sure, comments have gotten a negative reputation over the years. But there’s more to comments than you might think. In this post...

SubMain News by Carlos Schults
DateTime.Now: Usage, Examples, Best Practices, and Pitfalls

If I were to summarize DateTime.Now using one word, it would be “don’t.” DateTime.Now is a very problematic way of retrieving the current date and time, and you should—almost—never use it. But that would make for a super short post and an incredibly unhelpful one at that. It’s not enough to say you shouldn’t use a given approach without going further to explain why it’s problematic and what to do instead. So, that’s what we’re going to do now—take a look at the dos and don’ts of DateTime.Now...

SubMain News by Carlos Schults
Software Documentation: What You Need to Document and How

Software documentation is all about bringing clarity into a code baseline. It provides clues to clarify the meaning of certain code structures. For this purpose, we use best programming practices and tools to clarify our software. When documenting software, we aim to minimize time spent hunting for meaning. We want anyone using or reading our code to know exactly what we meant when we wrote it. In addition, they should also know how to use our code without having to look for extra clues...

SubMain News by Vlad Georgescu
CodeIt.Right Rules Explained, Part 22

Welcome back to the CodeIt.Right Rules Explained series. For those of you who haven’t seen an installment in this series, let’s explain what it’s all about. CodeIt.Right is a tool that performs automated code review for .NET. It checks your code against a set of rules, giving you valuable feedback on its quality. Throughout the series, we’ve been explaining these rules, always three at a time. In every post in this series, we start with the following two rules of thumb: Never implement a...

SubMain News by Carlos Schults
Released: GhostDoc v2018.2

A minor feature update build v2018.2.19030 is now available Changes in v2018.2 GhostDoc now uses Async integration with Visual Studio with background load enabled. This minimizes the GhostDoc load on Visual Studio startup. Added new setting Options -> Solution Options -> General -> “Use tag for inherited comments”. When checked, GhostDoc will insert the tag instead of copying the base member documentation. Note: When using the , remember it is a...

SubMain News by Serge Baranovsky
5 Ways You Might Be Failing at Software Doneness

One of the most anticipated acts at a circus is the juggler—a performer who can move five or six or more balls in the air at the same time. The really complicated juggling acts, however, add something extra to wow the crowd. The juggler first climbs some stairs, high up but still close enough for everyone to see. He’s on a platform. The overhead lights are dim while one bright spotlight is on the juggler as he starts to juggle—one, two, three, four, five, and six balls moving effortlessly...

SubMain News by Vlad Georgescu
C# Interface: Definition, Examples, Best Practices, and Pitfalls

The C# interface isn’t exactly intuitive. Interfaces, in general, are common. We use them all the time. You’re using at least one interface right now as you read this article. Keyboards, mice, and screens are interfaces to your operating system. It’s the same concept with C# interfaces. In this article, I’ll start with these familiar device interfaces as a metaphor for explaining the C# interface. I’ll use examples and alert you to some of the pitfalls. You’ll also learn about industry...

SubMain News by Phil Vuollet