Avatar of Maxwell Anderson

Decision about GitHub, Appveyor, Travis CI

Avatar of Maxgy

I recommend using Travis CI and/or Appveyor in all projects.

Projects using these tools have given me confidence to know that I don't cause any breaking changes. Travis CI and Appveyor have functionality to test components of a project across multiple installation projects to ensure that modifications don't break a project. These tools integrate easily with GitHub and are useful in open source projects that must review contributions from many different people.

10 upvotes5.5K views

Decision about Arch Linux, Linux, Ubuntu

Avatar of Maxgy

I once used Ubuntu as my exclusive Linux distro, but then I decided to switch my primary operating system to Arch Linux.

While more difficult to install, Arch Linux offered more flexibility during the installation process which allowed me to customize my system to fit me perfectly. With Ubuntu, instead of installing everything i did want, I had to remove everything that I didn't need.

5 upvotes955 views

Decision about Atom, Visual Studio Code

Avatar of Maxgy

Before switching to Visual Studio Code, I used Atom. In contrast to Atom, Visual Studio Code is faster, provides more built-in features, and fails less often.

I started using Visual Studio Code because Atom was oftentimes extremely slow on even basic tasks, and there were bugs that could freeze the entire window if you dragged something the wrong way. Atom also didn't have as many integrated features as Visual Studio Code, so I had to find all of the best extensions. Even with the right tools available, many language extensions were frequently buggy, ineffective, and slow.

3 upvotes9.4K views

Decision about Rust, C++

Avatar of Maxgy

Initially, I wrote my text adventure game in C++, but I later rewrote my project in Rust. It was an incredibly easier process to use Rust to create a faster, more robust, and bug-free project.

One difficulty with the C++ language is the lack of safety, helpful error messages, and useful abstractions when compared to languages like Rust. Rust would display a helpful error message at compile time, while C++ would often display "Segmentation fault (core dumped)" or wall of STL errors in the middle. While I would frequently push buggy code to my C++ repository, Rust enabled me to only even submit fully functional code.

Along with the actual language, Rust also included useful tools such as rustup and cargo to aid in building projects, IDE tooling, managing dependencies, and cross-compiling. This was a refreshing alternative to the difficult CMake and tools of the same nature.

1 upvote5.6K views