When devices whisper to each other – Part 3: Bluetooth Low Energy

In the last post of this series, we learned about Bluetooth Classic, the traditional Bluetooth that has been around for more than two decades. Today, we look at a variation of Bluetooth that was introduced half a decade ago in order to support really small devices running all day: Bluetooth Low Energy. Continue reading “When devices whisper to each other – Part 3: Bluetooth Low Energy”

Managing finances as a freelancer

Today, I am not writing a post on technology and instead writing something important about a different responsibility for those who are vying to be software freelancers. While I am writing this post as a software professional, this post applies to all freelancers. Part of the post applies to employees too. Today, I am discussing how not to ignore your finances and how to stay on top of them. Continue reading “Managing finances as a freelancer”

4 elementary must-have skills for a software engineer

Software engineering is a complex field. Engineers are making solutions for everything from turning a faucet inside a bathroom to sending a spaceship to Mars. Software is all-pervasive. Even those who hate the world of software cannot avoid using software applications. Contrary to the world two decades ago, when mechanical devices were purely mechanical and communication devices were purely electronic, today we have a world where everything has a touch panel, touch screen and pieces of hardware that won’t work unless the functionality is powered by software.

What we have seen in the last 20 years is actually nothing. The world of software is only set to grow more. I really cannot and do not want to predict how many fold the software market will grow. The quantity is unknown. But I can tell you that many more software engineers will be required and deployed. But as companies open and close, technologies come and go, software engineers will need to adapt themselves to growing needs. They cannot do so unless they master the following 4 skills, which are extremely elementary. Continue reading “4 elementary must-have skills for a software engineer”

When devices whisper to each other – Part 2: Classic Bluetooth

In the last post in this series, I elaborated why it is useful to have short distance communication. In this post, we will look at how classic Bluetooth works. Nearly every electronic device today supports Bluetooth. Some people use it more than others. But what exactly is Bluetooth and when is it useful? Let’s see in this post. We will cover only classic Bluetooth and not the latest Bluetooth Low Energy, also called Bluetooth Smart. Continue reading “When devices whisper to each other – Part 2: Classic Bluetooth”

Choosing your clients: Whom not to choose

Finding a new software project is hard, whether it is for a company who must pay its employees every month, or for a freelancer who wants to ensure cash flow. During lean times, it is common to accept projects from any client just to stay afloat. But even in desperation, there are certain types of clients that you should avoid. Some of these clients are major red flags. Trust me, it’s better off to not work with these clients that to get trapped by them. Which types are they? Let’s see in this post. Continue reading “Choosing your clients: Whom not to choose”

When devices whisper to each other – Part 1: Intro

Hello Internet. Today I am starting a series of posts that will explain how devices whisper to each other. Er.. what does that mean? Well, when devices are within a few millimetres to single digits of metres of each other, they don’t need to shout out, do they? That’s why we are learning about a few communication protocols that are used when devices are near each other.

“But isn’t it better that devices are able to communicate from really far away? What’s the point if they just communicate when really close?” Bear with me, as I am going to give you some good reasons for why devices should communicate only when close to each other. Continue reading “When devices whisper to each other – Part 1: Intro”

When no UI is the best UI

A couple of years ago, I read the book The Best Interface Is No Interface, by a man who calls himself Golden Krishna. Mr Krishna is a UI/UX specialist who consults several big companies on how to design their UI. While most UI/UX specialists get paid based on the number of screens / UI components they design, Golden Krishna gets paid based on how many UI components he eliminates from an application. Sounds contradictory, but true. Why?

This is because the golden boy of UI is eliminating unnecessary work and saving development time for companies. His consult on making less UI and screens is taken seriously and as a result companies make small, light-weight and easy to use applications. Continue reading “When no UI is the best UI”

When to reject creating software solutions

Did you read the title of the post correctly? Am I, a software engineer, really encouraging you to reject writing software solutions? Yes indeed I am. There are times in your career when you’ll need to evaluate if a particular problem really requires writing a new piece of software. Sometimes, you’ll find that a NO is the best answer for everyone. Continue reading “When to reject creating software solutions”

How QR codes work

You have probably seen ways in which the physical world represents digital data in print. The one you are most familiar with is perhaps bar codes. You see them on products at a shopping mall. The checkout counter scans them and fetches the information about the product from a database. Even books have their ISBN codes printed in a bar code.

Over the last decade, another technology named QR or Quick Response code has gained popularity. While traditional bar codes are 1-dimensional and can represent at best between 16 – 20 characters of data, QR falls under a group of data encoding technology called the ‘data-matrix code’ or colloquially, ‘2-dimensional bar codes’. QR codes were pioneered by the Japanese company, Denso wave.

QR codes are capable of holding 7089 characters of data. You can see QR codes all over the Internet, on packaging, on information booklets and even on branding boards at shops. They usually serve as a way to encode URLs so that the user can get further information about a product or an organisation. But URLs are not the only thing possible inside a QR code. Let’s see how they work. Continue reading “How QR codes work”

Understanding DevOps: An interview with two practitioners

As one of the latest catchwords in the world of software, DevOps is a term that has been growing in popularity over the last decade. Is it yet another meaningless jargon which will fade away when the fashion wears off (Blu Ray discs, are you listening?!). Or is it something really useful, practical, helpful and here to stay for generations to come?

To understand what DevOps is, how it works and how it helps the people who use it, we sat down with software developer Dave and operations manager Oprah to understand how they use DevOps in their company, FutureSoft Solutions. Continue reading “Understanding DevOps: An interview with two practitioners”