The end of software engineering and the last methodologist






(Reposted from the CACM blog [*].) Software engineering was never a popular subject. It started out as “programming methodology”, evoking the image of bearded middle-aged men telling you with a Dutch, Swiss-German or Oxford accent to repent and mend your ways. Consumed (to paraphrase Mark Twain) by the haunting fear that someone, somewhere, might actually … Read more




Emerald wishes






On display in the exhibition mentioned in the previous article is a citation, from Urmanche’s writings, of an aphorism by Qol Ghali (who, as I did not know, was a medieval Muslim Volga poet). It reads [1]: Emerald is a stone But not every stone is an emerald And not everyone can distinguish emerald from … Read more




In pursuit and in flight






There is currently in Kazan an exhibition of the works of the Tatar painter Baki Urmanche (1897-1990). One of his early drawings is entitled “The painter, the muse, and death” [1]: It makes a good point. Not just about painters. Note [1] Художник, муза и смерть. The first word means “artist” but also, more specifically, … Read more




Before I start screaming once again…






… at my would-be coauthors, would someone please tell them, and every non-native-English-speaker-but-aspiring-English-author, to read this? Please, please, please, please, please. In English the verb “allow” cannot take an infinitive as a complement. Ever. You may not write “my method allows to improve productivity” (even if it’s true, which it probably isn’t, but never mind). … Read more




Blockchains, bitcoin and distributed trust: LASER school lineup complete






The full lineup of speakers at the 2018 LASER summer school on Software for Blockchains, Bitcoin and Distributed Trust is now ready, with the announcement of a new speaker, Primavera De Filippi from CNRS and Harvard on social and legal aspects. The other speakers are Christian Cachin (IBM), Maurice Herlihy (Brown), Christoph Jentzsch (slock.it), me, … Read more




Devops (the concept, and a workshop announcement)






One of the most significant recent developments in software engineering is the concept of Devops*. Dismissing the idea as “just the latest buzzword” would be wrong. It may be a buzzword but it reflects a fundamental change in the way we structure system development; with web applications in particular the traditional distinctions between steps of … Read more




Split the Root: a little design pattern






Many programs take “execution arguments” which the program users provide at the start of execution. In EiffelStudio you can enter them under Execution -> Execution parameters. The program can access them through the Kernel Library class ARGUMENTS. Typically, the root class of the system inherits from ARGUMENTS and its creation procedure will include something like … Read more




New session of online Agile course starts now






Just about a year ago I posted this announcement about my just released Agile course: In spite of all the interest in both agile methods and MOOCs (Massive Open Online Courses) there are few courses on agile methods; I know only of some specialized MOOCs focused on a particular language or method. I produced for … Read more




Concurrency/verification positions at Politecnico di Milano






As part of the continuation of the ERC Advanced Investigator Grant project “Concurrency Made Easy” (started at ETH Zurich, see the project pages at cme.ethz.ch), I have positions at Politecnico di Milano for: Postdocs (having a doctoral degree) Research associates (officially: “Assegno di Ricerca”, with the requirement of having a master degree), which can lead … Read more