Skip to main content

Posts

Vacation pictures of my trip to indonesia - pt. 1

On my first trip to Indonesia i was here for almost three weeks and we had the luxury of seeing parts of the country. For a few days we went to Ahmed on Bali, a popular diving spot. Where you can find the liberty wreck. After that we went back to the main island Java, where we went to Batu. In this small town you will find one of the largest Zoo's where you can walk literally for hours.

Managing computers with mcollective

MCollective or 'Marionette Collective ' is a framework to distribute parallel commands to a cluster of computers. You can basicly compare it to remote execution except the framework is organized to work the commands in parallel. Via a simple plugin structure of ruby it is relatively easy to write your own commands. Marionette Collective works on top of a message queue broker, you can pick different flavors for the broker but the most common adoption appears to be activemq. Other brokers such as rabbitmq are supported as well. With MCollective there are basicly two configations 'server' and 'client', contrary to terminology, 'server.cfg' is used for the deamon service. In this configuration file you configure what queue on the broker the deamon connects to receive commands. In the 'server.cfg' you configure the queue on the broker to send the commands. So in short: server.cfg is for the command-line client,  client.cfg is for the deamon proces...

Roadtrip germany

On our way to a road-trip headed to Germany, Frankfurt amz Main. We had the chance to stop by for one of my favorite foods as a child: Curry-wurst with fries. This brings back so much memories where we'd often go spent the Christmas weeks in Germany, going over the Christmas markets/fairs and enjoying the hot curry-wurst from the stands with snaps or gluhwein. Of course during a road-trip one cannot stop to have a little lunch too, yummie pie and sandwhich

Build system hunger

So the past week(s) I've been revisiting the tools architecture in my engine. Some of the tools have ended up getting both a visual makeover as well as fundamental changes under the hood. Part of my tooling that care of asset compilation and verification has gone through several of those iterations. https://www.dropbox.com/s/qzq7cn705hepnae/cli-interface.PNG?dl=0 But the last week in particular I've been looking into build systems and embedding python after having gotten wind of  google's bazel. My first impression of bazel is that it is quite elegant in the way builds are described declaratively, as well as the technology coined behind it. Incidentally, they seems to have opted for a similar strategy as my own asset management system. Both systems employ services that uses a database to store associated meta-data. And it uses the meta-data to ensure the smallest/fastest build. Now of course while I don't have several terabytes of art data to process, my small...

Murphy's law when creating cross compiler for windows.

Out of curiosity I got a bit intrigued with a concept known 'cross compilers'. Essentially this is a compiler that is compiled under to run under one platform (host), that outputs executable files and linker archives that are consumable by another (target). For those familiar with console programming, this brings us a step closer to devkit es-queue workflow; where we just use the device to run content as opposed to producing content on it. One of the huge advantages this offers is that the development platform can remain fixed. For me personally that means I can keep using Visual Studio; and use all the development tools which makes me productive. It also means that my development platform needs only to be functional for a single target which I'd argue is more friendlier on the developer as opposed to running virtual machines; familiarizing with all of it's tools. So with the recent announcement of Steam-OS; I thought this was a good time, to play around with a small ...

Choosing your place in memory

Memory management is a serious business, in modern computing the costs of using memory is a bit biased from the user by utilizing the wasteful clock cycles on other operations. Performance related issues regarding memory can root to two common problems. First problem is cost of allocation. Often default supplied allocators like the one found in STL rely on the default implementation of malloc which doesn't always have optimal performance due thread-safety. Another problem is fragmentation, frequently allocating/deallocating causes holes of 'unusable' memory.