Posts

Simple personality model 2023

Image
I like this personality model when working in technology: It is an extension of the classical primary model of personality: Goal Oriented, Analytical, Emotional. It highlights the important complementary personalities that are: Consumer, Follower, and 'Preserving a depleted emotional space'. Without additional context, people tend to have favored primary and complementary personalities. For example: a goal oriented person might also be a follower (e.g. of social trends), yet chances are that a goal oriented person is more likely to be a consumer or 'emotionally reserved', as these complementary personalities are 'closer' within above model.   All original content copyright James Litsios, 2023.  

The future of software development (end 2022)

  My end of 2022 predictions for software development: Structure of code becomes more important than code Partial code becomes more valuable than finalized code Proprietary code gains in value Contextual programming gains in traction IDEs become ever more ML driven And therefore: Dynamic typing gains over static typing Duck-typing grows in value IDE security and spyware become an ever more important topic Functional programming is still the more powerful programming paradigm Proprietary IDE with in-house ML engines will grow in importance All original content copyright James Litsios, 2022. 

Twin tower memories

Image
 My summer 2000 lunches were taken sitting under the twin towers in New York. I was there for the recently opened Actant's NY office , and would either have lunch at Battery Park or looking up at the towers. I have sometimes described my work as "if I were an architect, I would design skyscrapers", to then add "it is a pride thing, but also life is short, so let's push things forward". To eat my lunch below the towers, was in part to bask in the marvel of engineering tall buildings, but also to feel the ego that drives us to surpass ourself, and often others too.  These are some pictures of the towers I took: When the towers went down, I truly could not believe it. My old black and white TV had been switched on in the office (in Zug, Switzerland), my colleagues were huddled in front of it, I walked over, to hear someone say "one of the towers is down", to which I answered: "that is not possible, it must be hidden by the other". It was a s...

Software with formal properties at a low cost through monads and co-execution

Image
Not so long ago a good friend of mine mentioned his need for 'formal properties' in his code.   I asked him if he had already made the code purely monadic. He had. "Good", I said, "because the 'cheap route to formal properties' is first to ‘monadize' your code, and then 'reverse it' by bringing in 'co-execution'".  That last part needs some development.  Formal properties are not only about execution, actually mostly not about execution, but more about formal properties of state. So while you do need to show execution invariants, you often much more need to show that the ‘results’ happen within stateful invariants (e.g. of the ledger). The easiest way to do this is to  deconstruct / co-execute the state model backwards. This 'backwards' logic must 'match-up' with the 'forward execution' (monadic) model. My view has always been comonads are easiest for this, especially if your stateful model (e.g. a blockcha...