Skip to content

Instantly share code, notes, and snippets.

@bessarabov
bessarabov / gist:674ea13c77fc8128f24b5e3f53b7f094
Last active March 27, 2024 07:46
One-liner to generate data shown in post 'At what time of day does famous programmers work?' — https://ivan.bessarabov.com/blog/famous-programmers-work-time
git log --author="Linus Torvalds" --date=iso | perl -nalE 'if (/^Date:\s+[\d-]{10}\s(\d{2})/) { say $1+0 }' | sort | uniq -c|perl -MList::Util=max -nalE '$h{$F[1]} = $F[0]; }{ $m = max values %h; foreach (0..23) { $h{$_} = 0 if not exists $h{$_} } foreach (sort {$a <=> $b } keys %h) { say sprintf "%02d - %4d %s", $_, $h{$_}, "*"x ($h{$_} / $m * 50); }'
#!/usr/bin/perl
use strict;
use warnings FATAL => 'all';
use feature qw(say);
use constant MY_CONSTANT => "42";
use Cpanel::JSON::XS;
#!/usr/bin/env perl
use Mojolicious::Lite;
use Mojo::JSON qw(decode_json);
# Swagger definition
my $swagger = {
swagger => "2.0",
info => { ... }, # The full info section from your Swagger definition
... # Include the rest of the Swagger definition
@bessarabov
bessarabov / script.pl
Last active December 27, 2023 23:34
Script to generate data shown in post 'At what time of day does famous programmers work? Part 2. Workweek vs Weekend.' — https://ivan.bessarabov.com/blog/famous-programmers-work-time-part-2-workweek-vs-weekend
#!/usr/bin/perl
# This script is made to show graphs with git commit time made on workweek vs weekend
#
# The desription of this script and results of its usage is avaliable at:
# https://ivan.bessarabov.com/blog/famous-programmers-work-time-part-2-workweek-vs-weekend
#
# usage:
#
# git log --author="Sebastian Riedel" --format="%H %ai" | perl script.pl
bessarabov@bessarabov-osx:~$ cdt
bessarabov@bessarabov-osx:~/tmp/delete_after_2023-01-13$ time git clone git@github.com:git/git.git
Cloning into 'git'...
remote: Enumerating objects: 339509, done.
remote: Total 339509 (delta 0), reused 0 (delta 0), pack-reused 339509
Receiving objects: 100% (339509/339509), 209.15 MiB | 7.29 MiB/s, done.
Resolving deltas: 100% (254125/254125), done.
Updating files: 100% (4300/4300), done.
real 0m59.357s
commit 0a729b3acb0cb2f110002bef49ec43be20060c27
Author: Ivan Bessarabov <ivan@bessarabov.ru>
Date: Fri Apr 22 23:24:15 2022 +0300
Fixing telegram bot multiline commands
https://t.me/modernperl/206743
Alexander P, [22 Apr 2022, 22:44:37]:
@PerlBanjoBot
# Based on https://community.home-assistant.io/t/esphome-blitzwolf-bw-shp6-configuration/113938/13?u=bessarabov
substitutions:
device_name: bw_shp8_boiler
upper_devicename: "BW-SHP8 Boiler"
# Higher value gives lower watt readout
current_res: '0.00221'
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
- platform: google_translate
group: !include groups.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
- platform: google_translate
group: !include groups.yaml
script: !include scripts.yaml