Sunday, March 27, 2022

HCI – difference between a disaster and a miracle?

Human-Computer interaction


The user experience of a system or a program is something that everyday users might take for granted, depending on their needs. Today's mainstream applications and devices usually feature carefully thought out designs to make the interaction between man and machine as seamless as possible (with a few exceptions). However, in some applications, HCI can quickly turn into a life-or-death matter.

When it goes wrong


In aviation, a lot can happen during a brief period of confusion. Air Inter flight ITF148, an Airbus A320, was on approach to Strasbourg Airport when the pilots forgot to switch the autopilot mode from Vertical Speed Mode to Flight Angle Path mode for landing. The pilots then intended to set the aircraft's autopilot to a normal 3.3-degree descent angle and input the number "33" to the system. However, in the Vertical Speed Mode, this 33 translated to a descent of 3300 feet (or around 1000 meters) per minute. This happened in the mountains at night, and there were low, fairly dense clouds, so the pilots had no visual cue of how fast they were descending. Shortly after that, the aircraft crashed into the mountains, and no survivors were found. In response, Airbus changed the way their system displays descent speed, which is now displayed as a four-digit number instead of just two to prevent confusion.

ITF148. Wikipedia



There have been other similar incidents over the years, most of which were met with aerospace companies improving their designs to what they are today. Hopefully, by now, they've gotten it right, or at least right enough.

When it goes right


Generally, good HCI is achieved when the user, its needs, capabilities and limits are considered in the system's design. Staying on the topic of aviation, the General Dynamics F-16 fighter jet is completely fly-by-wire (meaning that the pilot input is given to a computer, which then controls the aircraft based on how it interprets the input). This feature allowed the designers to incorporate something called the Automatic Ground Collision Avoidance System, which, as the name suggests, avoids colliding with the ground. This is especially important in fighter jets, where the pilots could potentially pass out mid-maneuver due to extreme G-forces. To date, it has reportedly saved 10 pilots and 9 aircraft in total.

The USAF released footage of this system in action a few years ago:


Conclusion


HCI can potentially make or break a bad situation, especially in crucial applications such as aviation. The human aspect of a system is a very important thing to consider.

References


Sunday, March 20, 2022

Last 20 years of the IT sector in Estonia briefly

IT professionals and Estonia


For as long as I remember, IT people have been highly valued in the Estonian economy. While tech-savvy people looking for work in line with their interests have generally been a fairly common occurrence here, some events in our country's history have deepened the need for truly skilled IT specialists.

Today, Estonia has made itself somewhat known in the world (at least among people in the IT field) by trying to be the most digitized country in the world. It has worked somewhat, although some of the claims circulating the internet are false (like the "wifi anywhere in the country, even forests" thing, who thought of that one). This goal has greatly increased the demand for IT professionals in Estonia over the years.

How did it start?


Estonia's recent history is entangled with tech, becoming the first country to allow digital voting as early as 2005. It was no small effort, and the voting system itself is inherently very security-focused, so a considerable workforce versed in cyber security was required.

The cyber security focus escalated massively after 2007 when Estonia suffered the then-second largest cyber attack ever recorded. This attack displayed the potential vulnerability of a country, unprotected from potential cyber threats. As a response, Estonia took up bolstering its cyber security capabilities, creating even more demand for workers in the field. Today, Estonia houses the NATO cyber defence hub CCDCOE and has a separate branch in its military dedicated to cyber defence (KÜVJ).

From a non-defence perspective, Tallinn has been dubbed the Silicon Valley of Europe, with the number of startups per person surpassing any other European country.

What does this mean for an IT professional?


The range of jobs a professional can find here is pretty colourful. In CVKeskus.ee, as I'm writing this, there are 188 job offers in the IT category, with the oldest offers being just under a month old. A lot of them offer the chance for working from home, and almost all of them are well-paid by Estonian standards. In addition, a lot of professionals prefer to change jobs every ~3 years to keep the pay competitive by market standards. Some of the offers are listed in English, but most of them require at least some English language skills anyway.

Common expectations for a worker in the field


In addition to whatever skill set is needed to complete the technical job, good English and overall communication skills are highly valued. As the crowd in Tallinn becomes more international, the Russian language loses a little bit of its importance in the workplace compared to the past, however, it is still a plus.

Comparing past expectations and conditions to current ones, we can see that the amount of jobs has grown, but workers are also much less "loyal to their workplace". I see it as a good thing because it incentivizes employers to make working for them more beneficial for the worker as well. In addition, the importance of the Russian language has declined, with English mostly taking over in the IT sector. Skills with newer version control technologies like Git have become almost required to facilitate more efficient development. Formal education in the field has lost a little bit of its importance, however, it is still heavily considered as a factor in hiring (although experience and overall competency outweigh a certificate – if you make it to the interview).

