Tag: Rant

Ethics

I recommend the video on youtube of the excellent presentation on ethics in software development which was given at this year’s Devoxx UK by Steve Freeman (of GOOS fame) and Jonathan Rothwell. Ethics is an important element of software craftsmanship, which I have discussed previously here. We’re not necessarily in charge of what happens in the world, but nothing happens without software these days, so nothing happens without our involvement. Involvement implies moral choice, and moral responsibility for the choices we make.

Particularly troubling in the presentation is the mention of an article by a journalist who stumbled upon software developers at a Nazi rally in Seattle, WA. I have tried to steer clear of politics in this blog, but maybe we can no longer separate code from politics. Can I no longer assume that all who read this blog are “fine people”? I may have to take political positions on this blog now because evil has come to our digital world as our digital world exerts more and more influence over the physical world. Code is neither good nor bad. It’s a tool. But we have a responsibility to advocate that it, like other tools, be used for good. I like that the internet has made it easy to express our uniqueness and made it possible for people who feel different to find others who are like-minded. There’s no more “normal”, and that’s probably good, but hate should never be acceptable.

Freeman and Rothwell also cite several times the excellent writings/talks of Maciej Ceglowski, who I consider to be the Socrates of Silicon Valley. He is the cold shower that pulls us out of sci-fi fantasies and into the real world that we software developers are really creating. The reality of what we’ve created is not always as pretty as the story that was told to sell its creation, and behind the idealism of changing the world there is greed.

We might want to think about protecting privacy and human attention and even truth, which have been increasingly under attack by software developers, whether intentionally or as a side effect. Even the environment is under threat by software, as the ponzi scheme that is crypto-currency demands ever-increasing energy resources in order to insure scarcity.

There is hope. Personally, I’ve been fortunate to be able to work recently on software that facilitates compliance with Europe’s GDPR law, which is an important step forward for the protection of privacy.

Advertisements

When an upgrade is a downgrade

I recently blogged about software factory tools, but now I have to rant about one of those tools.

Sometimes, it seems, for non-technological reasons, a software editor will, perhaps intentionally, make the new version of its software worse than the previous one. Windows 8 comes to mind.

I did not expect a minor release of SonarQube server to fall into this category, but release 6.2 seems like a man-made disaster to me. The creators of SonarQube decided that it would be a good idea to suddenly and irrevocably remove several of its central features. They removed the distinction between unit and integration tests because it’s too hard for them to deal with. That could really mess up the data in your customized reports, but don’t worry – they also deleted your custom reports! All of them!

Apparently they removed dashboards and widgets because they don’t want SonarQube to be “seen as a multi-purpose aggregation and reporting tool”.  It’s true that as of 6.1 the reports they generated automatically were pretty good, but the reports you meticulously set up that your boss has been using in executive progress reports ? Gone forever. The only alternative is restoring the SonarQube database and re-installing version 6.1 without ever having the possibility to upgrade again. How’s that for progress?