Mov Blog

Mov instructions building complete systems

Dotcover in Dotnet Core

Code coverage can be a useful heuristic for determining whether code is adequately executed by a given set of unit tests. Tooling that produces code coverage will never be able to inform you how well your assertions specified, but they will give adequate information an about whether a portion of code is executed. There are numerous code coverage tools available for C#. One of them by Jetbrains and is called Dotcover.

Coding is writing

Recently a friend asked what I do for a living. For the longest time I'd had difficulty answering this question. Somehow in that moment I realized we're similar to writers.

Stop Distro Hopping

From 2005 to 2017, I hadn't been able to stick to a single installation of any Linux Desktop Distribution. Whether it was Mandrake, Debian, Slackware, Ubuntu, Fedora, SUSE, Mepis or any of the many Linux distributions I switched between. Even Windows would periodically be installed onto one of many computers. It took until 2017 for me to settle. On OpenSUSE Tumbleweed. Why did it take so long? I would argue that it was not entirely my fault. That most Linux distributions were not stable enough. Until recently there'd been the promise of an easy to use, yet stable and up to date distribution that'd never came to fruition.

Electron, Vue.js and Vuetify Guide

This post is a quick tutorial on how to create an electron-vue] application with the vuetify library. The resulting application will bundles into Windows, macOS and Linux binaries.

Compiling Source SDK on Linux

The Source SDK is a fork of Valve's internal Perforce repository containing the application code they use to build Valve's games based on the Source 1 engine. Games such as Counter Strike: Source, Team Fortress 2 and Half-Life 2.

QCon - No Moore Left to Give

Bryan Cantrill is one of my favorite presenters, so I was excited to see that he'd be giving a keynote at QCon. For a long time, computer enthuasaists have been talking about the end of Moore's law and what it means for computing. What Cantrill explains is that Moore's law is close to ending, it's not the end of the world, but developers aren't going to get the "free" performance increases we've seen in the past.

Quality Code Reviews

Code reviews are among the most important aspect of professional software development. We spend large portions of our time doing code reviews. Because they are one of the most effective forms of ensuring cohesiveness and incrementally staying up to the date with the state of a project and system.

Scoped Packages with npm-link

In the past few months, I have noticed that `npm link` and scoped packages have gone underused by my colleagues. The `npm link` command is essential for quick development. And if you're building private packages inside an organization, scoped packages can make managing and installing packages much simpler. Before we can do anything, we need a scoped package. Fortunately, it's as simple as naming the package in the following format: `@/`.

Thinkpad T520 - OpenSUSE 13.2

Getting a Thinkpad T520’s NVIDIA Quadro video card working with OpenSUSE 13.2 or other modern distributions does not have to be the hard. Many modern laptops only support video output (DVI, HDMI, Display Port) on the dedicated GPU. Fortunately, on the T520, we can easily configure Linux to use the NVIDIA video card as the primary card. Avoiding any screen tearing or other issues you're traditionally notice from the video output being copied between the integrated and dedicated graphics processors.

Building Zero-K Lobby on Linux

Though, I am no longer an avid video game player I happened to come across a real-time strategy game a few months ago. The game is called Zero-K, is freely avaliable and open source. While the game runs very well under Windows, I have experienced quite a few issues under Linux. Recently, the game had stopped working altogether and I had been unsure of why.

ScalaTest Eclipse

I tried the ScalaTest plugin Eclipse, but I couldn't get them working with my version of ScalaTest. Fortunately, there's an alternative: JUnit runners.

Project Lombok

I happened to come across http://projectlombok.org/, which is a library that adds many C#, among other features to Java. Included are "properties", the "using" statement, "structs", immutable structures, checked to uncheck exceptions, delegation, basic type inference, etc. These features are utilized via annotations and implemented as modifications to javac.

What does this code do?

Since learning Scala and Kotlin, I've been wondering why much of the code written in Kotlin and Scala has been easier to read than its respective Java equivalent.

Linux Complaints and Mass Market

Linux users complain a lot about their desktop environments. Gnome, KDE, Xfce, LXDE etc. But that's not nearly the biggest issue on the Linux desktop. The biggest issue is the complexity of packaging software and the shear work required to create a distribution.

Windows 8 Review

Been using Windows 8 for a little over 3 weeks now.

Play 2.0 with Intellij

After upgrading to Windows 8, I noticed some stability issues with Eclipse Juno. Many of the problems made Juno completely unusable on my installation.

The Linux Desktop and Package Managers

Server based Linux distributions are extraordinary. They're relatively secure, performant, reliable, fault tolerant and support a large variety of applications. Features of the operating systems make sense for large scale deployments. Everything from the setup of the file system to the way services are handled makes sense for a server. Organizations rarely realize limitations with their Linux distributions. They receive powerful and malleable operating systems that suite the needs of modern network service based architectures.

Python's Yield Keyword

One of my most missed features in Java is the yield keyword found in Python. Instead of processing an entire a collection and returning it. The yield keyword, will automatically create a lazily loaded iterable out of a function. This removes a ton of boilerplate that one would otherwise need to create an iterable.