Da MacOs a Windows

Da Windows a MacOs, no spetta era il contrario.

Nel corso della nostra vita prendiamo costantemente delle decisioni, alcune semplici altre meno, alcune di queste decisioni impongono dei cambiamenti adattivi.

Uno di questi cambiamenti adattivi avviene quando dopo 10 anni decidi di cambiare sistema operativo.

Ora, non che 10 anni fa usassi Windows. Dopo windows millennium ho iniziato ad usare Linux e mi sono appassionato alla distro Slackware. Dopo circa 3 anni mi sono iscritto all’accademia di belle arti e lì ho avuto per qualche mese un Hp con windows vista. Non so che è successo ma ad un certo punto, niente, andato (ho preso un mac).

Quindi è da parecchio che non metto mano a questo Os.

La fase MacOS []~( ̄▽ ̄)~*

In accademia il mac era quasi d’obbligo tipo che se avevi mac avevi i super poteri mentre gli altri sembravano solo dei poveracci, coi loro laptop di plastica e lo schermo pixeloso. Quindi, vedendo quanto se la tirassero decisi che era giunto anche il mio momento. E siccome ero un poveraccio, presi un macbook white late 2010. Il fatto è che 10 anni dopo è ancora lì che funziona mentre dei laptop con windows non ve ne è alcuna traccia ormai (intendo i miei😆).

Comunque, da allora ho preso un altro macbook, un pro early 2015, una piccola costosa spesa per un piccolo salto in avanti ma di tornare a Windows non se ne parlava.

Il macbook pro early 2015

Ormai abituato al mac e con la possibilità di avere in parte i vantaggi di entrambi i mondi (ci tenevo alla bash) ero più che contento, quindi perché cambiare.

C’è da chiarire, l’accademia l’avevo già mollata da un pezzo ed ero passato allo sviluppo web. E con l’arrivo di più lavoro avevo preso il nuovo macbook pro.

Poi è arrivata la balena 🐳.

La fase Docker (╬▔皿▔)╯

Ad un certo punto mi è salita la scimmia 🙊 della programmazione, quindi chiaramente ho mollato qualsiasi altra attività, hobby o qualsiasi altra cosa facessi nel tempo libero che avevo per dedicarmi a fondo allo sviluppo.

Per farla breve ad un certo punto ero 100% sul backend e necessitavo di un buon ambiente di sviluppo così provai vagrant ma durò tipo una settimana, era come un asteroide in rotta di collisione con il mio laptop, era impossibile caricare anche una minima pagina web (in locale). Mi ero pure creato una piccola configurazione ma non so nemmeno se funziona più.

“Docker, prova Docker che è ottimo…”

Someone you don’t know

Così lo provai. Non usai Docker Docker, fin dall’inizio ma local by flywheel che è un buon software per l’amor del cielo, ma era lentissimo a caricarmi anche una semplicissima pagina.

Così dopo un periodo più o meno lungo dove ho provato vari tool che usano Docker under the hood alla fine, `Dockerfile`, `docker-compose up -d php httpd mysql` ed ho switchato su devilbox.

Devilbox è una figata perché funziona tutto o quasi out of the box ed ha un ottima documentazione. Io di solito sviluppo con l’ultima version di Php poi in CI faccio girare i tests per tutte le versioni supportate. Quindi non c’è necessità di configurazioni differenti per progetti differenti ma volendo è possibile avere configurazioni diverse.

In questa fase siamo ancora su macOs. E niente, ad un certo punto Hachimaru (così si chiama il mio macbook pro early 2015) mi ha chiaramente detto, che era meglio che ci levassi mano perchè non se la fidava più, i progetti erano diventati troppo grossi ed eravamo punto ed a capo quindi alla fine sono tornato al caro vecchio metodo… Installare i servizi direttamente nella macchina di hosting, aka in Hachimaru, aka, ho installato PHP via Homebrew, Apache (già disponibile, è bastato configurarlo) e MySQL.

E’ andata bene per un pò ma anche qui oltre un certo punto non si poteva andare, fare una sessione di pair programming era un incubo, tra una modifica ed un caricamento di pagina si iniziava a parlare del più e del meno, non era sostenibile come cosa.

La fase Windows┌( ಠ_ಠ)┘

All Righty.

Windows è un Sistema Operativo. Bhe, come macOs e Gnu/Linux (perché si chiama Gnu/Linux non solo Linux).

Il problema con Windows è che non mi piaceva che dovessi installare degli antivirus e la mancanza di un terminale come si deve.

Ho switchato a Windows perché il costo di una macchina equipaggiata con macOs che potesse far girare Docker senza intoppi era proibitiva. In effetti lo è ancora. Si ok c’è la questione hackintosh, bah, onestamente non ho fatto ricerche e non mi è interessato molto. Mi sono fidato un pó delle discussioni tra colleghi e di quanto ho letto a riguardo di Wsl. Male che poteva andare mi installavo Gnu/Linux e via.

Ora, non so perché ma sembra che se possiedi qualcosa sei automaticamente portato a parlarne bene con gli altri ed a nasconderne i problemi.

WSL, al momento non è cosa. Non è integrato del tutto con Windows perché hai problemi di velocità di scrittura da Gnu/Linux su ntfs, poi ho riscontrato problemi a poter cancellare o spostare i files creati da wsl da Windows.

Un altro problema è che il software per lo sviluppo deve essere integrato perfettamente altrimenti bisogna affidarsi ai comandi custom. Ad esempio Phpstorm per la compilazione degli assets.

