Build tools

So, I’ve been learning about some software engineering tools so that I can make my life easier while developing:

jitpack.io and https://travis-ci.org

jitpack makes it super easy to depend on a repo that is able to be built using gradle or maven.

travis-ci does continuous integration for your projects.  This means that if you are testing your code you will be doing it all the time.  And well I’m still not sure how to create test cases for mason as it doesn’t necessarily create the same output every time.  So…  But it is still cool.

Automatic Dependency Injection

We need a source code analyzer that looks at the includes, imports, requires etc. in the source code and the functions that are used is able to extract the correct dependencies in order to compile and run the program.  This would save a ton of time in open source development.  I think this is possible too.  This could also be used to help developers to move to new versions of their dependencies.

Then in the future for dependency injection, users would not even need to specify the specific libraries or versions.  Could be inferred from how the methods are used in the code.  I think this is essential for more complicated programs.

TurboJpeg to get yuyv images

This uses the turboJpeg library to do a decoding of a compressed jpeg to yuyv.  TurboJpeg already converts the jpeg image to YUYV which is YUV 4:2:2 which is totally awesome since that is what we want!!

Can get libjpeg which comes with turboJpeg here and then do:

sudo dpkg -i libjpeg-turbo-official_1.4.1_i386.deb

To compile your stuff check out the makefile. Mainly do:

gcc drew.c /opt/libjpeg-turbo/lib32/libturbojpeg.a -I /opt/libjpeg-turbo/include/

So, it looks like it should be easy to add in this to get the speed up for our camera.

It was easy to use, however I only got 15 frames/second!  We need around 30 fps. 🙁

UPDATE: I got 30fps we are doing auto exposure which was slowing it down!!

Java 3D and Mason

Well I got MASON installed and working.  The 3D simulations are pretty neat.  But you need to get Java 3D and install it.

Some things to remember to speed the process of setting up netbeans for MASON would be that in order to add dll files you need to add something like:

-Djava.library.path=”C:Program FilesJavaJava3D1.5.1bin”

to the VM options in the run section of the properties of the project.  Also, you must remember to add the 3D Java jar files to the libraries section.  Otherwise you can just follow the tutorial here to get started.

We intend on using MASON as our test bed for the identification of swarms using the Shapley value idea.

OpenCV

Well, I am learning OpenCV for my Advanced AI project.  I was never that into computer vision stuff, but its something new and might come in handy someday.

I got my eclipse environment set up and ran their sample app.  (I had to use -L/usr/lib not /usr/local/lib like they say)  Now am going to go through some of the simple core examples so that I can get an idea of how opencv works.