Skip to main content

Decentralised internet

· 4 min read
Konrad Polek

Table of Contents

Why bother?

Current affairs concerning freedom of speech undergoing in the USA (Trump / Parler bans) show, that most of the Internet is controlled by companies like Alphabet (Google), Amazon and Facebook, that aren't necessary interested in people freedom. It's not newly discovered truth, but it is currently exposed, even by mainstream media like TV channels.

When you know history, and what's more, you come from country ruled by soviets for half of century and your parents and grandparents took part in that history, you know how valuable is freedom of speech and communication. That freedom won't be granted by companies that are made for money. It's hard to bring together two sides of some conflict into a peaceful community and not harm that community. Imagine flood of that left vs right wing war comments in place, to which you came to read about your friends weekend trip. I think that most people come to social media because they are interested in friends and influencers life, not political/worldview wars. Moderation will try to extinguish flames of war to get more money from peaceful commoners - even if this leads to banning warriors.

For me it's OK when you want to hide the violence of world. But why should moderation decide what is violence and what's not? What if that moderation decide that your worldview is violent? What if your government decide that your political view is violent? You have way to defend your views.

There is plenty of Free Open Source Software you may use to create community you want to live in. Then you and your community can decide about the way of moderation you will use - maybe none at all? I will try to create few blog posts to show part of products available, mainly FOSS.

Social use

One of the most important use of decentralized systems i see is communication. You can chat using The Matrix protocol implemented with Element or other chat application. For comparison I will also describe Signal, which is not decentralized, but used for secure chat.

Protocol that I hope will take on meaning is ActivityPub. It's universal social network protocol which allows to create:

All of above create "Fediverse" - federated, distributed network which can be compared to Facebook/Twitter/YouTube mix.

Scuttlebutt is social network that is using "gossip algorithm". I will also try to cover it, as I am very curious about algorithm and platform usability.

Utility and others

I'll try to cover file sharing protocols and applications like Napster, Kaazaa, DC++ and BitTorrent. All those things are (or were) popular because of piracy, but they may be also very useful for free communities and personal or public use. Especially BitTorrent is often used by FOSS to reduce servers maintenance costs.

Other decentralized services that can be found around the Internet cover:

I will also try to cover idea of other shapes of Web itself - Web 3.0 and P2P networking.

Conclusion

I'm really interested in showing that freedom in the Internet exists and can be achieved by everyone. I hope that people will take responsibility in their hands and use all that solutions to create network experience the way they want - not the way Big Tech want it to be. Yet, I'm far from neglecting usability comfort and strength of common social media services. Just want to show that there is alternative that can be not only "free" but also very fun!

My coding journey

· 3 min read
Konrad Polek

Python was first language I learned. I never heard about static typing and things like this when my coding adventure started. Python was for me tool for writing ideas as code. I used it with Abaqus software, humongous software package used for engineering simulations. I found coding very interesting, and looked for something more.

Then I found Java. It appeared to me as more "enterprise" language than Python. Heh, compare stats from back then to the current TIOBE index - I surely wasn't good trends guesser.

TIOBE stats for 2016 TIOBE stats for 2016

TIOBE stats for 2021 TIOBE stats for 2021

I decided to learn JAVA and find job as a developer. On one side I found Java much more readable with its brackets. On other side... all that boilerplate. Why, oh why, I have to tell you Java that "Some string" is string? But, to be honest, I found coding style that Java enforces much better fitted with my brain.

I decided to create shopping desktop application. Something that you could use in store to sell products to customers. I started using Swing, only to discover that it is old. Then I switched to JavaFX. I used GIT with GitHub, so that code still exists.

I decided to learn more and create, guess what? A game. Strategic, turn based game. I used LibGDX and created simple strategy based on tabletop wargames, with various races and units. I even started to use sockets to add multiplayer.

War of Golden Blood prototype - got jar War of Golden Blood prototype - got jar

And then I went for students after-hours activity club, where they learned Java from working junior/mid/senior developers. I found out there, that desktop is no-go. Web apps are the base of current world. I learned a little of SpringBoot and got internship in IT company as a tester.

Because of no previous education in IT, Transition Technologies found place for me as a mobile apps tester. I started my work in IT company where main language was Java. It was used on back-end and in Android mobile apps. As far as I know, TypeScript was introduced in some front-end projects, but most were developed in good old JavaScript. iOS developers used Objective-C / Swift for their job. In my free time I was learning to code and used hybrid technology - NativeScript. It was suggesting use of Angular with TypeScript for app development - and I said : Why not learn something new?

After learning TS I got to know node.js, Postgresql and Vue.js for my development needs. More on that stack in the next post!