I just spent way too much time trying to get Linux to work with the wireless card of the newest Razer Blade 14, so thought that I would briefly document the process. The issue was that the card, a Qualcomm Qtheros QCNFA765, was found using lspci but was clearly not detected by the kernel, i.e. not showing as a network interface in ip a etc. I did try a few kernel versions between 5.10 and 5.18 but…
I recently had to parse raw Bitcoin transactions and blocks for a project and struggled to find an easy to implement documentation. I started out by following what was mentioned on the Protocol documentation and the Bitcoin Developer Reference but found that it was not as clear as I hoped and often ended up digging into the Bitcoin core source code to understand how things should be parsed. In…
This is a short post to detail what I found is currently the best way, at least for me, to use Box on Linux. I use Box mostly as a backup for various data, which I access once in a while. Unfortunately, Linux seems to be very low priority for Box and the WebDAV interface has been deprecated , which leaves Linux users in pretty bad shape. For my use case, the best I found for now to access Box is…
I recently switched to systemd to manage my startup applications, so this is a short post explaining the process. For more details, Arch Linux wiki has a detailed page about using systemd to start user applications. Non-GUI applications For non-GUI applications, the setup is very easy. Creating a .service file in ~/.config/systemd/user and using systemctl to enable the service should be enough.…
I found Knowledge Repo when looking for a simple tool to share Jupyter notebooks and it seemed to fit my needs so I decided to give it a try. At the time of writing this article the project is still in beta and is missing a bit of documentation, so this is a short tutorial of the steps I used to install Knowledge Repo. So you know where we are heading, here are a few characteristics of the…
I am currently using OCaml for part of my research and ran into more trouble than expected when trying to profile my program. This post details step by step how to compile an OCaml program using dune(jbuilder) to profile the binary using gprof. As an example program to profile, I will use a short code implementing the tak function of dear prof. Takeuchi . (* tak.ml *) let rec tak x y z = if x <= y…
In this blog post, we will cover how assertRaises in unittest.TestCase works and implement a simplified version of it. For the sake of example, let’s say we want to check that next(iter([])) raises a StopIteration error. We will use a very simple Python script to try the code import unittest class SampleTest ( unittest . TestCase ): def test_assert_raises ( self ): pass if __name__ == '__main__' :…
I recently gave a talk about Elixir 1.3 in Tokyo, and spoke about the changes, new features, improvements and all the awesome stuff coming in Elixir 1.3. I decided to write this as a blog post, with a little more details, and some links for those who want to check in more details. Here is a short table of contents: Deprecation of imperative assignment with on steroids Calendar datatypes ExUnit new…
After GitHub added plenty of shortcuts to edit markdown in the browser, I had some problem editing directly, having all the native Emacs like shortcuts overridden. I decided to use Atom to edit even more or less short comments, but the copy-pasting was becoming a bit superfluous, taking more time than it should. I therefore decided to create a plugin to simplify the process, which I named Atomic…
I have recently switched my automation workflow from Chef to Ansible, and just bumped into a simple issue. I wanted to run some commands only when the git repository had been updated, and do nothing if it was already up to date. I did not find anything in the documentation , but after looking a little at the source code, I found out that when using register , myvar.changed was set to true or false…