Posts

Showing posts from August, 2020

Deep fakes, fake news, it's old news!

Image
The advances of AI and cheap compute power allow us to automate the making of “fake” media texts. Deepfake media generally points to media texts (e.g. audio, pictures and videos) portraying (celebrity) persona in events that have never taken place. The term deepfake references the use of deep learning to create the fake. The interconnectedness of the internet allows us to disseminate media texts with unparalleled speed and depth into (social) networks. Articles with false information disseminate with the same ease. The term “fake news” points to any type of “news” article containing false information. Some are spread with the intent to disinform. Don’t panic! Creating fakes and false information are not new. The spreading of false news as a (political) strategy has happened since at least the 13th century BC . Creating imitation pieces, like deepfakes, is probably equally old. The concept has been formulated as early as 100 BC .  The widespread availability of digital methods to cr

Techy haiku

Image
It trickles past fingers Streaming to the greatest river Flowing code by me

Refactor the Agile Manifesto!

Kill yr idols! by Sonic Youth I enthusiastically cheer to the spirit of agile software development! Though I do have a problem with the agile manifesto . The lines made a stand at that point of time. A stand to claim ownership of software development as the craft of software developers. Sadly the stance is weakened by the discussion that is implicit to the juxtaposition in each line. It can be a resounding message of what agile software development stands for. So why not refactor it? We refactor, rework text and code all the time. So here an unashamed refactor of the manifesto: To develop software with agility: Individuals and their interactions develop software. Their main focus is to develop working software. Responding to change is part of developing working software. The customer’s cooperation is necessary to develop working software. These are the guiding principles of agile software development. Unclear? Suggestions? Refactor needed? Let me kn

Thinking about tech: Technological Determinism

Technology changes the world. Technology improves our lives. Just look at the Black Lives Matters movement. Social Media will drive the change of society to finally get rid of racism. It is the power of social media that drives this change. Technology marches in seven-league boots from one ruthless, revolutionary conquest to another, tearing down old factories and industries, flinging up new processes with terrifying rapidity. by Charles A. Beard The many grave fallacies in the paragraph above show technological determinism in all its reductionist crudeness. Technological determinism is the belief that technology is the main (positive) force that steers the direction of society. It reduces the full complexity of society to a crude [ technology > societal effect ] vision of history and societal change. The Medium is the Message by Marshall McLuhan From left to right, Karl Marx's idea, that fast-changing technologies alter human lives, is pervasive

Software development as a growing profession - Future

Software development is a growing profession. In three blogposts we’ll be looking at the past, present and future of software development. This post I’ll be looking at the foreseeable future of our profession.  As a software developer I receive quite a few job offers, even internationally. It’s been rumored that our profession is quite popular. So let’s put our popularity in numbers.  Sadly, I could only find some statistics on the US hint at the popularity of our profession. For the US it’s been estimated that by 2021 there will be a shortage of 1.4 million software developers. This is besides the estimated 7 million developers already to be employed in the US. So 1 in 6 software development positions remain unfulfilled. This doesn’t even seem to take a decline of developers into account, e.g. because of  or just changing their profession.  Because of a lack of data I’ll presume that software developers are globally equally desired as in th

Software development as a growing profession - Present

Image
Software development is a growing profession. In three blog posts I’ll take a glance at the past, present and future of software development. This post looks at the amount of software developers today (2020). Today there are an estimated 23 million computer programmers, up to 26,5 million . Of these programmers, 15.5 million are professional software developers. The number still grows with 20% each year.  (I f you regress the number of programmers with a yearly growth factor of 1.2 (20%), you end up with a tidy 8 pro’s and 11 total programmers in 1940 .)  In other words, the number of developers doubles in less than 4 years. This means that on average 1 in 6 developers has less than 1 year of experience. Almost 1 in 3 developers has less than two years of experience. Over 2 in 5 developers has less than three years of experience. And to point out the obvious, half of all developers have less than 4 years of experience. This estimation seems to be confirmed by developers that report

Software development as a growing profession - Past

