I’ve been playing around with POSIX Shared Memory and I decided that I should write a bit on the different options when it comes to shared memory. So this is going to be a bit of a comparison between shared memory with POSIX Threads, POSIX Shared Memory objects but also a random collection of facts.
Review of Learning Game AI Programming With Lua
I was approached by Packt Publishing to checkout a new book they published called Learning Game AI Programming with Lua by David Young. They gave me a copy of the ebook and I agreed on taking a look.
I should say that when I read the title I though it will be a book about Game AI in the sense of finding your way in a maze, and stuff like that. But I was happily surprise to find that it’s about Game AI on a First Person Shooter perspective. It comes with an already setup framework that they call the “AI Sandbox” that provides an environment to actually try out the examples in a 3D rendered environment that actually look pretty decent.
Compute AES CMAC Using OpenSSL/libcrypto
When I googled on how to perform the AES CMAC calculation using OpenSSL/libcrypto I couldn’t find any code example. I was no even sure that there was support for it of libcrypto so I downloaded the OpenSSL sources and dig into them until I found crypto/cmac/cmac.c. From there it was obvious that there is support for CMAC and that it follow the *{Init,Update,Final}
pattern found in EVP api. So I give it I try and I’m sharing the basic source code here for later reference:
Comparing Hypervisors, LXC and Docker
I’ve been playing lately with virtualization technology and was struggling to understand how the hypervisors like QEMU/KVM , LXC and Docker related. So once I figured it out I decided I should write it down.
SSH Port Forwarding Through Multiple Hops [.ssh/config]
Anybody that have to work with lab at work knows the pain of connecting to them. Usually labs don’t have direct connectivity to the “regular” network and to connect to them involves a series of jumps though different machines. Just SSH connectivity is painful in those scenarios let alone port forwarding. Fortunately you can setup your ~/.ssh/config
in such a way that will automate most of it, if not all.
Rvm Install 1.9.3 Fails With ‘Configure: Error: ANSI C-conforming Const and Volatile Are Mandatory’
So you tried rvm install 1.9.3
and that fails with a cryptic ANSI C-conforming const and volatile are mandatory
… Well, here is how I solved it:
MCP23018 I2C Communication Advice
The past few pays I’ve been trying to get the MCP23018 working with the Teensy 2.0. I’m doing this to replace the firmware in my ErgoDox with my own since I can’t the the original ergodox-firmware to work. Finally I got the Teensy<->MCP23018 communication working so here is a summary of my experience.
Accessing C++ Objects From Lua
Continuing the post about lua integration with C++. Now to more serious stuff. Let’s try to write a wrapper for a std::list<int>
. Imagine that you have a std::list<int>
in your C++ that you want to share with the Lua enviroment. So both C++ and Lua can access the list.
Sublime Text 2 Integration With RVM and Rspec: Take Number 2
On a previous post I’ve talk about how to get Sublime Text 2 to honor the .rvmrc
files when executing both regular ruby and rspec.
The solution described there, as pointed out in in the comments, is non-optimal.
Correcting the old post seemed like a lot of work so I will prefer to post something new.
GDB Posix_spawn Failed on Mac OS X Mountain Lion
If you can’t debug with ddd
or gdb
on Mac OS X Mountain Lion due to posix_spawn failed
error then just run sudo gdb
or sudo ddd
instead.