Conclusion


Estonia's strides towards digitization (successful or unsuccessful, depending on the take) have undoubtedly facilitated the emergence of a fairly IT-focused job market that has changed and evolved quite a bit over the years.

Sunday, March 13, 2022

Online interaction and power abuse

Moderation



The Internet is vast and mostly open. Its userbase is comprised of extremely different people in almost every way – and it shows. Massive flame wars, disagreements, propaganda, trolls and other similar issues plague most online communities. This is why moderation is almost always present in every such community – it's a must, and doubly so in communities dealing with relevant/serious topics. For this purpose, communities use the fittingly-named moderators to keep the discussion at least somewhat civil.

As moderators are people themselves, they are vulnerable to being biased or unfair. They are usually known members of the community, chosen for their integrity and overall contribution to the community, so the moderator is somewhat of an honorary position in these communities. Still, not every person in this position is always fit for it.

Power abuse


The job of a moderator is to stay objective. When one of them does not agree with what is said in the community they're supposed to be protecting, what should they do? The answer is obviously simple but often does not match up with reality. A moderator abusing their power is a dangerous thing – and will warp the perception of their community's userbase substantially if not caught. 

For example, in 2016, Reddit CEO Steve Huffman, known on Reddit as u/spez admitted to using his engineer-level access for editing comments that criticized him, replacing his name/username with the usernames of a pro-Donald Trump subreddit, r/the_donald. He was met with severe criticism from both the community of his website and his own community team.

Why?


Being a moderator is essentially an unpaid job. In all communities except the largest like huge social media networks, moderators are simply respected members of the community and spend some of their free time on this work. This poses some potential problems:
  • If the moderator does not have much free time due to being an overall active person, the quality of moderation will suffer because the moderator is simply not available.
  • If the moderator does have a lot of free time to work for the community, where does this free time come from? Can we be sure they are fit for the job of controlling what the members of the community see, and more importantly, what they don't?

These problems are very nuanced and there is no straight answer. Most of the time, it has to be handled on a case-by-case basis.

Conclusion


Moderating is an important job in online communities, but it is almost always a hobby. Extreme care must be taken when selecting moderators because a power-abusing one is a dangerous thing.

Sunday, March 6, 2022

Copyleft, its forms and choosing a license

Copyleft


First of all, what exactly is copyleft? The name comes from a pun on the phrase "Copyright – all rights reserved", turning it into "Copyleft – all rights reversed". Copyleft was born due to the ageing licensing laws of copyright, which were largely hard and impractical to use on software, especially the open-source kind. It is distinct from copyright mostly in the sense that it is generally much more lenient in terms of distribution and modification. Of course, different variations exist, but this difference remains.


Variations


Strong copyleft


Strong copyleft licenses are characterized by the demand that all derivations from the original licensed work retain the license of the original. This means that nothing derived from a strong copyleft-licensed creation can be made proprietary. Integrating such modifications into hybrid systems with other kinds of software is much more difficult under a strong copyleft license, however, it is the most beneficial for end-users. Publishing the source code of the creation is also required.

The most common strong copyleft licenses are:
  • GNU GPL
  • Affero GPL, which is generally similar to the GNU GPL; but additionally deals with the SaaS loophole.
A strong copyleft license may be chosen if the creator does not want anyone deriving their proprietary software from their creation. 


Weak copyleft


A weak copyleft license, like the strong license, requires that any modifications of the original work retain the license. However, some exceptions are set to make software integration easier. This is especially useful in creating code libraries. Like the strong copyleft, the weak copyleft requires the publishing of source code.

Examples of weak copyleft licenses:
  • GNU LGPL
  • EUPL, can be considered a "variable" license
  • MPL
A weak copyleft license would be a wise choice if the software is meant for further development and integration.


Non-copyleft/permissive license


A permissive license is the most lenient of the three, not requiring any sort of license inheritance. It does also not enforce publishing the source code. This sort of license gives the most freedom to the developers.

Examples of permissive licenses:
  • BSD license
  • MIT license
This sort of license may be good for some component-level programs such as drivers.


Conclusion


The copyleft licenses greatly help in regulating the world of open-source software. There is a multitude of licenses to choose from, at least one of which will be fit for whatever project a developer may have.

Gaming with just your chin

Introduction Gaming is a hobby for many people, but a lot of us don't consider the fact that some disabilities could seemingly massively...