Michele Nasti

Michele Nasti

Thoughts on what I learn

All my articles in one page

  1. Leaving Logseq for Obsidian: what I lost, what I gained - October 16, 2026
  2. next project: detect moisture for automatic irrigation - May 17, 2026
  3. Another pet project: "da quando non piove" - May 8, 2026
  4. NGINX proxy manager, docker, and more - April 20, 2026
  5. hash() function in Python may not return the same value for the same input - February 26, 2026
  6. Vibe Coding: lessons learned - February 7, 2026
  7. Hobby project: Quando scade, an app to avoid food expiration - November 21, 2025
  8. Logical assignments in Javascript - September 26, 2025
  9. You may really be an imposter - September 3, 2025
  10. A dive into the world of Video Ads - March 25, 2025
  11. Why prehistory is fascinating me so much - February 17, 2025
  12. Fixing python imports, formatting and tooling in VSCode - February 12, 2025
  13. AI is already taking our jobs: programmers are the first - January 10, 2025
  14. Neural Networks and the derivatives - December 29, 2024
  15. Jenkins, Docker, npm and a weird repo merge - November 30, 2024
  16. A class that behaves like an Object and like a Dict in Python - October 20, 2024
  17. I'm back, Advertising Industry! - October 14, 2024
  18. Installing latest ruby with asdf on MacOS with M2 chip - August 22, 2024
  19. What I got so far about monorepos - August 10, 2024
  20. The esiest VPN you can create is with Tailscale - May 27, 2024
  21. Stress your server with WRK - April 10, 2024
  22. No-code development with Appsmith - March 3, 2024
  23. Come To Code 2023 - September 26, 2023
  24. Bye advertising industry! - September 1, 2023
  25. LogSeq: what's good, what's not, what I still haven't figured out - June 12, 2023
  26. serverless & 304, Viewability in apps - May 11, 2023
  27. How Wine Works - October 10, 2022
  28. No, i programmatori non sono hacker pazzoidi asociali strambi - August 30, 2022
  29. How to do the important things that you keep postponing - August 23, 2022
  30. Recover gitlab repositories from an hacked machine - July 22, 2022
  31. Install Samsung ML-2165w printer on newest Macs - July 14, 2022
  32. Lo ha fatto Elon, e ora lo faccio anch'io - June 5, 2022
  33. How DNS works? A refresh of the DNS algorithm and architecture. - May 11, 2022
  34. Some tricks for 11ty that I learned along the way - April 2, 2022
  35. This blog, revamped - March 25, 2022
  36. Going to rebuild this blog with 11ty - February 12, 2022
  37. My problem with job junting - February 7, 2022
  38. Number one quality for remote working - January 4, 2022
  39. Evaluating frontend frameworks and not choosing any - January 2, 2022
  40. A better Git Log - September 17, 2021
  41. Move your photos from Google Photos to Synology without losing your mind - July 19, 2021
  42. Remotalypse NOW: non tutti vogliono tornare in ufficio - July 6, 2021
  43. 1:1 Meetings - June 29, 2021
  44. Want to play songs in your web app? Say no more with JS Headless Playlist Player - May 3, 2021
  45. Clickhouse: a Database for your next Big Data project - April 2, 2021
  46. "A quest'ora avresti dovuto essere cieco" - intervista a uno sviluppatore che sta perdendo la vista - March 25, 2021
  47. How to integrate a django-select2 component in Django Admin - February 12, 2021
  48. "You should have been blind by now" - An interview with a developer who is losing his sight - January 28, 2021
  49. A gently intro to MVC Frameworks - December 27, 2020
  50. [BOOK] What If?: Serious Scientific Answers to Absurd Hypothetical Questions - October 9, 2020
  51. How to read and write from STDIN and STDOUT in GO - September 16, 2020
  52. What is a WAV file? - September 6, 2020
  53. My first Visual Studio Code Extension, create-link-to-git-server - June 15, 2020
  54. Sarò controcorrente, ma a me piaceva andare in ufficio - May 25, 2020
  55. Serve HTTPS requests with Express and NodeJS - May 23, 2020
  56. How Coronavirus affected my life - May 19, 2020
  57. I wish I had a programmers' quarantine - May 2, 2020
  58. Chaotic systems - February 26, 2020
  59. Microsoft Surface GO: more than a tablet - February 6, 2020
  60. a review of the book The Phoenix Project - January 30, 2020
  61. Pair Programming vs Pull Requests - December 9, 2019
  62. Thinking of customers like a CEO: lessons learned along the way - November 21, 2019
  63. Tips & Tricks from my linux experience - October 27, 2019
  64. How internet ads work - October 21, 2019
  65. Jest and Puppeteer from the barricades - October 2, 2019
  66. What is the difference between var, let and const in Javascript - August 17, 2019
  67. Detect network issues from your pc to a remote url - August 2, 2019
  68. Typescript, Babel, Webpack, ESLint: my configuration - June 27, 2019
  69. Typescript: why so complicated?! (A list of my preferred options) - June 24, 2019
  70. I work remote, I do two video meetings per day - June 13, 2019
  71. SSH cheatsheet (from zero to hero) - April 3, 2019
  72. What's the difference between Browserify and Webpack? - March 23, 2019
  73. How ads are loaded so fast: the command queue pattern - February 12, 2019
  74. Is typescript Namespace feature deprecated? - January 23, 2019
  75. Another remote job for me - January 17, 2019
  76. 10 years around the web platform, what's changed and what's not - December 12, 2018
  77. What I learned by writing my first npm module - November 17, 2018
  78. Inspiring tech people to follow: Nicholas C. Zakas - November 5, 2018
  79. The easiest way to understand Javascript Generators - October 29, 2018
  80. Docker cheatsheet - October 25, 2018
  81. Dovrei imparare Ruby on Rails o NodeJS ? - October 15, 2018
  82. Let's write our simple version of the require() function - October 2, 2018
  83. Javascript: call functions without using parentheses (what?!) - September 19, 2018
  84. Symbols & Iterators in Javascript - September 3, 2018
  85. Things you may not know about Object Oriented Javascript (Es6) - September 2, 2018
  86. "ma... cosa intendete per testing?" - una breve introduzione al testing software - August 21, 2018
  87. Handling configuration for multiple environments in NodeJS - July 22, 2018
  88. Designing the documentation for a tech product - July 9, 2018
  89. Come creare luoghi di lavoro in cui é bello recarsi - June 19, 2018
  90. Get the list of files blocked by a process in Linux - June 18, 2018
  91. [libri] Sei proprio il mio typo: la vita segreta dei caratteri tipografici - June 5, 2018
  92. Proteggi le tue applicazioni Express con HelmetJs - May 5, 2018
  93. Cambia la tua vita lavorativa! (partecipando a uno Startup Weekend) - April 22, 2018
  94. Ode ai libri di carta - April 16, 2018
  95. Un programmatore dovrebbe continuare a programmare nel suo tempo libero? - April 5, 2018
  96. Come realizzare un form esterno (Es. assistenza) che manda dati a MagNews - April 5, 2018
  97. Consigli ai junior e ai laureandi (ossia: evitate gli errori che ho fatto io) - February 25, 2018
  98. Un giro nell'universo React - February 18, 2018
  99. [Risultati Sondaggio] - I programmatori e i corsi di formazione - February 2, 2018
  100. Remap backtick, ñ and tilde characters on Windows computers - January 27, 2018
  101. Perchè la Green Card è una lotteria? - January 17, 2018
  102. La mia esperienza col Test Driven Development - January 12, 2018
  103. I trend Javascript del 2018 - January 9, 2018
  104. E' importante conoscere come sono fatte le librerie che usiamo? - January 7, 2018
  105. Essere programmatori e vivere di progetti propri - January 6, 2018
  106. VueJS basics - December 17, 2017
  107. Dovrei partecipare al programma Erasmus? - December 4, 2017
  108. Alla scoperta di VueJS - December 3, 2017
  109. Batman ha ispirato il ... Comic Sans: storia di un Font che tutti odiano - December 1, 2017
  110. Growth Hacker: cos'è? Intervista a Raffaele Gaito - November 18, 2017
  111. Other thoughts about NaN (then, stop) - November 16, 2017
  112. Not-A-Number: when javascript gets crazy - November 14, 2017
  113. Cryptomining and websites: how long will it be tolerated? - October 24, 2017
  114. Windows non fa più così schifo: recensione Dell XPS 15" 9560 (2017) - October 3, 2017
  115. Viviamo tutti in una grande simulazione aliena? Sembra di no - October 3, 2017
  116. JWT: what is it? How does it work? Why should we use it? - September 21, 2017
  117. Come capire il bitcoin: le funzioni crittografiche - September 19, 2017
  118. Due-tre opinioni sul Growth Hacking da uno che non ha mai fatto nulla di marketing - August 18, 2017
  119. Guida alla Val d'Aosta con un neonato - August 6, 2017
  120. L'innovazione non copia - July 27, 2017
  121. E' giusto fidarsi dei remote workers? - July 19, 2017
  122. Recensione del libro: Codice Montemagno - July 17, 2017
  123. Quanto è complicato essere Elon Musk - June 29, 2017
  124. We' waglio', vuoi venire a lavorare nella mia startup? - June 9, 2017
  125. Cinque tool per migliorare la vostra developer experience - May 30, 2017
  126. I colloqui di lavoro nelle Big - May 22, 2017
  127. Agile? No grazie, noi siamo Lean - May 4, 2017
  128. "Vorrei, ma ho paura che vada male" &#58 come assumersi dei "rischi intelligenti" - April 21, 2017
  129. Diventare Senior™ con Javascript: le funzioni filter, map, reduce - April 14, 2017
  130. All my articles about Testing in Javascript in one post - April 8, 2017
  131. Fantastic Unit Tests in Javascript with Mocks - April 7, 2017
  132. Become a test expert in NodeJS with these tricks - March 27, 2017
  133. Easy testing of NodeJS applications with Mocha - March 23, 2017
  134. L'Inglese tra italiani, a lavoro, è una scelta sbagliata - March 20, 2017
  135. Deploy a NodeJS app on Heroku in less than 1 minute - March 18, 2017
  136. Two easy ways perform GET requests in NodeJS - March 13, 2017
  137. JS Promises: description, pros, cons of this ES6 construct - March 12, 2017
  138. Quando l'azienda non paga gli stipendi - February 28, 2017
  139. The Javascript Event Loop for dummies - February 25, 2017
  140. I libri motivazionali funzionano? - February 15, 2017
  141. hey javascript function, take this! - February 10, 2017
  142. Debug a NodeJS application from command line - it's super easy! - February 8, 2017
  143. Discesa in Inferno e risalita in Paradiso: le 24 ore da incubo di Gitlab - February 7, 2017
  144. Quali sono gli svantaggi del lavoro da remoto? - February 5, 2017
  145. Node useful libraries - manage command line arguments with YARGS - February 2, 2017
  146. Tool of the week: Develop faster in NodeJS with Nodemon - January 31, 2017
  147. PRIMO LAVORO DA INFORMATICO - meglio una piccola o una grande azienda? - January 30, 2017
  148. Tip del giorno: stampare comandi di uno script Bash - January 12, 2017
  149. Web management of a Jekyll blog with Forestry - January 2, 2017
  150. Jekyll & Github in pratica - December 22, 2016
  151. Le tecnologie che compongono un blog Jekyll - December 18, 2016
  152. Le migliori piattaforme di blogging (per un developer) a confronto - December 15, 2016
  153. Perché un programmatore dovrebbe avere un blog - December 12, 2016
  154. Tasse e disuguaglianza - November 23, 2016
  155. Ognuno vota le tasse che vuole pagare - November 23, 2016
  156. Esportazioni e reddito - November 22, 2016
  157. Come riconoscere (e perché assumere) un buon "giocatore di squadra" - November 21, 2016
  158. I was not satisfied with Time Machine so I wrote my own Backup System - November 5, 2016
  159. OrientDB - November 4, 2016
  160. Develop a microservice with Ratpack - October 28, 2016
  161. Come ho cambiato lavoro (Prequel di: com'è lavorare da remoto?) - September 19, 2016
  162. Com'è lavorare da remoto? - September 18, 2016
  163. How to log a PHP Soap call with NuSoap - September 13, 2016
  164. My very personal Javascript Fatigue: the truth about JS testing - August 30, 2016
  165. Progetti a cui lavoro: HYPE - carta di credito, conto bancario, app. 3 in 1! - July 17, 2016
  166. Come scrivere un annuncio di lavoro efficace (soprattutto quando hai poco budget) - June 25, 2016
  167. Cambio Lavoro - June 23, 2016
  168. Flow e Typscript: Type checking per Javascript - June 6, 2016
  169. Visual Studio Code, l'editor che mancava per JS e Node - May 27, 2016
  170. Gestire le dipendenze frontend con... bower - April 28, 2016
  171. L'importanza di un Pet Project spiegata da chi non ne ha mai realizzato uno - April 4, 2016
  172. Come programmare in NodeJS, the right way - March 23, 2016
  173. Vuoi imparare flexbox ma ti annoi? Prova questo gioco - March 13, 2016
  174. 5 motivi per cui Rework ti cambierà la vita - March 9, 2016
  175. Chi è Jacopo Notarstefano, l'inventore del programma anti-Calderoli - March 4, 2016
  176. Javascript Meetup a Salerno! - February 29, 2016
  177. Considerazioni sul Public Speaking - February 27, 2016
  178. Il battesimo del sangue: il talk su NodeJS al Napoli DevDay - February 25, 2016
  179. "quanto ci metti?" - perchè i programmatori sono delle pippe col time management - February 19, 2016
  180. Ho partecipato a Google HashCode 2016. Ecco com'é andata - February 15, 2016
  181. Quando possiamo dire che conosciamo una tecnologia? - February 15, 2016
  182. Alla scoperta del Machine Learning - February 8, 2016
  183. I colloqui di lavoro iniziano (e finiscono) su facebook - January 31, 2016
  184. Sarò al Codemotion 2016, Roma - January 29, 2016
  185. Why Groovy is not that famous? - January 28, 2016
  186. Guida agli annunci di lavoro per sviluppatori - January 26, 2016
  187. Creare dinamicamente Groovy beans in Spring - January 26, 2016
  188. Realizzare un piccolo motore di Scripting in una webapp Java con Groovy - January 22, 2016
  189. un pratico esempio del perchè l'Object Oriented non è la Soluzione Universale©' - January 13, 2016
  190. La Programmazione Funzionale con le Funzioni Pure - January 12, 2016
  191. Essere bravi colleghi evitando di committare cazzate - December 24, 2015
  192. Non c'é nulla di più definitivo di una scelta provvisoria - December 11, 2015
  193. Leggere la query Hibernate in debug - November 28, 2015
  194. Tutti i modi per generare ID in Hibernate & JPA - November 27, 2015
  195. di ritorno dal Codemotion Milan 2015 - November 24, 2015
  196. Serve un piano, anzi tre - November 20, 2015
  197. I tre pilastri per migliorare la propria carriera - November 18, 2015
  198. React.js day a Napoli: impressioni - November 17, 2015
  199. Unofficial but simple way to upgrade Moodle - November 12, 2015
  200. Angularizing a jQuery website template: what I discovered, what I have done - November 4, 2015
  201. My problem: start custom js code with ngRoute - October 30, 2015
  202. Slide del mio mini-talk su NodeJS al Linux Day Salerno 2015 - October 23, 2015
  203. Libreria del giorno: imbroglia i server di Continuous Automation con Wolkswagen - October 13, 2015
  204. Follow me on Twitter and Linkedin! - October 9, 2015
  205. Perchè Node.JS è così difficile da imparare (per chi viene da Java) - October 6, 2015
  206. the story of a programmer (me) that failed in PHP - September 8, 2015
  207. loggare il tempo di esecuzione di un JS : console.time e console.timeEnd - July 28, 2015
  208. Css Position - July 27, 2015
  209. Informatica Antincendio - July 26, 2015
  210. Ci ho messo del tempo per capire il passaggio di parametri delle funzioni Javascript - July 21, 2015
  211. Instantiate beans with Spring without @Autowired - July 14, 2015
  212. Alcune Best Practices per non impazzire con i DB relazionali - July 3, 2015
  213. Impostare PHPUnit in IntelliJ - June 24, 2015
  214. iMovie and the -50 error - June 22, 2015
  215. iFrame, Safari, iOs e la lotta all'ultimo millisecondo - May 27, 2015
  216. Selenium WebDriver for dummies - May 26, 2015
  217. Interpretare HTML in una stringa popolata da angular con ng-bind-html - May 17, 2015
  218. BASTA! ai powerpoint fatti male - May 6, 2015
  219. convertire label in camelCase o CONSTANT_CASE con IntelliJ e String Manipulation - May 5, 2015
  220. Coderdojo a Salerno: la mia esperienza - May 4, 2015
  221. due risate con la libreria JS del giorno: Elevator.JS - April 24, 2015
  222. PHP Symphony: che faccio, me lo studio? - April 17, 2015
  223. How would you call your bleeding-edge Stuff framework in all programming languages and platforms? - April 14, 2015
  224. The Blog App in Ruby on Rails - iteration 2 - April 13, 2015
  225. IntelliJ IDEA, alla fine è arrivato l'amore - April 9, 2015
  226. BlogZinga! - April 8, 2015
  227. Codemotion Roma 2015 - day two - March 30, 2015
  228. Installing Ruby On Rails on Mac 10.10 is a pain - March 29, 2015
  229. Codemotion Roma 2015: raccontiamo questa prima giornata - March 27, 2015
  230. Howto: create a blog with Ruby on Rails - March 24, 2015
  231. Playing with my friend's 3D printer - March 19, 2015
  232. Tools that don't explain themselves clearly will not be used - March 15, 2015
  233. Scrivere codice migliore rispondendo a 12 semplici domande - February 24, 2015
  234. Quando assumere Generalisti vs Specialisti - February 19, 2015
  235. Pay attention to the ".active" progress bar class in Bootstrap - February 11, 2015
  236. WebApp nel tempo libero con approccio MEAN - February 6, 2015
  237. Pro e contro di AngularJs dopo 2 mesi di lavoro - February 2, 2015
  238. Imparare a programmare come ... chef Cannavacciuolo - January 29, 2015
  239. A video that makes Italians proud of their Country - January 24, 2015
  240. How to style a button to upload a file - January 20, 2015
  241. Codemotion 2015 - January 17, 2015
  242. Pdfmake : libreria JS per creare PDF - January 13, 2015
  243. Hackerando la caldaia Junkers CERACLASS SMART INCASSO per farla funzionare col termostato NetAtmo - January 11, 2015
  244. Uscire dalla Comfort Zone per ottenere più successo - January 9, 2015
  245. JAVA - Convertire un array di byte in un file con FileOutputStream - January 8, 2015
  246. chiamare una funzione Javascript subito dopo averla definita - January 8, 2015
  247. Il Document Object Model (DOM) - January 8, 2015
  248. Un breve riassunto sulla storia di Javascript - January 7, 2015
  249. What’s new in Javascript? - January 7, 2015