Morale della favola, sono passato ad usare i container Linux tramite hyper-v, che con 32 gb di ram a 3600, ryzen 9 3900 non ne senti la pesantezza affatto. Però è cmq una rottura.

Ma veniamo al comparto software di Windows vero e proprio.

Rispetto a macOs Windows manca del tutto di consistenza, se ho ben capito adesso c’è questa nuova interfaccia grafica di cui però non so il nome che per carità a me non dispiace ma ho avuto non pochi problemi al riguardo.

Di funzionare devo dire che funziona (la UI) è solo che ho riscontrato delle problematiche che su macOS non ti sogneresti mai di avere, ad esempio, il workflow tra i Virtual Desktop è una cosa che non và, non puoi avere come in macOS che due monitor hanno Virtual Desktop separati, il chè è un problema perchè non puoi tenere ad esempio una instanza di chrome dove hai tutta la documentazione di qualcosa e poterti muovere tra i vari desktop nell’altro monitor perchè entrambi i monitor scambiano il desktop 😱.

Inoltre non puoi spostare finestre che stanno in un desktop su un’altro monitor quando visualizzi le finestre in modalità Desktop editing (quella che si apre con start+tab).

Quindi, prima devi mettere la finestra in primo piano e poi spostarla nell’altro monitor. Inoltre non è possibile riordinare i Desktop, quindi niente, dà proprio l’impressione di essere una cosa statica.

Chissà come è implementato in Gnu/Linux questa cosa 🤔 ?

L’app per le email non funziona molto bene, ha problemi con le email che non sono parte di un hosting tipo Google tanto per dire, ogni volta con le email del mio dominio mi dice che la password è errata, perchè uso il 2FA e quindi uso l’app password, niente, l’ho disinstallata e switchato su Thunderbird, che onestamente non mi piace molto come UI 🙅‍♂️.

E con l’app email se ne è andata anche il calendario perchè era una cosa inutilizzabile.

Hai presente che ogni evento può avere una descrizione? E che la descrizione può contenere links? Bhè, non ci puoi cliccare perchè è solo testo, è sottolineato me è solo testo.

Il calendario built-in di Thunderbird è un obrobio, la UI non è cosa, ho installato MimeTime che però ha una interfaccia completamente differente dal resto.

Insomma, se si cerca consistenza intermini di UI/UX dato che devi usare software di terze parti visto che quelli di Windows non sono granchè, la consistenza te la giochi e questa è una cosa che mi manca moltissimo di macOS, ma che sono sicuro riavrò nel momento in cui farò lo switch a Gnu/Linux.

Il prob di Gnu/Linux per me è l’astrusità di alcune configurazione (ma vabbè ci sbatti un pò di ore, giorni ma poi sai dove sistemare quando servirà nuovamente) ed il fatto che i device più moderni con tutte le funzionalità extra se non è cambiato molto da quando lo usavo anni fa è una bella rogna perchè significa che devi acquistare dei device per cui le feature che possono funzionare in Win in Gnu/Linux non vanno :/.

Altra cosa, e l’ho scritto in questo tweet.

Le Windows App fanno le bizze

Cioè, ho due Virtual Desktop, in uno ho aperto delle applicazioni tra le quali le Settings di Windows.

Ora, cambio desktop switchando tra le applicazioni (alt+tab) che mi mostrano tutte le finestre aperte di tutti i Desktop.
Quando sono nell’altro desktop attivo la combinazione alt+tab di nuovo per poter switchare ad un’altra applicazione e la preview dell’app delle Settings appare in quel modo. 🤷‍♂️Bho!

E non lo fa solo l’applicazione Settings, ma anche la calcolatrice ed altre app che usano l’interfaccia nuova di Windows.

Non capisco il perchè, l’hardware è a posto, non ho conflitti, hd e tutto il resto nessun problema.

Mah!

Continuando a parlare di Virtual Desktop, delle volte quando switcho da un Desktop ad un’altro l’applicazione in primo piano non prende il focus, quindi ci si può immaginare la frustrazione, mi aspetto di poter droppare una riga ad un collega e non scrive nulla.

Ah, e PHPStorm che delle volte non mostra il puntatore del mouse 🤷‍♂️.

Ci sono anche altre cose che non vanno, magari sarebbe meglio scrivere un post apposito al riguardo, magari più tecnico, qui invece mi sfogo un pò di frustrazione.

Che poi, bisogna essere onesti, non è che macOS è il migliore sistema operativo o che lo è Gnu/Linux, ogni OS ha i suoi pros and cons ed anche macOS ha le sue problematiche che ai tempi mi facevano girare i cosiddetti 5 minuti.

Per farla breve che ormai è da un pò che scrivo senza andare al punto.

Windows può andare bene, ma è ancora un sistema grezzo, poco stabile e manca di coerenza.

Ci si deve agganciare a software di terze parti per quasi tutto, che ci può anche stare, sono uno sviluppatore e li pago i soldi per del buon software, ma quanto meno non inserite software in un OS se quel software non funziona come deve.

E badate bene che sto tenendo fuori dalla discussione l’app per il backup di Windows, non si possono capire le bestemmie.

In Conclusione

Penso che terrò Windows ancora per un pò, voglio vedere un pò come evolverà nel prossimo anno, nel momento in cui non lo reggerò più farò il passo successivo e tornare a Gnu/Linux, magari Ubuntu o direttamente Debian, vedremo.