Image
Software development is a growing profession. In three blog posts I’ll take a glance at the past, present and future of software development. This post is on software development from past to present. Humans have made devices that can compute complex calculations from input, as far back as 100 BC, like the Antikythera mechanism . The next step, programming, has been possible since at least the 9th century . The first programmable devices that we know of were programmable musical instruments. The first programs were thus rhythms and melodies. Centuries later Ada Lovelace appeared. She theoretically programmed an algorithm in 1843. She even wrote proofs that it would work. The software was to be executed by a Charles Babbage Analytical Engine, a mechanical computer. The engine ended up not being build, only sets of plans exist. This, sadly, prevented the growth of the profession of steam(punk) developers.  The principle of modern computers was proposed by Alan Turing in 1936 . Nine years

A Programmer's Oath - Part 04 - Another amateur's attempt at an oath

“ Programming, as a profession, is of great importance to society. Other professions with similar importance have oaths and codes of conduct to guide the professionals in their field, like M.D’s and lawyers. This has benefited their professions in many ways, like taking the lead in the creation of legislature.” ( Read my extended summary of Uncle Bob’s presentation ) Inspired by Uncle Bob I'm taking a glance at an oath for programmers. Why is it important? How can we build on the experience in other professions? What role could an oath play? After 3 other posts, here is my attempt at a Programmer’s Oath. It is an adjusted copy of the Declaration of Geneva , the most widely sworn oath. I’m quite happy with the outcome. Still, like code, any oath it should be properly reviewed. In programming the direct subjects of our work are the programs we create. An oath shouldn’t be complicated by including possible patrons (e.g.

A Programmer's Oath - Part 03 - My experience with oaths

“ Programming, as a profession, is of great importance to society. Other professions with similar importance have oaths and codes of conduct to guide the professionals in their field, like M.D’s and lawyers. This has benefited their professions in many ways, like taking the lead in the creation of legislature.” ( Read my extended summary of Uncle Bob’s presentation ). Inspired by Uncle Bob I'm taking a glance at an oath for programmers. Why is it important? How can we build on the experience in other professions? What role could an oath play? In a profession long ago.. In a galaxy long, long ago (2014), I worked as a licensed an in-house insurance agent. A year later I started as an independent financial advisor. While I worked in the financial sector, the lack of trust in the sector was… noticeable. And yes the sector deserves it. The global financial crisis of 2008 is just one of its sins. Some people experience the fallout even today. Jus

A Programmer’s Oath - Part 02 - What is an oath? What is the most well known oath?

“ Programming, as a profession, is of great importance to society. Other professions with similar importance have oaths and codes of conduct to guide the professionals in their field, like M.D’s and lawyers. This has benefited their professions in many ways, like taking the lead in the creation of legislature.” ( Read my extended summary of Uncle Bob’s presentation ) Inspired by Uncle Bob I'm taking a glance at an oath for programmers. Why is it important? How can we build on the experience in other professions? What role could an oath play? An oath is a pledge to a third party. A pledge is a sincere statement of fact or a promise. The third party makes the pledge even more sincere and to be taken for truth. Possible third parties are god(s), a ruler, one’s life.  One of the most well known is the Declaration of Geneva . A declaration of a physician’s dedication to the humanitarian goals of medicine. It was intended as a modern revision of th

A Programmer’s Oath - Part 01

Here’s a recap of a talk by Uncle Bob on a programmer’s oath: “ Programming, as a profession, is of great importance to society. Other professions with similar importance have oaths and codes of conduct to guide the professionals in their field, like M.D’s and lawyers. This has benefitted their professions in many ways, like taking the lead in the creation of legislature.” ( Read my extended summary of Uncle Bob’s presentation ). The oath Uncle Bob proposed in the talk seems to be comprised of code centric points (five out of nine literally mention code). At many points it seems to be more of an opinionated work instruction, than oath aspiring to higher goals.  In my opinion it mainly shows how unfamiliar our profession is with oaths (and probably ethics). Still, other fields have been swearing oaths for millennia. Like any good coder, we should build on the work of others. This should allow us to skip a few millennia... more on this tomorrow.