Monthly Archives: January 2019

I am a Technical Reviewer…

Review of APress Book “C++ Standard Library Quick Reference” from Peter Van Weert & Marc Gregoire is starting…. Chapter 3 “Containers” done…

review1

Advertisements

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.

studio

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

dx7wavestationm1d50

It’s the sound of music groups like :Michel BergerQueenForeignerEuropeGoldIndochineEnyaJean Michel JarreMylène Farmer or Duran Duran

Also  Whitney HoustonChicago,[16] Prince,[6] Phil CollinsLuther VandrossBilly 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 !

226

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...");
	}
}