Branding the Go Build

I want to make sure that I can print out the version information from my Go builds. To do this I need to embed the current version information automatically into the application when I build it. Following the information at https://blog.alexellis.io/inject-build-time-vars-golang/ and this https://stackoverflow.com/questions/11354518/application-auto-build-versioning, I have the following boilerplate:

Continue reading “Branding the Go Build”

Timing code within functions in Unity

I had to time some C# code within a function in Unity3D. Without the professional version of Unity, you don't have a profiler. The code I used was the following:

long startTime = DateTime.UtcNow.Ticks;

// some code you want to time

long now = DateTime.UtcNow.Ticks;
long tm1 = now - startTime;
startTime = now;

// more code you want to time

now = DateTime.UtcNow.Ticks;
long tm2 = now - startTime;
startTime = now;

// etc
Debug.Log("tm1 = " + tm1);
Debug.Log("tm2 = " + tm2);

This worked for me and enable me to determine which part of the code was taking the time (not the part that I was expecting!).

There may be better ways to do this, but this worked for me.

JetBrains

I've been using IntelliJ as my Java editor instead of Eclipse - and I absolutely love it! So much so that I bought a license for all of JetBrains' programmer editors! I'm still learning how to use all the functionality of IntelliJ, but I am finding my productivity has dramatically increased a few days after I started using it.

Deep Learning

The more I use Deep Learning, the more I am amazed by it. Some things which would be hard to do programmatically are easy with the right Neural Network. It feels like we are just starting to scratch the possibilities.

Swift Coding

I am programming Swift in earnest now. I am way more familiar with Objective C for building apps for Mac OS/X and iOS, but I have a few apps to write and Apple are pushing us to make the transition to Swift, so it's time to bite the bullet and use it as my primary language for a while.

It's quite nice working in a new language again. I am enjoying learning the design choices the Swift team has made in their language. There is some weird stuff, but on the whole it feels natural and sophisticated. It's great that they've open sourced it as well, so that I can potentially use it on my Linux servers. I'm not sure that it will replace Go or Python for doing any kind of Dev Ops, but it's great to have it as another option.