Skip to content

Instantly share code, notes, and snippets.

View akostadinov's full-sized avatar

Aleksandar N. Kostadinov akostadinov

View GitHub Profile
@akostadinov
akostadinov / touchpad_toggle.sh
Created April 19, 2020 15:20
Turn on and off a libinput device.
# the above works with synaps driver
DEV="SynPS/2 Synaptics TouchPad"
# DEV="Synaptics TM3053-006"
toggle_touchpad () {
local enabled=`xinput list-props "$DEV" | awk '/Device Enabled/{ print $4 }'`
case "$enabled" in
0) xinput enable "$DEV"
;;
1) xinput disable "$DEV"
;;
@akostadinov
akostadinov / jenkins_creds_script.groovy
Last active June 19, 2024 08:50
jenkins credentials obtain on script console
com.cloudbees.plugins.credentials.SystemCredentialsProvider.getInstance().getCredentials().forEach{
it.properties.each { prop, val ->
if (prop == "secretBytes") {
println(prop + "=>\n" + new String(com.cloudbees.plugins.credentials.SecretBytes.fromString("${val}").getPlainData()) + "\n")
} else {
println(prop + ' = "' + val + '"')
}
}
println("-----------------------")
}
@akostadinov
akostadinov / fahclient.service
Last active March 18, 2020 17:31
fahclient.service
[Unit]
Description=FAHClient cruncher
After=syslog.target network.target
[Service]
Type=simple
User=fahclient
WorkingDirectory=/var/lib/fahclient
EnvironmentFile=-/etc/sysconfig/fahclient
# log will go fahclient home dir
@akostadinov
akostadinov / udp.rb
Created February 18, 2019 19:07
Ruby UDP echo server and client
# echo server
Socket.udp_server_loop(4444) do |data, src|
src.reply data
end
# client
addr = Socket.sockaddr_in(4444, "localhost")
socket = Socket.new(:INET, :DGRAM)
begin
socket.send("hello\n", 0)
@akostadinov
akostadinov / monty.rb
Created January 2, 2019 14:46
Monty Hall empirical proof
require 'test/unit'
# Read about the problem and mathematical proof here:
# http://www.greenteapress.com/thinkbayes/html/thinkbayes002.html#sec15
class MontyHall
include Test::Unit::Assertions
NUM_DOORS = 3
@akostadinov
akostadinov / prompt_include.sh
Last active May 14, 2021 11:44
bash red hat prompt on Fedora 34
function _shell_char {
if [ "$_EXIT_CODE" -eq 0 ]; then
#printf "%s" "$"
printf "$RED$shellchar$RESET"
else
# printf "$RED$FancyX$RESET"
printf "$RED$collision$RESET"
fi
}
@akostadinov
akostadinov / recaptcha.php
Created April 1, 2018 20:17
Joomla 2.5 reCaptcha patch to support 2.0 API
<?php
/**
* @package Joomla.Plugin
* @subpackage Captcha
*
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
* @note Sorry for the ugliness, just a quick patch to make this work with the 2.0 API, it also connects through TLS now. Just replace original plugins/captcha/recaptcha/recaptcha.php
*/
@akostadinov
akostadinov / _http_continue.txt
Last active March 28, 2018 12:47 — forked from trevorrowe/client.rb
Ruby Net::HTTP Expect-100 continue PUT bug
# Start the sample server. This server alternates between responding with 100-continue and
# resopnding with a 403 Forbidden. The client **should** be able to handle both responses.
$ ruby server.rb
# In another terminal window, run the client code twice. The first invocation will succeed.
# The second invocation will fail the client with an error.
$ ruby client.rb
$ ruby client.rb

A Low Level Format (LLF) means redefining physical disk layout. This is not doable by user on today's HDDs and SSDs. One usually want's to perform LLF to securely erase all data, reallocate bad sectors and/or remove malware.


[ATA Secure Erase][1]

Allows you to erase data on disk even on reallocated sectors. See:

@akostadinov
akostadinov / storj.service
Created January 6, 2018 15:09
StorJ sharing node systemd init service file
# # useradd storj
# $ install storj node as user as described in
# https://docs.storj.io/v1.1/docs/setting-up-storj-share-on-a-raspberry-pi
# * use chrony instead of ntpd (non mandatory but it is better)
# * use instructions up to start-farming.sh
# $ write this file as ~/.config/systemd/user/storj.service
# # loginctl enable-linger myuser
# # reboot
# # su - myuser
# XDG needed for https://bugzilla.redhat.com/show_bug.cgi?id=1531890