Life of 2020 for an ordinary self-centred man

Image for post
Image for post
Photo by Alexis Fauvet on Unsplash

Before 2020

Early to bed, early to rise
Early to work to punch on time

Kids to school, missus cooks all
In this stressful pool, feel like a tool

Fights on roads, days and nights
Honks with others, bonks with words

Late home drowsy, kids be sleepy
Missus be lovely, yet my mood’s gloomy

Weekends hopeful, are so cheerful
I am so grateful, Mondays aren’t wrathful

Routines monotonic
Are gone with sputnik

There comes the pandemic
Break our lives like a ceramic

After 2020

Early to nothing, late to nothing
Not good everything, yet the silver lining

Kids stay home, misses re-born
We all helping, each others…

Briefing from my tech talk to students at the University of Moratuwa (CSE), Sri Lanka

What are Home Automations and The Protocols Used

Though there are numerous protocols used by proprietary developers like Google, Amazon and Philips in this article we will be talking about the use of MQTT in home automation. This is because MQTT is a reliable open source message brokering framework for IoT communications.

Image for post
Image for post

Few Tips about MQTT

  • Not a message queueing framework, but rather a message brokering mechanism. Queuing happens in order to support the process of brokering, hence the term telemetry.
  • IBM scientists invented the protocol in 1999 to monitor an oil pipeline that runs across a desert.
  • Uses open standard, hence easy licensing!
Image for post
Image for post
Image Source: Link

How MQTT Works

  • MQTT uses the publish and subscribe or broker architecture. …

Message Queueing Telemetry Transport and its applications in IoT

Ever wonder how thousands of IoT devices talk to each other? Well, you are about to know!. Not only that, we will see how we could use MQTT for simple automation tasks as we go along this article.

Image for post
Image for post
Photo by Harrison Broadbent on Unsplash

I’ll tell why I put the above image at the end of the article.

MQTT Origins and Intro

MQTT (Message Queueing Telemetry Transport) is an application layer protocol for message brokering. Although the word queueing is within the name, the main functionality is being a broker for message passing. IBM scientists invented the protocol in 1999 to monitor an oil pipeline that runs across a desert.

The main goal of the protocol was to be able to communicate under limited resources with less computational overheads. …

How IoT Devices are Discovered for Communication

IoT is a booming area of study. Although it is not very straight forward, your Phillips Hue, Chromecast, Personal Cloud device, Smart-TV and all that is connected to your router are IoT variants. There is a minimum of 10 IoT devices in a modern home (including your phones, laptops, wearables, etc).

Image for post
Image for post
Photo by Dan LeFebvre on Unsplash

The normal usage flow is you pair the items with your phone via Bluetooth. Everything else is “magic” or is it? Well, this is what really happens.

Preliminary steps in connecting a new device to your WiFi

  1. You plug/power up the device and search for it using your mobile app (say Apple watch app or Galaxy Wearables app)
  2. The app will search for the Beacons that transmit some information that matches the databases in the cloud (Samsung or Apple). If the beacons are valid (authentic product) the apps will pair with the items. Usually you are either asked to press an OK button in your Watch (Or something else) or to enter a code so that pairing can begin. This is how unwanted pairings are avoided. This happens via BLE (Bluetooth Low Energy) beaconing. …

What to do, how to do and what not to do in video conferencing

This article comes to life after being involved in heavy zoom/google video conferencing for different purposes. This was a subject that we quite usually talk among peers during the times we started working from home via zoom communication. Before a meeting, there shall be several key points to be considered.

  1. When to have the meeting? (day, date and time)
  2. What platform to be used?
  3. Who will be participating?
  4. Mode of communication. Presentation, voice talk, group chat, etc.

These factors must be considered for an effective meeting with the best compliance from all the participants. This is because, given the “working from home” situation there could be parents, elders, pets, etc. Sometimes it is difficult to avoid distractions given the personal circumstances one might be dealing. …

Making a network accessible media server using open-source Kodi media server

Passing the lockdowns we never have experienced before, this year is a bumpy ride. Having said that, one way many of us passed time during total lockdowns was watching media (TV shows, movies, etc) over streaming services (Netflix, AppleTV, etc). Some of you may have used your own storage devices to share media among friends to cope with the lonely times.

Disclaimer: I by no means encourage readers to commit copyright infringements. Kodi is an open-source project for media serving and does not stand by copyright crimes. Sourcing media needs to be done legally! …

What is a Raspberry Pi, why you need one and what you should buy?

The new Raspberry Pi 4 (8GB) model was released earlier this year. I was able to get one for my self a few days back. The experience was really smooth. Now the device comes with 5GHz WiFi along with 2, 4K HDMI outputs. That being said, in this article, I will explain a few ways to connect to the development board along with some features it has.

Image for post
Image for post
Raspberry Pi 4 (8GB). Image by Author

Raspberry Pi’s are a series of devices that comes as single-board computers or SOCs. They are self-contained units for prototyping and development work.

Image for post
Image for post
Screenshot by Author from RPi Website

This sophisticated device has many features including GPIO (General Purpose Input/Output) pins including the following tech specs. …

An introduction to the concept of Edge computing

The concept of Edge Computing is inspired by CDN technology. CDN stands for Content Delivery Networks. A CDN typically works to bring the content (images, video, script files) on the Internet closer to its users. This helps faster streaming of content with proper load handling. This is how YouTube, Netflix, etc delivery content to different regions without getting overwhelmed by the massive data rates required for streaming services.

Edge Computing brings both data and computations closer to its users!

In Edge Computing the data and computation are localized so that the response times and bandwidth requirements are significantly reduced. …

How P2P sharing works and what it has to offer for the future of the Internet

BitTorrent is one of the most popular P2P networking protocols in use. Gnutella is one such protocol that existed before BitTorrent. Talking about P2P, it holds more than 40% of the total Internet’s traffic (source). Though the “BitTorrent” software comes into your mind, the idea of Torrenting is much broader and complex than the tool itself. Furthermore, BitTorrent is the name of the protocol that is used for the P2P file transmission.

Image for post
Image for post
Photo by Alina Grubnyak on Unsplash

What is P2P In file transmission and Why?

In a typical file transmission scenario that happens on the Internet, you are either uploading a file or downloading a file from a publicly accessible server. However, in P2P file sending/receiving this happens between two or more parties who aren’t strictly public on the Internet. Hence, it is called P2P or peer to peer. …

Python logging and code snippets for you to use right away

Logging is a very important functionality for a programmer. For both debugging and displaying run-time information, logging is equally useful. In this article, I will present why and how you could use the python’s logging module in your programs.

Image for post
Image for post
Photo by Chris Ried on Unsplash

Why Logging and not print()

There is a key difference between a print statement and logging output. Usually, print statements write to stdout (standard output) which is expected to be the useful information or the output of the program. However, logs are written into stderr (standard error). We can demonstrate this scenario as follows.

import logginglogging.basicConfig(level=logging.INFO) #We'll talk about this soon!logging.warning('Something bad could happen!')'You are running the program')
logging.error('Aw snap! …


Anuradha Wickramarachchi

Blogger | Traveler | Programmer PhD Scholar

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store