Today I removed most of my blog posts published on this platform. I’m no longer happy with the direction Medium is taking, while I have almost no control over it.
From now on, I decided to publish my content only on my blog. It gives me the following advantages:
I will keep here some of my best posts so far (at least based on stats). If you’ll find them engaging and informational, feel free to read more on my website. It is Ad-free, and it always will be.
Today I received valuable feedback. I will try to indicate the problem in computer lingo.
Human mouth represents a physical interface through which we can transmit messages (information) between two or more people ( point-to-point or point-to-multipoint topology). It serves as a transmitter (TX).
Let’s use physical interface RS-232 as a computer counterpart, or analogy, to the mounth.
In order to transmit some information across communication channel, you need to select a proper communication protocol. For mouth, it’s speech / language, and on RS-232 line we could use serial protocol or Modbus.
Other people’s ears serve as a receiver (RX)…
Two years ago I went to a workshop; there were about eight participants. We sat in a circle and we were all equal. Our instructor gave us a task. I don’t remember exactly what it was, but I remember how we looked at each other. Everyone was waiting for someone else to take the lead. Unfortunately, no one stepped forward. We may have lost a minute or two just looking at each other. And what for? None of us wanted to take the leadership role.
We are the ones we have been waiting for.
A situation like this was only…
A few days ago, I registered in one of those online challenges. During a week, you had to watch videos and work on daily goals. I knew this challenge brings high-value information, but I had no time to view the content.
Organizers used a private Facebook group in which they live-streamed the sessions, posted updates, and moderated discussions with their audience.
Later, they announced that the group stays, but they will delete all the videos. The challenge was coming to an end, and I had two options — watch all videos in one day, or download them and watch later…
In my latest post, I wrote about my journey in replacing a home router with a Raspberry Pi 4. One of the reasons was to increase the throughput of my VPN, and I considered WireGuard since I first heard Linus Torvalds himself liked it a lot.
Can I just once again state my love for it and hope it gets merged soon? Maybe the code isn’t perfect, but I’ve skimmed it, and compared to the horrors that are OpenVPN and IPSec, it’s a work of art. — Linus Torvalds
Recently I replaced my home router with Raspberry Pi 4. My main goal was to increase throughput through my VPN. While at it, I also migrated from OpenVPN to WireGuard, and read their whole technical paper. This post sums up my insights with repurposing a Raspberry Pi into a network device.
When you sign a contract with your internet service provider, besides the Internet service, you usually lease a router too. It is certified for the ISP network and gives you wired and wireless connectivity for all devices in your home. In most cases, you can’t get rid of this…
Startups fascinate me. It’s tough to succeed, and this is the reason why I dream of building one. According to the Fortune article, 90 percent of startups fail within a year. As a primary reason, they state “No Market Need,” staggering 42 percent.
When I look at the startup scene, I see too many startups competing for the same customers. At the moment, several startups build yet another social network or video streaming platform, not to mention the plethora of existing platforms out there.
Just the other day, I read about the Paris-based startup Yubo, which develops a video platform…
In my last blog post, I wrote about structuring the code of an Arduino library, and I also mentioned how important it is to write tests and proper, detailed documentation for it. Today I will build on those foundations and explain the concept of continuous integration with Arduino in mind. As a tool, we’ll use Travis CI, which is for open-source projects free of charge.
Imagine a situation where you work on a project with two other developers. In our case, an Arduino library. You’re using git to store your code, and every developer has its copy.
Writing a decent library is not easy. Opinions on how such a library should look like, vary among developers. I think that a robust library should have detailed documentation, and developers should cover it with unit tests. Also, a decent library should hide away complexity and offer an interface, which is intuitive and easy to use.
I spent most of my years in software development, working on large projects. We built them on robust frameworks, and in most cases, we also wrote proper unit and integration tests. …
Raspberry Pi is a very affordable little device, which you can use for various projects. It has outstanding Linux support, and it’s official Linux distribution, Raspbian, runs on all supported Raspberry Pis.
If you develop a project on Raspberry Pi 3 B+ and then you insert your microSD card into Raspberry Pi Zero, your code may still just work. One of the great benefits is a 40-pin GPIO header.