Currently browsing

circlespainter

Landing in Israel

I’m pretty sure I’m not alone in that: at some point in my life I realized that I loved travelling. I even felt I could do it forever and never get tired, so I started asking myself: “how can I realistically make it happen?” Then some experiences helped me realize something more: I was travelling already and actually I had never done anything else. Life feels more complicated and less pleasant than a travel because it forces us to deal with relationships and consequences in the long term, but this is precisely what we need: real knowledge and understanding cannot be achieved with short and occasional contacts but requires longer periods of interaction and integration. So living is travelling and travelling is living. Our daily …

The Bridge

What unites people? Once upon a time there was an Italian student. He was a nice guy although not very intelligent: he wanted to leave the comfort of his own house to start travelling. One day he met a beautiful and lovely woman, she was very smart and it seemed like she was a princess. They were very happy together and became friends immediately. She lived in the land of Israel. He had heard something about that land but he didn’t know a lot. He thought it was a hot and desert land. He started to read and ask and eventually he had heard both nice and bad things. He loved …

Dance on the Water

It was late. No: it was later. In a hurry he stood another few moments, grabbing in a swirl on his legs anything he could think would be of any use later on: keys, bags, fruits. And then ran out. “Run run run run run run run run run run run run run run run run run run run run run run run” – Hey sweetheart, where are you running? – He got his cap off and tried to scratch his forefront with the very same hand, unsuccessfully so. – Have you got a minute? There’s something I’d like to talk about. Have you met the new guys yet? – – I’m sooooo sorry… Can’t stop now, can’t. Can’t, you see! No way now, maybe… No. …

Butterfly

As a man in daylight dreamtime, trying to let go of delusive teachings, and as a butterfly in nightly awakening, my heart peacefully lying on the moon, I breathe, therefore I know I am loved.

Stairs, Cakes and Injections

Dependency Injection is a design pattern meant to increase decoupling, readability and testability by wiring together component implementations so that: All their dependencies on other components’ contracts are satisfied The wiring logic doesn’t belong to any component being wired but to injectors instead Injectors can evaluate wiring rules at runtime Multiple, different injectors can coexist in a single execution Scala supports typesafe Dependency Injection and there are even several ways to implement it. Possibly the most popular one is based on the cake-pattern, which leverages Scala’s self type annotations; yet again I couldn’t find an explanation of it that was crystal clear to me, so I decided to build my own. There are four distinct conceptual layers to this Scala DI implementation strategy …

Monads for Software Engineers

The term monad could sound weird to a software engineer because it comes from category theory. There’s plenty of related maths material around but let’s just forget about it and about the choice of that word (BTW am I the only one being triggered Leibniz memories from high-school philosophy classes?): I’m interested in a software engineering perspective on the topic and, since I couldn’t find an introductory one that was clear enough for me, I decided to take a dive in and build my own. What is a monad? Very, very shortly: a data structure implements a monad interface iff it defines some “lifted-up” functions sequencing operator (think of a functional “;“-like sequencing). So a monad itself is basically …

On Being “Functional”

There is more and more talk going on about functional programming nowadays; the paradigm is finally understood, accepted, implemented in most runtimes and used by many software engineers, in a more or less aware fashion (just think of JavaScript) and in a more or less hybrid form (just think of Scala). I say “finally” because functional programming has many useful properties, among which: It enables building and reusing components at the level of computation logic, which is a more fine-grained one than objects or modules. It enables a more declarative style that can reduce code size, enhance readability and improve maintainability. With its emphasis on pure functions, values and stateless logic, It helps reasoning and getting more aware about when state and …

Blazar: another pill to relieve Asyncmania

I’ve been ranting already about today’s non-thread-blocking needs (here: Efficient I/O: working smart with slow byte movers) and the fact that some of the most prominent runtimes (e.g. JVM…) lack support for fibers, causing everyone to shelter in asynchronous programming models instead of looking for ways to complement the runtime. Actually Ron Pressler has been writing about this issue quite extensively in Parallel Universe’s blog , for example a very fine post is Little’s Law, Scalability and Fault Tolerance: The OS is your bottleneck (and what you can do about it) but I warmly recommend reading everything in there as there’s a lot of insight and great architectural and even day-to-day suggestions are provided. Let me call this syndrome …

Three travellers, one door

– How do you feel? – Mom said, putting a hand on her forefront. – Yes. – – What do you mean by that? – Temperature seemed not too bad. – Yes, ok, I can sleep. – – Good girl. Come here! – And hugged her tightly, taking her time. She always did like that lately. – I’ll switch off the light now. – Printing a kiss on her left cheek. – Mom – – Yes? – Pulling the switch up again – Did you ever have shower with dad? – – What? Why you ask? – Unexpected topics and questions had become the norm more than the exception with her. Still, …

Mellow Lacking

Bosom’s eardrum stroke winding rousing limbs, mellow lacking and leaking