Skip to content

Instantly share code, notes, and snippets.

View turboBasic's full-sized avatar
๐Ÿ”ฎ
Focusing

andriy melnyk turboBasic

๐Ÿ”ฎ
Focusing
View GitHub Profile
@turboBasic
turboBasic / ubuntu-systemd-log-howto.md
Last active May 10, 2020 15:58
ubuntu/systemd logging how-to #ubuntu #linux #systemd #log

Ubuntu/systemd logging how-to

Overview of event logging

View events: basic form

@turboBasic
turboBasic / ubuntu-upgrade-to-20.04.md
Created May 9, 2020 17:45
Ubuntu: log of upgrade from 19.10 to 20.04 #ubuntu #linux

Upgrade Ubuntu 19.10 to 20.04

Packages

No longer supported: libtinfo5

Remove: python-pip python-powerline python-urllib3 python-virtualenv

@turboBasic
turboBasic / list-vscode-languages.sh
Last active February 15, 2021 18:22
List languages configured in Visual Studio Code #vscode #jq #shell
#!/bin/sh
jq -n '
inputs
| {"object": . , "filename": input_filename, "lineNumber": input_line_number}
' \
$(find extensions -maxdepth 2 -type f -name package.json) \
| jq -ns 'inputs' \
| jq '
.[]
@turboBasic
turboBasic / get-ip-address.sh
Last active May 3, 2020 18:13
get-ip-address.sh
# Specify "Wireless" for wireless card and "Ethernet" for wired card
lshw -class network -json 2>/dev/null \
| jq --raw-output --monochrome-output '
.[]
| select(.claimed and has("businfo"))
| select(.description | contains("Wireless"))
| .configuration.ip // ""
'
@turboBasic
turboBasic / all-emoji-in-single-line.groovy
Last active April 25, 2020 08:34
All Emojis up to 13.0 in single string and list for easy iteration #groovy #emoji
String emojiString = '๐Ÿ˜€ ๐Ÿ˜ƒ ๐Ÿ˜„ ๐Ÿ˜ ๐Ÿ˜† ๐Ÿ˜… ๐Ÿคฃ ๐Ÿ˜‚ ๐Ÿ™‚ ๐Ÿ™ƒ ๐Ÿ˜‰ ๐Ÿ˜Š ๐Ÿ˜‡ ๐Ÿฅฐ ๐Ÿ˜ ๐Ÿคฉ ๐Ÿ˜˜ ๐Ÿ˜— โ˜บ๏ธ โ˜บ ๐Ÿ˜š ๐Ÿ˜™ ๐Ÿฅฒ ๐Ÿ˜‹ ๐Ÿ˜› ๐Ÿ˜œ ๐Ÿคช ๐Ÿ˜ ๐Ÿค‘ ๐Ÿค— ๐Ÿคญ ๐Ÿคซ ๐Ÿค” ๐Ÿค ๐Ÿคจ ๐Ÿ˜ ๐Ÿ˜‘ ๐Ÿ˜ถ ๐Ÿ˜ ๐Ÿ˜’ ๐Ÿ™„ ๐Ÿ˜ฌ ๐Ÿคฅ ๐Ÿ˜Œ ๐Ÿ˜” ๐Ÿ˜ช ๐Ÿคค ๐Ÿ˜ด ๐Ÿ˜ท ๐Ÿค’ ๐Ÿค• ๐Ÿคข ๐Ÿคฎ ๐Ÿคง ๐Ÿฅต ๐Ÿฅถ ๐Ÿฅด ๐Ÿ˜ต ๐Ÿคฏ ๐Ÿค  ๐Ÿฅณ ๐Ÿฅธ ๐Ÿ˜Ž ๐Ÿค“ ๐Ÿง ๐Ÿ˜• ๐Ÿ˜Ÿ ๐Ÿ™ โ˜น๏ธ โ˜น ๐Ÿ˜ฎ ๐Ÿ˜ฏ ๐Ÿ˜ฒ ๐Ÿ˜ณ ๐Ÿฅบ ๐Ÿ˜ฆ ๐Ÿ˜ง ๐Ÿ˜จ ๐Ÿ˜ฐ ๐Ÿ˜ฅ ๐Ÿ˜ข ๐Ÿ˜ญ ๐Ÿ˜ฑ ๐Ÿ˜– ๐Ÿ˜ฃ ๐Ÿ˜ž ๐Ÿ˜“ ๐Ÿ˜ฉ ๐Ÿ˜ซ ๐Ÿฅฑ ๐Ÿ˜ค ๐Ÿ˜ก ๐Ÿ˜  ๐Ÿคฌ ๐Ÿ˜ˆ ๐Ÿ‘ฟ ๐Ÿ’€ โ˜ ๏ธ โ˜  ๐Ÿ’ฉ ๐Ÿคก ๐Ÿ‘น ๐Ÿ‘บ ๐Ÿ‘ป ๐Ÿ‘ฝ ๐Ÿ‘พ ๐Ÿค– ๐Ÿ˜บ ๐Ÿ˜ธ ๐Ÿ˜น ๐Ÿ˜ป ๐Ÿ˜ผ ๐Ÿ˜ฝ ๐Ÿ™€ ๐Ÿ˜ฟ ๐Ÿ˜พ ๐Ÿ™ˆ ๐Ÿ™‰ ๐Ÿ™Š ๐Ÿ’‹ ๐Ÿ’Œ ๐Ÿ’˜ ๐Ÿ’ ๐Ÿ’– ๐Ÿ’— ๐Ÿ’“ ๐Ÿ’ž ๐Ÿ’• ๐Ÿ’Ÿ โฃ๏ธ โฃ ๐Ÿ’” โค๏ธ โค ๐Ÿงก ๐Ÿ’› ๐Ÿ’š ๐Ÿ’™ ๐Ÿ’œ ๐ŸคŽ ๐Ÿ–ค ๐Ÿค ๐Ÿ’ฏ ๐Ÿ’ข ๐Ÿ’ฅ ๐Ÿ’ซ ๐Ÿ’ฆ ๐Ÿ’จ ๐Ÿ•ณ๏ธ ๐Ÿ•ณ ๐Ÿ’ฃ ๐Ÿ’ฌ ๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ ๐Ÿ‘โ€๐Ÿ—จ๏ธ ๐Ÿ‘๏ธโ€๐Ÿ—จ ๐Ÿ‘โ€๐Ÿ—จ ๐Ÿ—จ๏ธ ๐Ÿ—จ ๐Ÿ—ฏ๏ธ ๐Ÿ—ฏ ๐Ÿ’ญ ๐Ÿ’ค ๐Ÿ‘‹ ๐Ÿ‘‹๐Ÿป ๐Ÿ‘‹๐Ÿผ ๐Ÿ‘‹๐Ÿฝ ๐Ÿ‘‹๐Ÿพ ๐Ÿ‘‹๐Ÿฟ ๐Ÿคš ๐Ÿคš๐Ÿป ๐Ÿคš๐Ÿผ ๐Ÿคš๐Ÿฝ ๐Ÿคš๐Ÿพ ๐Ÿคš๐Ÿฟ ๐Ÿ–๏ธ ๐Ÿ– ๐Ÿ–๐Ÿป ๐Ÿ–๐Ÿผ ๐Ÿ–๐Ÿฝ ๐Ÿ–๐Ÿพ ๐Ÿ–๐Ÿฟ โœ‹ โœ‹๐Ÿป โœ‹๐Ÿผ โœ‹๐Ÿฝ โœ‹๐Ÿพ โœ‹๐Ÿฟ ๐Ÿ–– ๐Ÿ––๐Ÿป ๐Ÿ––๐Ÿผ ๐Ÿ––๐Ÿฝ ๐Ÿ––๐Ÿพ ๐Ÿ––๐Ÿฟ ๐Ÿ‘Œ ๐Ÿ‘Œ๐Ÿป ๐Ÿ‘Œ๐Ÿผ ๐Ÿ‘Œ๐Ÿฝ ๐Ÿ‘Œ๐Ÿพ ๐Ÿ‘Œ๐Ÿฟ ๐ŸคŒ ๐ŸคŒ๐Ÿป ๐ŸคŒ๐Ÿผ ๐ŸคŒ๐Ÿฝ ๐ŸคŒ๐Ÿพ ๐ŸคŒ๐Ÿฟ ๐Ÿค ๐Ÿค๐Ÿป ๐Ÿค๐Ÿผ ๐Ÿค๐Ÿฝ ๐Ÿค๐Ÿพ ๐Ÿค๐Ÿฟ โœŒ๏ธ โœŒ โœŒ๐Ÿป โœŒ๐Ÿผ โœŒ๐Ÿฝ โœŒ๐Ÿพ โœŒ๐Ÿฟ ๐Ÿคž ๐Ÿคž๐Ÿป ๐Ÿคž๐Ÿผ ๐Ÿคž๐Ÿฝ ๐Ÿคž๐Ÿพ ๐Ÿคž๐Ÿฟ ๐ŸคŸ ๐ŸคŸ๐Ÿป ๐ŸคŸ๐Ÿผ ๐ŸคŸ๐Ÿฝ ๐ŸคŸ๐Ÿพ ๐ŸคŸ๐Ÿฟ ๐Ÿค˜ ๐Ÿค˜๐Ÿป ๐Ÿค˜๐Ÿผ ๐Ÿค˜๐Ÿฝ ๐Ÿค˜๐Ÿพ ๐Ÿค˜๐Ÿฟ ๐Ÿค™ ๐Ÿค™๐Ÿป ๐Ÿค™๐Ÿผ ๐Ÿค™๐Ÿฝ ๐Ÿค™๐Ÿพ ๐Ÿค™๐Ÿฟ ๐Ÿ‘ˆ ๐Ÿ‘ˆ๐Ÿป ๐Ÿ‘ˆ๐Ÿผ ๐Ÿ‘ˆ๐Ÿฝ ๐Ÿ‘ˆ๐Ÿพ ๐Ÿ‘ˆ๐Ÿฟ ๐Ÿ‘‰ ๐Ÿ‘‰๐Ÿป ๐Ÿ‘‰๐Ÿผ ๐Ÿ‘‰๐Ÿฝ ๐Ÿ‘‰๐Ÿพ ๐Ÿ‘‰๐Ÿฟ ๐Ÿ‘† ๐Ÿ‘†๐Ÿป ๐Ÿ‘†๐Ÿผ ๐Ÿ‘†๐Ÿฝ ๐Ÿ‘†๐Ÿพ ๐Ÿ‘†๐Ÿฟ ๐Ÿ–• ๐Ÿ–•๐Ÿป ๐Ÿ–•๐Ÿผ ๐Ÿ–•๐Ÿฝ ๐Ÿ–•๐Ÿพ ๐Ÿ–•๐Ÿฟ ๐Ÿ‘‡ ๐Ÿ‘‡๐Ÿป ๐Ÿ‘‡๐Ÿผ ๐Ÿ‘‡๐Ÿฝ ๐Ÿ‘‡๐Ÿพ ๐Ÿ‘‡๐Ÿฟ โ˜๏ธ โ˜ โ˜๐Ÿป โ˜๐Ÿผ โ˜๐Ÿฝ โ˜๐Ÿพ โ˜๐Ÿฟ ๐Ÿ‘ ๐Ÿ‘๐Ÿป ๐Ÿ‘๐Ÿผ ๐Ÿ‘๐Ÿฝ ๐Ÿ‘๐Ÿพ ๐Ÿ‘๐Ÿฟ ๐Ÿ‘Ž ๐Ÿ‘Ž๐Ÿป ๐Ÿ‘Ž๐Ÿผ ๐Ÿ‘Ž๐Ÿฝ ๐Ÿ‘Ž๐Ÿพ ๐Ÿ‘Ž๐Ÿฟ โœŠ โœŠ๐Ÿป โœŠ๐Ÿผ โœŠ๐Ÿฝ โœŠ๐Ÿพ โœŠ๐Ÿฟ ๐Ÿ‘Š ๐Ÿ‘Š๐Ÿป ๐Ÿ‘Š๐Ÿผ ๐Ÿ‘Š๐Ÿฝ ๐Ÿ‘Š๐Ÿพ ๐Ÿ‘Š๐Ÿฟ ๐Ÿค› ๐Ÿค›๐Ÿป ๐Ÿค›๐Ÿผ ๐Ÿค›๐Ÿฝ ๐Ÿค›๐Ÿพ ๐Ÿค›๐Ÿฟ ๐Ÿคœ ๐Ÿคœ๐Ÿป ๐Ÿคœ๐Ÿผ ๐Ÿคœ๐Ÿฝ ๐Ÿคœ๐Ÿพ ๐Ÿคœ๐Ÿฟ ๐Ÿ‘ ๐Ÿ‘๐Ÿป ๐Ÿ‘๐Ÿผ ๐Ÿ‘๐Ÿฝ ๐Ÿ‘๐Ÿพ ๐Ÿ‘๐Ÿฟ ๐Ÿ™Œ ๐Ÿ™Œ๐Ÿป ๐Ÿ™Œ๐Ÿผ ๐Ÿ™Œ๐Ÿฝ ๐Ÿ™Œ๐Ÿพ ๐Ÿ™Œ๐Ÿฟ ๐Ÿ‘ ๐Ÿ‘๐Ÿป ๐Ÿ‘๐Ÿผ ๐Ÿ‘๐Ÿฝ ๐Ÿ‘๐Ÿพ ๐Ÿ‘๐Ÿฟ ๐Ÿคฒ ๐Ÿคฒ๐Ÿป ๐Ÿคฒ๐Ÿผ ๐Ÿคฒ๐Ÿฝ ๐Ÿคฒ๐Ÿพ ๐Ÿคฒ๐Ÿฟ ๐Ÿค ๐Ÿ™ ๐Ÿ™๐Ÿป ๐Ÿ™๐Ÿผ ๐Ÿ™๐Ÿฝ ๐Ÿ™๐Ÿพ ๐Ÿ™๐Ÿฟ โœ๏ธ โœ โœ๐Ÿป โœ๐Ÿผ โœ๐Ÿฝ โœ๐Ÿพ โœ๐Ÿฟ ๐Ÿ’… ๐Ÿ’…๐Ÿป ๐Ÿ’…๐Ÿผ ๐Ÿ’…๐Ÿฝ ๐Ÿ’…๐Ÿพ ๐Ÿ’…๐Ÿฟ ๐Ÿคณ ๐Ÿคณ๐Ÿป ๐Ÿคณ๐Ÿผ ๐Ÿคณ๐Ÿฝ ๐Ÿคณ๐Ÿพ ๐Ÿคณ๐Ÿฟ ๐Ÿ’ช ๐Ÿ’ช๐Ÿป ๐Ÿ’ช๐Ÿผ ๐Ÿ’ช๐Ÿฝ ๐Ÿ’ช๐Ÿพ ๐Ÿ’ช๐Ÿฟ ๐Ÿฆพ ๐Ÿฆฟ ๐Ÿฆต ๐Ÿฆต๐Ÿป ๐Ÿฆต๐Ÿผ ๐Ÿฆต๐Ÿฝ ๐Ÿฆต๐Ÿพ ๐Ÿฆต๐Ÿฟ ๐Ÿฆถ ๐Ÿฆถ๐Ÿป ๐Ÿฆถ๐Ÿผ ๐Ÿฆถ๐Ÿฝ ๐Ÿฆถ๐Ÿพ ๐Ÿฆถ๐Ÿฟ ๐Ÿ‘‚ ๐Ÿ‘‚๐Ÿป ๐Ÿ‘‚๐Ÿผ ๐Ÿ‘‚๐Ÿฝ ๐Ÿ‘‚๐Ÿพ ๐Ÿ‘‚๐Ÿฟ ๐Ÿฆป ๐Ÿฆป๐Ÿป ๐Ÿฆป๐Ÿผ ๐Ÿฆป๐Ÿฝ
@turboBasic
turboBasic / post-to-microsoft-teams-channel.groovy
Last active May 13, 2020 13:15
Post card to Microsoft Teams channel #groovy #microsoft-teams
String hook = 'https://outlook.office.com/webhook/REDACTED/IncomingWebhook/REDACTED'
Map payload = [
'@type': 'MessageCard',
'@context': "http://schema.org/extensions",
themeColor: "0076D7",
summary: "Testing Teams web hooks",
sections: [[
activityTitle: "![Jenkins](http://icons.iconarchive.com/icons/google/noto-emoji-smileys/256/10099-skull-and-crossbones-icon.png)Teams web-hook pinged by Jenkins",
activitySubtitle: "Jenkins server",
@turboBasic
turboBasic / sed-strip-domain-and-sort-by-frequency.sh
Last active April 23, 2020 00:22
Strip domain name from commit subject and sort by frequency #bash #sed
#!/bin/sh
git log --format=%s \
| sed --quiet \
--regexp-extended \
--expression 's/ *\].+$//' \
--expression 's/^ *\[ *//p' \
| sort --ignore-case \
| uniq --count \
| sort --numeric-sort --reverse
@turboBasic
turboBasic / bash-konsolebox-function-style.sh
Last active April 20, 2020 11:04
โ€˜konsoleboxโ€™ style of returning function result in Bash scripts #bash
#!/bin/sh
# this works fine both in Bash/ZSH and in POSIX mode of bash (bash --posix)
join() {
local IFS=$1
__="${*:2}"
}
# this works fine in Bash and Zsh but in POSIX mode leaks IFS to outer scope:
join() {
@turboBasic
turboBasic / classAsMap.groovy
Last active April 9, 2020 13:23
Represent Groovy class as Map #groovy
interface Mappable {
Map asMap()
}
abstract class AbstractMappableImpl implements Mappable {
Set options
Set getOptions() {
@turboBasic
turboBasic / jenkinsLogging.groovy
Last active April 7, 2020 12:47
Logging in Jenkins pipeline job using java.util.log #jenkins #groovy #java
import static java.util.logging.Level.*
import java.util.logging.Level
import java.util.logging.Logger
@groovy.transform.Field
Level level = INFO
@NonCPS
void myLogger(String message) {