Skip to content

Instantly share code, notes, and snippets.

@paresy
paresy / tzdata.patch
Created Aug 28, 2020
simplify tzdata folder structure
View tzdata.patch
diff -ur buildroot/package/tzdata/tzdata.mk buildroot-patched/package/tzdata/tzdata.mk
--- buildroot/package/tzdata/tzdata.mk 2020-08-26 21:07:57.000000000 +0200
+++ buildroot-patched/package/tzdata/tzdata.mk 2020-08-27 16:54:38.000000000 +0200
@@ -41,18 +41,13 @@
define TZDATA_INSTALL_TARGET_CMDS
$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/share/zoneinfo
cp -a $(HOST_DIR)/share/zoneinfo/* $(TARGET_DIR)/usr/share/zoneinfo
- cd $(TARGET_DIR)/usr/share/zoneinfo; \
- for zone in posix/*; do \
- ln -sfn "$${zone}" "$${zone##*/}"; \
@paresy
paresy / switchoff.service
Last active Apr 13, 2020
Start service for switchOff
View switchoff.service
*** Install with...
sudo nano /etc/systemd/system/switchOff.service
sudo systemctl start switchOff
sudo systemctl enable switchOff
*************************************
[Unit]
Description=SwitchOff Tool
After = NetworkManager-wait-online.service network.target network-online.target dbus.service
Wants = NetworkManager-wait-online.service network-online.target
@paresy
paresy / switchOff.c
Last active Apr 13, 2020
Monitor X11 display activity and disable HDMI on inactivity (Raspberry Pi)
View switchOff.c
//Install dependencies: sudo apt install libxss-dev
//Compile with: gcc -o switchOff switchOff.c -lXss -lX11
#include <X11/extensions/scrnsaver.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
int main(void) {
Display *dpy = NULL;
@paresy
paresy / srp6a.php
Last active Feb 18, 2018
SRP6a PHP
View srp6a.php
<?php
//Docs: http://srp.stanford.edu/design.html
//Test Vector: https://github.com/wolfSSL/wolfssl/issues/18#issuecomment-83941582
//Copyright: Michael Maroszek
//Hint: The old version used BCMath with was 100 times slower!
//Modulus
$N = "FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 29024E08 8A67CC74
@paresy
paresy / gist:236bfbfcb26e6936eaae919b3cfdfc4f
Last active Dec 3, 2019
Best Practice zur PHP-Modul Erstellung
View gist:236bfbfcb26e6936eaae919b3cfdfc4f

Best Practice zur PHP-Modul Erstellung

  1. Generelle Entwicklung
    1. Module sollten grundsätzlich auf Englisch erstellt und ins Deutsche übersetzt werden
    2. Fehlermeldungen dürfen mit @ nur verdeckt werden, wenn der Rückgabewert überprüft wird und bei einem echten Fehlerfall dies dem Nutzer mitgeteilt wird. Andernfalls findet man im Fehlerfall den Verursacher niemals heraus. Sichtbare Fehler können behoben werden. Unsichtbare Fehler bringen inkonsistentes Verhalten und frustrieren nur alle beteiligten.
    3. Daten, welche der Benutzer nicht benötigt, sollten auch nicht in Variablen erscheinen (z.B. irgendwelche Puffer / Temporäre Inhalte in String Variablen). Dafür bietet das SDK die SetBuffer/GetBuffer Funktionen, welches über eine JSON Kodierung auch mehrere Elemente enthalten können.
  2. Der Inhalt der library.json / module.json darf nur die von der Dokumentation definierten Felder enthalten. Andere Felder können in zukünftigen Version seitens IP-Symcon verwendet werden und sind vollständig r
@paresy
paresy / functions.ips.php
Last active Sep 8, 2020
Generated Functions for IP-Symcon 5.5
View functions.ips.php
<?php
$_IPS = array (
'SELF' => 0,
'SENDER' => '',
'VALUE' => 0,
'OLDVALUE' => 0,
'OLDUPDATED' => 0,
'OLDCHANGED' => 0,
'VARIABLE' => 0,
@paresy
paresy / generate.php
Last active Sep 8, 2020
Build PHP functions stubs for PHPStorm inclusion
View generate.php
<?php
/**
* Copyright: Michael Maroszek
* Version: 1.3, 07.08.2019
* Requires: IP-Symcon 5.2 or newer
*/
echo "<?php" . PHP_EOL . PHP_EOL;
View gist:3cbd4c6a469511ac7479aa0e7c42fea7
#include <stdio.h>
#include <iostream>
#include <thread>
#include <list>
#include <sapi/embed/php_embed.h>
int main(int argc, char* argv[]) {
int threadCount = 5;
@paresy
paresy / gist:5b32edb60039a66bce6aaeadbb6513a7
Last active Apr 13, 2020
Patch elographics for our elotouch screen
View gist:5b32edb60039a66bce6aaeadbb6513a7
*** Enable src deps...
sudo nano /etc/apt/sources.list
sudo apt update
*** Install package deps
sudo apt build-dep xserver-xorg-input-elographics
*** Download package source (without root!)
apt source xserver-xorg-input-elographics
*** Apply patch inside xserver-xorg-input-elographics-1.4.1 folder
patch -p1 < xxx.patch
*** Rebuild package inside xserver-xorg-input-elographics-1.4.1 folder
@paresy
paresy / crash.cpp
Last active Nov 26, 2020
PHP 7.3 ZTS Embed Example
View crash.cpp
#include <iostream>
#include <thread>
#include <main/php.h>
#include <main/SAPI.h>
#include <main/php_main.h>
#if defined(ZTS)
ZEND_TSRMLS_CACHE_EXTERN();
#endif