Latest posts
Setting up a django project with uWSGI
In this article, we will see how to setup a django project with a uWSGI server for production usage. In the past I have only been using the internal development server provided directly in django for my test projects, but that development server should definitely not be used in production: instead, setting up a wsgi connection behing a proper web server such as Apache or nginx seems to be the recommanded way to proceed for production setup.
Also, in the process, I'm also now using a MariaDB backend for the database instead of a simple sqlite3 database: again, this seems to be the recommended path in production, so we will see how to set this up too.
NervLuna: Refactoring of types handling mechanism
So after my last session trying to add more folders as input for the nvCore bindings generation I eventually realized that there was something fondamentally wrong in the way I was handling “types”. This lead me to a large refactoring session and now we will review in this article the major changes introduced and the problems fixed in the process.
NervLuna: Adding more input folders for nvCore bindings
In this long and terrifying blog post, I was basically just trying to send all the input folders I have as headers in my nvCore module for binding generation with nervluna… trying to add the folders one by one and fixing the problems as their occur progressively. That was really tedious And desperating… And frustrating… But anyway: not much choice here: if I want to build something usable, then I should at least be able to generate the bindings for a single of my existing module, no ?! [and actually, that would only be the “beginning” lol]
In the end, I got all (well, “almost all”) headers parsed, and the binding generator was not crashing anymore. Yet, the resulting code is still not compiling because I'm facing some issues with the type names etc. But I really think I should keep that part for another article, so more on this in another episode
So, not sure anyone would find it interesting to read the following, but at the very least, I can keep this as reference in case I need to remember why I did something somehow etc.
Building the new NervTech logo
So here we go, now I should really be able to build a logo for NervTech that will look nice and be my property! Using my new nvdraw app of course
NervDraw: Building a RaphaëlJS rendering web app
I desperately need a way to render SVG content quickly to PNG or another raster format to generate a logo. But I couldn't find any free tool online to achieve that. This makes me terribly angry at the world… lol… and at the same time this is giving me enough energy to try to build that missing app myself! . Let's get to work!
NervCode: Initial Virtual Keyboard display
So today we continue with our NervCode project implementation: so far we have only implemented some minimal support to display our “function objects”, with default names such as “function1”, “function2”. But one thing we will need very quickly is the support to accept more user inputs, such as keyboard inputs.
Yet, one of the key idea in this project is to get rid of the standard inputs mechanism with “keyboard and mouse” and try to provide an alternative solution that would be more “mobile friendly”. And thus, what I have in mind concerning this point is to provide some kind of “Virtual keyboard” around the user location when needed, so that we could keep typing characters even if there is no keyboard available. Let's see how we could implement this…
HomeCtrl: a touch of security
In our previous article we discussed the initial construction of the HomeCtrl project. The result of that is that currently, anyone sending a post request to the correct URL mentioned in that other article could basically trigger the opening of our entrance gate. [OOooopss…]
Clearly, from a security perspective, that is not so good So I was thinking we could try to do something about it here…
Controlling our entrance gate from android app
Okay so, there is a “little home project” I would like to quickly setup here: we are currently using remote controls to open/close our entrance gate [just as most people do!]. But now I'm thinking I could try to push this a bit further and implement a custom mechanism to control the opening of the gate from the Internet éh éh éh [I know: not the most secured thing to do on earth, but we'll get back to that point another day].
If I can do that, then I could create a minimal android app that I could install on our family phones to open/close the gate with a simple button press! That would be great [and fun at the same time]… So where should we start ?
Blog History
2020
August
July
- 28 - NervLuna: Adding more input folders for nvCore bindings
- 13 - Building the new NervTech logo
- 09 - NervDraw: Building a RaphaëlJS rendering web app
- 07 - NervCode: Initial Virtual Keyboard display
- 01 - HomeCtrl: a touch of security
June
- 30 - Controlling our entrance gate from android app
- 23 - Building the basic FunctionObject
- 19 - NervLuna: generating bindings for nvCore - second run
- 18 - NervLuna: Handling C++ operators
- 17 - NervLuna: Fixing generated file names
- 15 - Generating bindings for the nvCore module
- 12 - NervCode: an innovating coding environment
- 10 - Support for const and static fields in NervLuna
- 09 - Adding support for fields inheritance in NervLuna
- 01 - Introducing NervLuna: the automatic C++/Lua binding generator
April
- 25 - JIT Compiler with LLVM - Part 5 - Bitcode, PCH, exceptions handling, module linking and more...
- 18 - JIT Compiler with LLVM - Part 4 - CRT dependency
- 16 - JIT Compiler with LLVM - Part 3 - Fixing the ModulePassManager crash
- 14 - JIT C++ compiler with LLVM - Part 2
- 10 - Dynamic C++ compilation with LLVM & clang
December
- 30 - Compilation ICU 65.1
2019
March
- 15 - Construction d'un cadre de lit
- 10 - Introduction to Deep Q-Networks
- 09 - Model-based policy networks
- 09 - Multi-actions vanilla policy Gradient
- 08 - Full policy Gradient agent for Reinforcement Learning
- 07 - Simple Policy gradient Training on armed bandit
- 05 - QNetwork learning
- 05 - Probabilistic QTable learning
- 04 - Simple QTable learning
February
January
- 12 - Using tensorflow queue system with CIFAR dataset
- 04 - SpinLock implementation in C++
- 03 - CIFAR-10 convolution network with batch normalization
- 02 - Recovering deleted GIT branch
- 01 - MNIST convolution network
2018
December
- 30 - MNIST Multilayer Perceptron network
- 30 - Simple MNIST Logistic regression
- 29 - Tensorflow setup - Second trial
- 28 - Upgrading Nvidia Drivers on Ubuntu
- 27 - Tensorflow install adventures
- 27 - String IDs in C++
2017
November
September
- 25 - Building Boost libraries for Android platform
- 24 - Cross-compile native mingw compilers for windows
- 21 - Setup Ragnarok map on ARK server
- 18 - Building Mingw64 compiler from sources on Linux
- 13 - Cross compiling C++ libraries for Android with CMake
- 08 - Crypto mining on solar panels
- 03 - Mon premier post