Welcome to my personal and quite experimental blog!
Introduction To Me as a Person
Computer science is one of my great passions in life. Since I was a child I was always fascinated by computers and how they work. This took so far that I have dedicated my career studying and working in the sector. I am currently employed as a database and linux adminstrator but I was and still am a software developer by heart.
My interests are very widespread and range from programming in different languages, databases, Linux, the GNU-philosophy over to embedded systems and future-oriented, ethical software development. So these are the topics you can expect in my blog. As a starter let me share some thoughts and ideas I want to get more into in the future.
Why is privacy endangered?
Technological progress has shown that it gets easier and cheaper to monitor more and more people without them noticing or even understanding the complex misusage of data against their interests.
Almost everytime people tend to give up privacy in exchange for convienence. Think about modern smarthphone operating systems which give the user control about specific app-wise access permissions but also mobile applications which don't work with the full set of these permissions. As there is a need for the users to have the application fully working they give up their whole privacy in exchange.
As another example many websites try to monitor their users to keep track of which pages are mostly frequented and therefore optimize their contents to improve their business. As it is hard and very costly to develop your own monitoring and analyzation software you can easily integrate a third party doing this for you but at the cost that the visitors data is now present to two parties; the website owner and the third party service. Hence each service you integrate in to your website increases the count of parties you give access to your data.
This are just two aspects which show how our decisions endanger our privacy and how software is made to give the users no choice. As in the second example we can see that sometimes we aren't even considered when others decide on how to use collected data.
Higher, faster, further
Computers have become more and more powerful. We even carry them around in our pockets nowadays. As most of us use them for our jobs, communication and entertainment we came to a point in which one significant point is getting out of focus: Efficiency.
Isn't it crazy that computers make that huge steps every year regarding their processing power? Moores law which states that the number of transistors on an area doubles every 12-24 months. But we still face the same problems using computers: waiting times, stutter, freezes. Why is this so?
There are many factors which come in to play regarding a software's performance. The effort and knowledge needed to develop software has significantly decreased over the last decades. Toolchains, theories and experience play a huge part for high performing programs.
Sometimes there is not much room for improvement or no need for more speed. There are strict rules regarding optimization of software. There is a saying regarding software optimization which states 2 rules: "1. Don't do it 2. Don't do it yet". Primary focus should always be functionality but there are opportunitys which when considered don't even need optimization.
Free as in Freedom
Once upon a time every source code was delivered with the hardware. The hardware parts itself were very expensive and as you could not use it without any software it was added for "free". Once computers became more popular, cheaper and more generally in their use cases the industrial focus shifted from hardware to software.
Software isn't meant to be gratis. Software is meant to be free. Imagine buying a computer, getting a gratis copy of an operating system to use it and then after a few years the software company decides to abandon their software. No one can guarantee that your computer will run in the future. Wouldn't it be great if you could gain control about the software? Wouldn't it be awesome if you could make sure that your machine is supported in the future?
Even though not everybody is able to program free software enables everybody to use their hardware and software as they wish. People suffering under the same circumstances can get together to work on a solution. Closed source software gets obsolete and dies while free software lives on as long there are people using it. Let's take this into account everytime we start a project.
Thank you!
David Krawiec