Posts

Showing posts from 2017

How to fix the Unbound module Graphics in an ocaml project

Image
From ~/pr/gitl/ocaml-gol In a constant effort to learn new programming languages, I'm currently trying to use ocaml , a free and open-source general-purpose, multi-paradigm programming language maintained at the Inria . It's basically an extension of Caml with object-oriented features. I'm mostly interested by its functionnal and pattern matching features but the module part of the language can be a bit difficult to understand for someone with little to none ML (Meta Language) background.   The error When trying to use the graphics module to create a graphical window and go just a little further than the simplest helloworld program, here is the result : If the project uses dune : (executable (name ocaml_project) (libraries lwt.unix graphics) ) with this code : let () = Printf.printf "Hello, world!\n";; Lwt_io.printf "Hello, world!\n";; Graphics.open_graph " 800x600";; The first times I built this project running the du

Introducing biology, a neural network-based project to handle NPCs

Image
Since now, I will try to free (or make public) a new project every month. These projects mainly come from a private incubator I handle at bitbucket.org . Original news This month, I released  biology  : a study to train a neural network to handle Non-Playable Characters. This is a C++ gui application using wxwidgets as GUI toolkit. Another dependency is libfann , a neural network library. It also need the Google Test unit test framework library to be successfully compiled. The layout of the project is handled in a way that the core of the logic can be used a a separate library called libbiology . The GUI part of the project simply use this library. 2022 Update This project is still a work in progress but is know to still build and run on debian but since I have many projects in this WIP state, it obviously takes me months to get back on this.

How to use github API on a static webpage

Image
For the new rainbrurpg homepage , I would like to dynamically add the github's repositories status, for example the last commits.

Introducing librlgl

Image
Today, I'm freeing a new rainbrurpg -related project. Its repository is now located at https://bitbucket.org/rainbru/librlgl/ . This library will be a fundamental piece in the new RainbruRPG's ecosystem, providing the graphical content of the game client. Initial news This code is designed to be used as a git submodule (as libwsmeta ) to provide dependency check and library building. The aim of this project is to define a DSL used to generate and use complete 3D worlds. Its major dependencies are mainly boost components ( system , filesystem , program-options and thread ) but it uses gtest to implement unit tests. 2022 update The project isn't hosted at github anymore. As many of my old, game-oriented projects, it is now hosted at bitbucket . Dependencies now include qtbase and libgit2 development packages. As other rainbrurpg -related projects, it also depends on boost libraries, especially its system , filesystem and thread components.

How to use MongoDB on travis-ci

Image
Using continuous integration for rainbrurph , I need the mongodb database and C libraries. Unfortunately, I had issue using it on Ubuntu Precise 12.04 LTS, the distribution used on travis-ci. To make it work, we'll have to : install database components from the official MongoDB repositories; manually build the latest release of the official C libraries; add /usr/local/ to ld.conf to make your build system discover the newly installed library.

Introducing headers-date

Image
As seen in my previous introducing posts, for example the  libwsmeta and todoSummarizer ones, I'm currently freeing some private projects. So a few weeks ago, I released a new ruby project : headers-date . When a new year starts, all headers of all projects must be updated with the new year. This project will help you search for copyright date and eventually sort these files.

RainbruRPG switched to revision 255

Image
Original news RainbruRPG revision 254 is done and since the last announcement  many client improvements have been implemented : In-game resolution change using Alt++ and Alt+- keybindings; configuration is saved after full screen status/resolution change; GUI is not scaling anymore; a temporary message prints the full screen status/resolution change; better screen resolution handling to avoid segfault on resolution change. You can download this release at github . Next release will focus on new options handling and maybe a profile gamestate. July 2022 update Since this project is now hosted at bitbucket , the old github-powered links don't work anymore. The development is very slow in these days and I can't really daily commit on this but I will try to reinstall this on my brand-new manjaro box in the next weeks. I certainly will update ROADMAP and README files at the same time.

How to modernize your autotools scripts

Image
I have many old projects using autotools as build system, but for oldest projects, some files need to be updated. Source diagram , available under a  Creative Commons Attribution-ShareAlike 3.0 Unported License