Category: wordpress

  • PSA: this website honors your browser preferred color scheme (light/dark theme)

    The latest tech trend is to enable dark themes among all applications and devices: as the passionate tweaker I am, I set up every device and application I use to harness a light theme during daylight and dark mode at all other times.

    Whenever a light (or dark) theme is applied system-wide, most of the browsers read that value and communicate with the browsed website what is the preferred color scheme: light or dark. The website, if knows the two variants, can answer with CSS rules that are tweaked for light or dark via the prefers-color-scheme CSS media rule.

    Until today, this website only offered a light variant. After an evening spent with Firefox Web Developer Tools, a color picker tool and somebody that knows color theory better than me, I enabled the dark variant for this website.

    In other words: if your browser supports light and dark color schemes, you will experience this website using your preferred theme.
    In case your browser does not provide a preferred color scheme, the default (light variant) will be used.

    Dear reader, please let me know if you spot something that is not in the right place (especially in the dark variant).

    Michele Bologna dark variant theme
    Michele Bologna dark variant theme

    Under the hood

    For you techies out there, to roll out your dark variant for your website, you need:

    1. Good taste in style and colors (might be subjective)
    2. CSS and prefers-color-scheme directive

    All the CSS rules specific to the dark variant will be delimited by the prefers-color-scheme: dark selector in this way:

    @media (prefers-color-scheme: dark) {
    [...]
    a, .site-info > a {
    color: #33C9FF;
    [...]
    

    If you are using WordPress, a good starting point is Adding Dark Mode Styles (CSS) To A WordPress Theme.

    Happy tweaking!

  • WordPress plugin: Chap Secure Login

    Ho recentemente installato Chap Secure Login, un plugin molto utile per WordPress che risolve un problema da non sottovalutare: l’autenticazione su un canale non cifrato quale HTTP (è buona norma usare HTTPS quando si effettua uno scambio di informazioni riservate, quali password, numeri di carta di credito, etc. per evitare che eventuali eavesdropper possano carpire le informazioni scambiate ed utilizzarle a vostro svantaggio).

    Essendo il problema molto interessante, e risolto dal plugin in modo brillante, ho deciso di interessarmi al suo funzionamento. Partiamo dal presupposto: dovete fare un login tramite HTTP e non volete che la vostra password passi in chiaro. Come procedere?

    Il plugin modifica il processo di login, trasmettendo in chiaro (tra server e client) solo l’username, mentre per la password adotta un meccanismo CHAP per trasmettere in modo sicuro la password (in particolare: il processo di login andrà in errore la prima volta, mentre la seconda funzionerà correttamente). In particolare, la login si traduce prima in uno scambio di chiave di sessione al primo login, dopodiché il client userà la chiave segreta per cifrare la password e trasmettere il risultato al server. A questo punto il server confronta il valore ottenuto con la password dell’utente, e procederà all’autenticazione se la password è corretta.

  • UML Distilled, guida rapida al linguaggio di modellazione standard (terza edizione): la mia recensione

    Per rispolverare la mia preparazione in ingegneria del software, ho deciso di leggere la terza edizione di UML Distilled, scritta dall’autorevole Martin Fowler; in passato ho letto la seconda edizione, ma i libri di Fowler sono una lettura sempre piacevole e sopratutto utile. Il libro è condensato (solo 155 pagine) ma pregno di argomenti e tecniche utili. Innanzitutto, specifico subito che il libro si basa sulla specifica UML2 e in particolare presenta una descrizione chiara e concisa sulle tecniche fondamentali e utili a chi si occupa di progettazione del software. Le tecniche sono presentate in modo semplice e descrittivo, corredati da un paio di esempi per ogni tecnica. Inoltre, si illustrano i punti di forza e debolezza di ogni tecnica. Oltretutto, per ogni tecnica è presente una sezione che spiega quando è utile utilizzare una determinata tecnica piuttosto che un’altra. Ad esempio, i diagrammi di package sono utili nella progettazione di sistemi di grande scala per documentare le dipendenze tra i componenti più importanti. Al termine di ogni capitolo, Fowler introduce un repertorio di esercizi corredati di soluzione. A mio avviso, le tecniche più utili tra quelle presentate sono:

    • Diagrammi delle classi: consentono di descrivere le classi che compongono il progetto e le relazioni tra di esse;
    • Diagrammi dei package: descrive le relazioni tra i package che compongono il model;
    • Diagrammi di deployment: permette di definire come le componenti software saranno distribuite fra i vari nodi hardware a disposizione per il progetto;
    • Casi d’uso (use case): descrivono le funzioni e i servizi offerti dal progetto dal punto di vista di un attore esterno;
    • Diagrammi di attività: definisce una serie di attività per svolgere una determinata funzionalità. È simile ad un diagramma di flusso;
    • Diagrammi dei componenti: complementa i diagrammi di deployment ed indica i componenti software che compongono il sistema e le relazioni tra di essi;
    • Diagrammi di sequenza: esplora il comportamento dei componenti dal punto di vista temporale, e spiega l’evoluzione e la relazione dei componenti in relazione ai messaggi inviati e ricevuti agli altri componenti.

    Nel libro vengono anche presentate tecniche non strettamente UML, ma sicuramente utili come le schede CRC ed i design pattern. Il testo è pensato per un pubblico che già possiede conoscenze di OOP e che conosce qualche altra metodologia di progettazione standard. In definitiva, quindi, un libro da avere assolutamente nella propria collezione personale. Costo: 25€

  • WordPress plugin: Ozh’ Admin Drop Down Menu, per migliorare la barra di amministrazione di WordPress

    Diciamoci la verità: la sidebar di WordPress, la barra di navigazione che vi permette di accedere a tutte le funzioni di un blog [e che trovate sulla sinistra della pagina di amministrazione di un blog], occupa molto spazio sullo schermo.

    A nulla vale la riduzione della barra tramite l’apposita funzionalità: la barra occupa meno spazio, ma non è più molto usabile (in particolare, non si riesce a capire “a colpo d’occhio” cosa faccia un determinato pulsante).

    Girovagando per i plugin di WordPress ho trovato un ottimo plugin per risolvere il mio problema: Ozh’ Admin Drop Down Menu. Il plugin riposiziona la barra di amministrazione in orizzontale, occupando solo una “striscia” del vostro schermo; presenta le funzionalità principali come titoli del menu, e le sotto-funzionalità sono presentate con un menu drop down (a scomparsa).

    In questo modo la barra di amministrazione occupa soltanto una piccola porzione dello schermo, e nello stesso tempo presenta tutte le funzionalità in maniera chiara e intuitiva. Da provare!