Skip to content

Instantly share code, notes, and snippets.

View BenMorel's full-sized avatar
🤝
Open to work. Drop me an email!

Benjamin Morel BenMorel

🤝
Open to work. Drop me an email!
View GitHub Profile
@BenMorel
BenMorel / innodb-realtime-stats.php
Last active April 21, 2023 17:10
Quick script to display InnoDB inserts/updates/deletes/reads per second in real time
<?php
/**
* Quick script to display InnoDB inserts/updates/deletes/reads per second in real time.
*
* Sample output:
*
* Inserts 40,368.63 /s
* Updates 19.98 /s
* Deletes 9.99 /s
@BenMorel
BenMorel / solve.php
Last active May 20, 2018 12:33
Solve 2 equations with 2 unknowns in PHP
<?php
/**
* Solves the following equations:
*
* a·x + b·y = c
* d·x + e·y = f
*
* Returns an array with [x, y]
*/
<?php
use Brick\DateTime\LocalDate;
use Brick\DateTime\LocalTime;
use Brick\DateTime\LocalDateTime;
/**
* Formatter for date-time classes.
*/
class DateTimeFormatter
@BenMorel
BenMorel / convert-eol.php
Created March 2, 2018 16:55
PHP line breaks converter
<?php
/**
* Converts a string using CR, LF, CRLF, or possibly a mix of these, to the given EOL character(s).
*
* @param string $text The text to convert.
* @param string $eol The line break character(s).
*
* @return string
*/
@BenMorel
BenMorel / remove-mysql-root-password.sh
Last active June 3, 2018 19:43
(Medium) Remove MySQL root password *DO NOT USE THIS ON A PRODUCTION SERVER*
password=$(grep -oP 'temporary password(.*): \K(\S+)' /var/log/mysqld.log)
mysqladmin --user=root --password="$password" password aaBB@@cc1122
mysql --user=root --password=aaBB@@cc1122 -e "UNINSTALL PLUGIN validate_password;"
mysqladmin --user=root --password="aaBB@@cc1122" password ""
@BenMorel
BenMorel / bench.php
Last active December 16, 2021 22:03
(Medium) BulkInserter benchmark
<?php
/**
* Benchmarks BulkInserter at various batch sizes.
*
* Before running this script, make sure to:
*
* - set your PDO parameters in this file
* - run composer install
* - import setup.sql into your database
@BenMorel
BenMorel / server.php
Created August 27, 2017 12:15
(Medium) Sample PHP server
<?php
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($sock, '0.0.0.0', 10000);
for (;;) {
socket_recvfrom($sock, $message, 1024, 0, $ip, $port);
$reply = str_rot13($message);
socket_sendto($sock, $reply, strlen($reply), 0, $ip, $port);
}
@BenMorel
BenMorel / setup-el7.sh
Last active September 6, 2017 15:50
Quick setup of extra software on EL7 for a test environment. Note that this disables the MySQL root password, so this is *not* secure.
set -e
sudo yum update -y
sudo yum install -y yum-utils wget
# EPEL repo
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum-config-manager --enable epel
# Remi repo
@BenMorel
BenMorel / convert-utf8mb4.php
Created May 31, 2017 16:12
Generates SQL to convert a MySQL database from utf8 to utf8mb4
<?php
/* Replace with your connection parameters & database name */
$hostname = 'localhost';
$username = 'root';
$password = '';
$database = 'test';
$pdo = new PDO("mysql:host=$hostname", $username, $password);
@BenMorel
BenMorel / TextHtmlConverter.php
Created January 11, 2017 00:00
Converts plain text to HTML
<?php
/**
* Converts a text message to HTML.
*
* The following transformations are applied:
* - Special characters are encoded to HTML entities,
* - Lines of text separated by an emtpy line are converted to paragraphs,
* - Newline characters are converted to `<br>`,
* - Links and e-mail addresses are converted to HTML links,