Skip to content

Instantly share code, notes, and snippets.

View abelardojarab's full-sized avatar

Abelardo Jara-Berrocal abelardojarab

View GitHub Profile
@abelardojarab
abelardojarab / sysctl.conf
Created December 26, 2021 06:45 — forked from JoeyBurzynski/sysctl.conf
sysctl.conf Optimization / Ubuntu 18.04
# Kernel sysctl configuration file for Linux
#
# Version 1.14 - 2019-04-05
# Michiel Klaver - IT Professional
# http://klaver.it/linux/ for the latest version - http://klaver.it/bsd/ for a BSD variant
#
# This file should be saved as /etc/sysctl.conf and can be activated using the command:
# sysctl -e -p /etc/sysctl.conf
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and sysctl.conf(5) for more details.
@abelardojarab
abelardojarab / add_certificate.sh
Created December 22, 2021 00:15
Add the certificate of server
SERVER=jaraberrocal.readmyblog.org
PORT=2443
CERTIFICATE=/etc/gitlab-runner/certs/${SERVER}.crt
# Create the certificates hierarchy expected by gitlab
sudo mkdir -p $(dirname "$CERTIFICATE")
# Get the certificate in PEM format and store it
openssl s_client -connect ${SERVER}:${PORT} -showcerts </dev/null 2>/dev/null | sed -e '/-----BEGIN/,/-----END/!d' | sudo tee "$CERTIFICATE" >/dev/null
@abelardojarab
abelardojarab / Matrix.md
Created August 19, 2021 19:18 — forked from nadavrot/Matrix.md
Efficient matrix multiplication

High-Performance Matrix Multiplication

This is a short post that explains how to write a high-performance matrix multiplication program on modern processors. In this tutorial I will use a single core of the Skylake-client CPU with AVX2, but the principles in this post also apply to other processors with different instruction sets (such as AVX512).

Intro

Matrix multiplication is a mathematical operation that defines the product of

@abelardojarab
abelardojarab / producer-consumer
Created August 18, 2021 23:07 — forked from ictlyh/producer-consumer
Producer and consumer demo in concurrent queue. c++ multi-threading.
// concurrent-queue.h
#ifndef CONCURRENT_QUEUE_H_
#define CONCURRENT_QUEUE_H_
#include <queue>
#include <thread>
#include <mutex>
#include <condition_variable>
template <typename T>
Go 1.10.3 vs 1.11beta3
Linux Firefly3399 4.4.138 #3 SMP Sat Jul 21 18:29:19 EST 2018 aarch64 GNU/Linux
go test crypto/tls -bench BenchmarkThroughput
benchmark old ns/op new ns/op delta
BenchmarkThroughput/MaxPacket/1MB-6 215113025 30982856 -85.60%
BenchmarkThroughput/MaxPacket/2MB-6 373540806 47685945 -87.23%
BenchmarkThroughput/MaxPacket/4MB-6 662471229 64692820 -90.23%
BenchmarkThroughput/MaxPacket/8MB-6 1297366168 121892691 -90.60%
@abelardojarab
abelardojarab / install-ivona-sapi-tts.sh
Created June 4, 2021 05:34 — forked from icaromag/install-ivona-sapi-tts.sh
Install the Ivona / SAPI Text To Speech solution
# set the arch [IM]
sudo dpkg --add-architecture i386
# add the repos [IM]
sudo add-apt-repository -y ppa:wine/wine-builds
sudo add-apt-repository -y ppa:ethanak/milena
# update the deps [IM]
sudo apt-get update
sudo apt-get -y upgrade
@abelardojarab
abelardojarab / banned_extensions_vscodium.md
Created May 13, 2021 21:59
Banned extensions for VSCodium
code-gnu-global
copilot-vscode
CppSnippets
cpptools
csharpfixformat
docker-linter
dot
final-newline
flask-snippets
@abelardojarab
abelardojarab / mesa-build.sh
Created April 27, 2021 21:46 — forked from baryluk/mesa-build.py
Mesa git amdgpu build 64-bit and 32-bit for Debian testing and unstable, and possibly Ubuntu, Mint, PopOS, etc
#!/bin/bash
# A simple script to build 64-bit and 32-bit Mesa and vkpipeline-db
# on amd64 Debian testing, Debian unstable, and possibly some Ubuntu
# with some tweaks.
#
# A situation with LLVM on Ubuntu was (is?) not perfect, so you are on your own.
#
# If you do not want to or can not use it, modify the script to install and use
# other LLVM and update LLVMVERSION variable below.
@abelardojarab
abelardojarab / set-up-chromium-keys.md
Created April 23, 2021 03:19 — forked from cvan/set-up-chromium-keys.md
Launch Chromium with API Keys on Mac OS X and Windows

Sometimes you need to use API Keys to use things like the Speech API. And then you Google a bit and follow all the instructions. But the Chromium Project's API Keys page does a not-so-great of explaining how to do this, so I will.

  1. Download Chromium.
  2. You'll notice a yellow disclaimer message appear as a doorhanger: Google API Keys are missing. Some functionality of Chromium will be disabled. Learn More.
  3. Clicking on that link takes you to the confusing API Keys docs page.
  4. If you aren't already, subscribe to the [email protected] mailing list. (You can just subscribe to the list and choose to not receive any mail. FYI: the Chromium project restricts the APIs to those subscribed to that group - that is, Chromium devs.)
  5. Make sur
@abelardojarab
abelardojarab / make_current_arm64_rpi_kernel_debs.sh
Created March 9, 2021 03:04 — forked from satmandu/make_current_arm64_rpi_kernel_debs.sh
Make arm64 deb packages for the offical Raspberry Pi Foundation arm64 kernels + NOW INSTALLS headers package too.
#!/bin/bash -x
# make_arm64_rpi_kernel_debs.sh
# Builds arm64 debian packages from the CURRENT rpi firmware repository kernel which is installed by:
# sudo rpi-update
# This runs on an arm64 host with arm64 compilation tools...
# or with some sort of cross-compilation setup.
# Debs are put in $workdir/build
#
# This will NOT work in Raspbian unless you have an arm64 compilation
# environment setup. Appears to work on