Alberello di Natale, a modo mio / A Christmas tree, done my way

Italiano

Solitamente in prossimità del Natale si fa un piccolo post con gli auguri di buone feste, felice anno nuovo etc. etc., abbellito con tutto il tradizionale arsenale di immagini natalizie. Qui non vedrete niente di tutto questo, o quasi. Ho pensato infatti di fare gli auguri a tutti i visitatori in modo “artigianale” e originale. “Artigianale” nel senso che mi sono impegnato a produrre personalmente qualcosa piuttosto che fare strage di clipart, originale perché, seppure il “soggetto” è piuttosto classico, la modalità in cui è usato e ottenuto non mi sembra usuale. Spero di essere stato abbastanza vago da non rovinare la sorpresa…

Signore e signori, i miei auguri di buon Natale con…

lo script bash dell’alberello di Natale con le lucine!

Il codice è più giù, tanto quello interessa a pochi…🙂 Lo script gira fino all’inizio del nuovo anno (si capisce facilmente come).


English

During Christmas time many bloggers will probably give readers wishes for Christmas and New Whatever with a short post, all embellished by the traditional bunch of Christmas pictures. Here you are not going to see (almost) anything like that. So I have decided to give my wishes in a “hand-crafted” and original way. By “hand-crafted” I mean I have put an effort into personally making something, instead of looting clipart collections; by original I mean that, although the “subject” is quite typical, the way it was obtained is not. I hope I have been unclear enough not to spoil the surprise…

Ladies and Gentlemen, here are my Christmas wishes with…

the bash script of Christmas tree blinking lights!

Code is below, since few will be interested in it…🙂 The script runs until new year comes (easy to guess how).


Video

Codice

#!/bin/bash
next_year=$(($(date +%y)+1))
clear
echo -e "\\033[33;1m     *
     |\\033[0m"
echo -e "\\033[32;1m     ^
    ^ ^
   ^ ^ ^
  ^ ^ ^ ^
 ^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^\\033[0m
\\033[1mMerry Christmas!
Buon Natale!\\033[0m"
star_light=1
until [[ "$(date +%y)" -eq "$next_year" ]]
do
for row_n in {4..8}
do
flag=$((row_n%2))
light_mov=$((RANDOM%(row_n-3)))
until [[ $((light_mov%2)) -eq $flag ]]
do
light_mov=$((RANDOM%(row_n-3)))
done
dx=1
[[ $((RANDOM%2)) -eq 0 ]] && dx=-1
light_pos=$((6+(dx*light_mov)))
color=$((RANDOM%6+31))
star_light=$(((star_light+1)%2))
printf "\033[1;6H\033[${star_light};33m*\033[0m"
printf "\033[${row_n};${light_pos}H\033[${color};1m@\033[0m"
done
sleep 0.5
done
exit

Informazioni su Man from Mars

https://extendedreality.wordpress.com/

  1. Originalissimo🙂 Buon natale🙂

    Mi piace

  2. obo

    Adoro quando tiri fuori questi script bash *-*
    Auguri di buon natale e buone feste anche a te!

    Mi piace

    • Beh, trasformare le scemenze in scriptini sta diventando una specie di hobby, oltre che un ottimo esercizio per imparare. La cosa bella è che ho messo insieme e pubblicato lo script in non più di un’oretta, giusto in tempo per gli auguri!
      Buone feste anche a te (e grazie della “pubblicità” che mi fai sempre).

      Mi piace

Dimmi che ne pensi o fai "Ciao ciao!" con la manina // Share your thoughts or just say "Hello!"

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: