Hey that's me

end2end zone

My life dumped to a web site

end2end

15-Minute Read

Introduction

This post explains all the instructions required in order to get started with c++ no macOS 10.15 Catalina.

This article assumes that you already have access to a macOS image ISO file and that you already created a macOS virtual machine in VirtualBox.

Update macOS with latest security updates and bug fixes

Following macOS Catalina 10.15 installation, it is best practice to update the Operating System with the latest software & security update.

end2end

4-Minute Read

Introduction

This post is about a decade old problem: how to properly encode command line arguments. Properly encoding string arguments into a long command line should not be a complicated issue. However, I have seen multiple situations where people wrongfully assume that wrapping each argument with double quotes is ‘safe enough’ for most situations. That is simply not true.

This article is about the C++ library libArgvCodec which properly encodes and decodes command line parameters.

end2end

7-Minute Read

Introduction

The following article is about my new c++ library: libVariant. The library allows one to easily store/encapsulate a value of any c++ type into an instance of type Variant. The library is useful for declaring objects, interfaces, APIs or plugins to be type-independent.

Skip to the download section for quick download.

Purpose

The libVariant library allows one to create an instance of Variant class. The class is a type safe and value safe union between all known basic c++ types. An instance of a Variant class encapsulates a single value of any c++ type: signed and unsigned integers, floating points & strings.

end2end

7-Minute Read

Introduction

The following article is about my simplest library that I wrote for the arduino: SoftTimers. The SoftTimers arduino library allows one to properly time multiple events and know when each “timer” expires meaning that an action is required.

Skip to the download section for quick download.

When I first learned programming the arduino, I learned the “hello world” of the arduino: turning a LED on and off. As expected, I used delay() to define how long the LED should be on and off.

end2end

3-Minute Read

Introduction

The following article is yet another library that I have written. libMIDI is a c++ library for generating single tone melodies (monolithic melodies) in MIDI format.

Skip to the download section for quick download.

Purpose

I mostly develop on the Windows platform. When I try to generate basic sounds and tone, I use the Microsoft Beep function. This API is quite old and is far from accurate when dealing with multiple short duration tones (less than 100ms). Also when you make two consecutive calls to the Beep() function will ear a tick sound between each calls.

end2end

9-Minute Read

MSBuildReorder

Please note that MSBuildReorder source code is now moved to GitHub. Source code can be downloaded from the project’s GitHub page.

MSBuildReorder is a tool for “reordering” (buildorder) a multi-process C++ build log. It allows a developer to convert the build log as if it was generated with a single processor.

Building a solution that has multiple projects can quickly become bloated with too many lines that are not related to each other. For this reason, finding the actual cause of a build fail is harder than it should be. MSBuildReorder is able to read the log and reorder the projects in a sequential order.

end2end

6-Minute Read

bin2cpp

Please note that bin2cpp source code is now moved to GitHub. Source code can be downloaded from the project’s GitHub page.

bin2cpp is a command line tool for embedding small files (like images, icons or raw data files) into a C++ executable.

It’s main features are:

  • Easily converts small files as C++ source code for embedding into a C++ executable.
  • Content extraction supported by a unique function call for each embedded file.
  • Supports a multiple embedded files at once.
  • Makes it harder for resource hacker to modify or steal the embedded files.
  • No third party libraries required for retrieving the data of the embedded files.

bin2cpp is not implemented using executable resources. Instead, bin2cpp creates multiple function calls for retrieving the data which makes it harder to steal the executable’s content. It also makes it even harder to replace an existing resource of the executable.

Recent Posts

Categories

About

Hey! I'm Antoine author of end2end zone. Take a couple of minutes to get to know me a little better.