Review of APress Book “C++ Standard Library Quick Reference” from Peter Van Weert & Marc Gregoire is starting…. Chapter 3 “Containers” done…
Monthly Archives: January 2019
Midi Recording Studio with LMMS/VST
I have been a MIDI fan and synthesizers since I was a little child. I used the Amiga 500 Steinberg Pro 24 software and Bars’n Pipes amazing software.
Now, I run on PCs and Windows. I use LMMS as the record studio sequencer application. It’s free and has the VST plug-ins features. SO I can run all the electronic instrument made by third-party vendors.
I have tried the following virtual instruments:
Korg Lengend collections ($250): https://korg.shop/korg-collection-special-bundle.html…
Arturia DX7 ($200): https://www.arturia.com/dx7-v/overview
And the legendary Roland D50 ($20 per month): https://www.rolandcloud.com/catalog/legendary/d-50
If you want to be on a “Try before buy” mode, just go on https://vstorrent.org
It’s the sound of music groups like :Michel Berger, Queen, Foreigner, Europe, Gold, Indochine, Enya, Jean Michel Jarre, Mylène Farmer or Duran Duran
Also Whitney Houston, Chicago,[16] Prince,[6] Phil Collins, Luther Vandross, Billy Ocean,[5] and Celine Dion.[17]
Article for Programmez for Feb 2019
In February 2019 issue of Programmez Magazine, you will find my article about Rootkit Command and Control software. Enjoy !
A simple Logging Library : MyLoggingLibrary
If have developed a simple logging library for console and file and multiple support of appenders. It’s called MyLoggingLibrary.
I have made it available to github: https://github.com/ChristophePichaud/MyLoggingLibrary
It was a sample for my students but it works and it’s simple to use. There is no configuration file.
// Client.cpp : This file contains the 'main' function. Program execution begins and ends there. // #include "pch.h" int main() { CAppender appender1("log"); appender1.SetLevel(Level::Debug); appender1.SetAppenderType(AppenderType::Console); // Appender 2 de type fichier CAppender appender2("log"); appender2.SetLevel(Level::Info); appender2.SetAppenderType(AppenderType::File); // Objet de configuration CConfiguration config; config.AddAppender(appender1); config.AddAppender(appender2); // Get Logger(s) "log" & use => affichage en console et écriture en fichier std::unique_ptr<CLogger> logger = config.GetLogger("log", Level::Debug); for (int i = 0; i < 10; i++) { logger->Debug("Logging a Debug..."); logger->Warning("Logging a Warning..."); logger->Error("Logging an Error..."); logger->Info("Logging an Info..."); } }