Articles in english

Item 19: Use interfaces only to define types

Tuesday, April 25, 2023

In the book Effective Java 2nd edition, the item 19 stipulates to "use interfaces only to define types" and not to use them to define constants.

Emacs Module : Test 1

Friday, March 31, 2023

Since I've heard about Emacs' Dynamic Module feature, I've wanted to try it out. This article presents a small "hello world" with this feature.

Exploring the Wildcard Capture Pattern in Java Generics

Saturday, March 25, 2023

While I was reading the Java Specification and Java Tutorials, I stumbled upon the "wildcard capture pattern" and the "Object cannot be converted to CAP#1" error.

When Good Code Goes NaN: How mismanaging Java's Unorderable NaN Value led to a bug

Friday, March 24, 2023

I recently encountered a bug which was caused by a NaN value in my Java code. NaN, short for "Not a Number", is a valid value for a float or a double. NaN is a tricky value because (1) it spreads like a virus and (2) it is unorderable.

Dumping a binary file with od(1)

Tuesday, November 08, 2022

I was recently working on an embedded device that provided a limited CLI interface and was looking for an utility to dump a binary file.

I was aware of hexdump(1) but alas, it was not available on my platform. That is how I discovered od(1).

Reducing PDF filesize with the Command Line using Ghostscript (gs)

Wednesday, April 13, 2022

I use the following command line to reduce the PDF filesize:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf

This command line can be used to reduce the PDF filesize on Linux.

Emacs #filename# ???

Friday, December 25, 2020

Sometimes Emacs saves a file under #filename# instead of filename. That's because of auto-save. To disable this behavior while keeping the benefit of auto-save enable auto-save-visited-mode.

How to check ssh public key fingerprints?

Thursday, February 15, 2018

The authenticity of host omecha.info (89.234.176.136)' can't be established.
ECDSA key fingerprint is SHA256:v7u4albDUtGH1EXWEwlt0KnzY9GDY5EqodUymKSbiSw
Are you sure you want to continue connecting (yes/no)? 

If you have ever used SSH, you have encountered this prompt. If you often SSH to new machines and you are like me, you probably type 'yes' without thinking about it.

In this article I describe how you can check your SSH fingerprints.

SSH escape commands for fun and profit

Wednesday, June 21, 2017

We can never say it enough, but OpenSSH is an amazing tool. Lately, I have been playing with VMs and a friend of mine showed me some really cool tricks with SSH. The SSH escape ~ commands!

How to get started in infosec?

Tuesday, May 30, 2017

I am keeping here a a list of all articles I find on "getting started in infosec" and try to summarize their content in one list. This is not really meant to be public, it is just for me to centralize all this information.

org-capture freezes emacs on OpenBSD

Sunday, December 11, 2016

I've switch recently to OpenBSD and I noticed that org-capture no longer worked. Worst, it freezes my emacs session, which is something that should never happen. So, time to do a little Emacs Debugging Session !

Update 2021-07-14: We fixed this issue with jca@: https://marc.info/?l=openbsd-ports&m=162628497223780&w=2

Beyond the tutorial : Text Classification with sklearn

Friday, October 21, 2016

The goal of this article is to show how you can go beyond the simple pipeline presented in the sklearn tutorial. I assume you've read and coded the tutorial. I start by reviewing the code, recalling how it works and pointing out few problems you might encounter when you want to develop a more complex pipeline to process text data.