Inglorious 
Coderz 

Blog

This is where the community shares some of their experiences with computer science and entrepreneurship. Posts dated before 2020 are in Italian only, sorry :).

Programmiamo un calcolatore quantistico in Python

Attenzione: parleremo di circuiti logici, di vettori, di matrici e di fisica quantistica. Riservato ai più coraggiosi!

read more›

Reverse-Engineering Quantum Circuits

When studying the basics of quantum computing we start describing circuits with easy calculations on 2×22 \times 2 or 4×44 \times 4 matrices, but as soon as we explore the first algorithms we stumble upon oracles that seem to be too complex to be represented like that. But matrices are very important for us developers: they are like functions that we can design and inspect regardless of the input. If we could describe any circuit as a simple combination of matrices, programming circuits would be similar to programming functions. There must be a way. Maybe I found one.

read more›

Oracles In Quantum Algorithms

In April 7, 2020, thanks to a beautiful workshop held by Federico Mattei from IBM, I was introduced to the fundamentals of Quantum Computing, and it was love at first sight. I frantically studied the required maths, the Python language, the Qiskit library, and Jupyter notebooks. Then, after working hard on the basics for a dozen days, I was stuck with the most basic algorithm. But then I worked even harder, and finally I can say I got it: the problem was that I couldn't figure out why and how the so-called "oracles" should be implemented. Here is what I found.

read more›

Loopback 4 è un porting di Spring Boot

Se c'è una cosa buona che il faticoso ecosistema JavaScript ha portato nelle nostre vite è un ritorno alla programmazione funzionale. Dopo anni e anni a scervellarsi su oggetti, classi e design pattern, Facebook con i suoi React e Redux ci ha convinti a fare marcia indietro e riconsiderare le funzioni pure, l'immutabilità e la composizione a scapito dell'ereditarietà, delle annotation e della dependency injection. A un tratto il codice diventa potente, performante, leggibile e testabile come non lo è mai stato, e la programmazione orientata agli oggetti (o meglio, alle classi) pare solo un brutto ricordo.

read more›

Migliorare il codice con il currying

Oggi mi sono trovato davanti a un problema a prima vista molto semplice da realizzare, ma il cui risultato si è rivelato orribile e per niente ottimale. Il problema si descrive molto facilmente in linguaggio naturale "calcolare la differenza tra due liste A e B". Facile no? A prima vista sì, ma scendendo nel tecnico si è rivelato un po' più ostico del previsto, perché le mie due liste erano composte da oggetti, ognuno con più di un parametro e una chiave generata in modo randomico, quindi il problema andrebbe riformulato come "calcolare la differenza tra due liste di oggetti A e B basandosi su uno dei suoi parametri".

read more›

Componenti react/redux come librerie

L'ecosistema creato da Facebook sta tirando fuori un gioiellino dopo l'altro: dopo react e redux di recente è anche uscito create-react-app, che permette di arrivare da zero ad app funzionante in un unico comando. Ma che succede se vogliamo pubblicare un componente React da usare come libreria per altri progetti? E se lo stato del componente fosse così complesso da richiedere un contenitore di stati come Redux? Queste sono le domande che mi sono dovuto porre quando ho creato react-property-grid.

read more›

Pokémon Go e la Teoria degli Effetti Collaterali

Ne parlano bene, ne parlano male, per una volta voglio parlarne anch'io. Senza nessuna autorevolezza in merito, s'intende. Ma per virtù della Teoria degli Effetti Collaterali™ l'app di Pokémon Go si è rivelata fin da subito un successo planetario e anche meritato.

read more›

Resistere alla tentazione del procedurale in Redux

Proveniendo da un contesto procedurale e orientato agli oggetti, un approccio funzionale e dichiarativo come quello di redux richiede un salto mentale non indifferente. Realizzare applicazioni è molto semplice, almeno finché non si devono gestire un'infinità di effetti collaterali e chiamate asincrone che si innescano a catena. È lì che l'approccio più intrigante risulta quello procedurale. Tuttavia dobbiamo essere coraggiosi e cercare l'approccio più semplice ed elegante, non quello più comodo.

read more›

Il Vaso di PIVA

Ottimo, il primo post in un blog tecnologico non parla di tecnologia ma di Fisco.

read more›

Hello world!

Ciao mondo! Questo è il nostro primo vagito nel mondo dell'interwebz :)

read more›