Quick FBX Inspector

This week I came across a simple option to inspect FBX files, something I’ve always wanted to have. It’s not a native solution or does not have fancy GUI or has a 3D viewer. It’s a framework to use the FBX SDK using .NET. The sample that comes with it, does just what I need!

At Soltegro we’re working with BIM models in the form of Revit, Navisworks or AutoCAD files. Each of these pieces of software can transform these files into FBX files, however they all do it differently. And to that end I’m looking for a way to inspect the FBX files, and it’s internal tree, before importing them into Unreal Engine 4.

You can find the tool on GitHub; https://github.com/Kolky/ManagedFBX. Thanks to returnString for the first version. 

I’ve modified it slightly to support the FBX SDK 2016 v1.1 used by Unreal Engine 4.16. And made it support FbxProperties and expanded the sample to be more versatile. I might add a WPF version of the Sample and also more FBX info in the future. But for now it does what I need!

Managed FBX Sample

AnyStatus ‘support for Jenkins MultiBranch’

Two weeks ago I came across a plugin for Visual Studio; AnyStatus. It gives you the ability to keep track of all kinds of services/servers while working in Visual Studio. It lacked the ability to track Jenkins MultiBranch projects, what we use a lot at my work; Soltegro. Since the API was straightforward and freely available in GitHub, I decided to develop it myself. And as of this week it has been merged into the Plugins dll; Pull Request 4.

The code could use some extra work, when the API introduces a better way for managing and creating sub-items. There is still discussions going on about this; Issue 2.

Allium ‘Google Analytics v3 Tracker in C#’

Lately I’ve been looking into NuGet packages and libraries on GitHub to add Google Analytics tracking in .NET WPF applications. There are quite some that offer ways to do this, see the links at the end. They all however have their limitations; either they lack support for WPF (and it’s hard to add) or they use older versions of the Google Measurements Protocol. It’s a shame that Google hasn’t released a tracking library itself! Their Analytics Reporting API is quite good!

So I’ve decided to create my own solution, Allium. As of right now, it is still WIP and untested.

Here is however an extremely simple usage example, which will not change much during development;


using (var session = new AnalyticsSession("UA-XXXXX-YY"))
{
  session.TrackScreenViewHit("ThisWindow");
}

Inspired by;

Jenkins ‘Build back to normal’

Yesterday, I finished porting our Jenkinsfile to use the new Declarative syntax. It makes the flow of processing a lot more straightforward and it’s great for handling errors and post actions. However getting everything to work again was tricky!

I was looking to send an e-mail and Office365 notification when a build returns to normal. Others updated the status of the current build during their steps, as seen on stackoverflow and here. I managed to do it slightly different without having to manage the current state;

pipeline {
  agent any
  post {
    success {
      script {
        if (currentBuild.getPreviousBuild().getResult().toString() != "SUCCESS") {
          echo 'Build is back to normal!'
        }
      }
    }
  }
}

For more details on the syntax of declarative pipelines, I’d recommend this site.

Race for the Galaxy

Acquired a new board-game; Race for the Galaxy. A card game with some bizarre complex rules. After explaining you’ll need a game or two to get used to the concepts introduced. But after that you will notice the themes and interactions between cards, which enables the game fully and gives it plenty of replay value with new combinations each game…

rftg

Registered for NK Boardgames

Together with college’s I registered for the Dutch Championship Boardgames as team “Soltegro Saboteurs”. As a team of four we’ll be playing four games individually against other players, the finishing places will be awarded points. Points from all matches will be tallied to determine the winning team! The top 3 teams will get an invitation to the European championship.

The games that we’ll be playing:

  • De Glasstraat (White Goblin Games)
  • Relic Runners (Tactic Selecta)
  • Amerigo (Queen Games)
  • Coal Baron (Bergsala Enigma)

nk

Update on 2012 resolutions…

Ok, I must confess it has been a while since I last posted. In my last post I talked about resolutions for 2012 and now I would like to give that an update. In some way I’ve worked on all of them.

In September I switched jobs, to a much smaller company; Soltegro. It gives me much more ways to grow and improve myself and bond with my colleagues. It is also a tad bit closer to home, and I can safely work from home so the commute is a lot better, giving me more time off. Instead of using that time for working on personal projects as I promised I’ve taken a second job working on mobile-, media- and games-applications. During that job I have however developed my first android app that went online in the Google Play store; MMH Calculator.

I’ve spent the spare time between my two jobs working on my prototype. It isn’t as far as I had hoped, but I’ve got 3 more weeks with some days off until the end of the year, so who knows?

New smartphone?

My 2 year-contract with T-Mobile ended in July, I then decided to wait until news came from Apple about their new flagship iPhone model. Today we received the confirmation, there is no iPhone 5 just an iPhone 4S. Don’t get me wrong it is a awesome upgrade and a sweet phone. It’s just that for a new Apple product it is not very spectacular!

Now there are several options available to me;

2012

Happy new year!

I guess 2011 wasn’t the year I would pick-up blogging! And 2012 won’t be it either…

So what will I do then with this site you might ask?

Well below are some new-years resolutions and I hope that by the end of 2012 I’ve completed all of them! Whenever I complete any of my resolution or the plans change I’ll post an update back here.

In 2011 I developed for several personal projects, found support for one project and tested out several idea’s. I had a great year with my friends playing board games and hanging out, I made quite some new friends and even went to Mexico to visit one! At the end of the year I visited my sister in Berlin and finished the year at my place with some close friends. Not bad at all!

In 2012 I will…

  1. No matter what, this year is going to be the year I will introduce my first game for a mobile platform. It looks like it is going to be Windows Phone, as development is easier and my product close to being finished! (Could start investigating PhoneGap afterwards to go multi-platform!)
  2. In late January there’s a SuperStijl event in the 013! After that event I will decide how to continue, but my voting-system for pubs and events has made a huge leap last year! If my version has enough changes with the original I will finish it for a prototype in early summer!
  3. After gaining more interest in board-games this last year I’ve come up with an idea for a Facebook/Social-media game that can be easily done with Windows Azure and Node.js. It would be good to get some prototyping off the ground and introduce it to some people to find support and help.
  4. Since November 2010 I’ve been travelling almost 2 hours a day from home to work and back and this has cost me a lot of spare-time, which could have been used to develop some of my projects! Thus another resolution will be to find either a project that can be done with less travel time or find a new job outside detachment agencies.
  5. If finding another project or job doesn’t prove fruitful there’s always another option available: do a 3 or 6 month term at a Swedish University!
  6. Something a lot more personal is losing weight, it’s not that I’m super fat but I could look a little more healthier!

I’m off, going to Breda: Limewax vs Bong-Ra vs Thrasher @ Mezz!