Writing a Simple D-Bus Service in Python -

D-Bus is a message bus that Linux systems use in order to make programs communicate with each other or with the system itself. It allows applications to integrate amongst themselves using well-defined interfaces. This allows each application to provide services that can be used by others, sort of like adding API’s to your programs. In this article, we’re going to write a small D-Bus service and a client to consume it.

···

Evolving Line Art -

In this article, I want to talk about a really simple technique for evolving line-art from pictures. On top of being an simple example for genetic algorithms, it is also a fun programming project that can be done in short time. For this project, we are going to use the Hill Climbing algorithm. The algorithm for evolving pictures is like the following. Create two empty images, image 1 and image 2 Do a small random modification (like a line) to the first image If the first image is closer to the target than the first one, copy it to image 2 Otherwise, copy the second image to image 1 Goto 2 I will be using Rust for this project.

···

Welcome 2018! -

Hello dear readers, welcome to another episode of “New Year, New Me”. First of all, I want to wish everyone a happy new year. Hopefully, 2018 will be full of happiness, health and success for you. For a variety of reasons some of you might have had a bad year. But worry not; because 2018 is here and whatever your goals were, you can keep trying. Today I want to reflect upon the previous year and make some resolutions about the upcoming one.

···

Putting My Blog on IPFS -

I’ve always been fascinated by the idea of peer-to-peer network protocols, and putting my website on a distributed network was something I’ve been meaning to do for a while. The recent increase in blog posts about IPFS finally pushed me over the tipping point. Hopefully, you can read this article on IPFS here. I am really happy with this change, and I urge everyone to do the same with their websites.

···

Unprotected Redis Instances in the Wild -

If you follow programming blogs, it is not uncommon to come across articles that mention how MongoDB exposes your private information without any protection on default settings. But Mongo is not alone in this. Even with sane defaults, it is possible to find that a lot of people have misconfigured their databases for their convenience. In this list of exposed servers is our beloved Redis. Redis is normally highly praised among developers.

···

Android Dialers are Stealing Your Data -

In Android, most functionality of your phone is provided by apps. And this includes making phone calls as well. Android lets you replace the dialer app on your phone with a custom one. This can be amazing and horrifying at the same time. It is amazing because it allows programmers to create interesting ways to call people. But it also allows the creators of malicious apps to secretly send your private data to their servers.

···

Graphs From My Todo.txt -

I am a really lazy person, there, I said it. I also get distracted really often. These two things combined might be the worst thing that can happen to one’s productivity. After trying many methods of creating todo lists, I have settled on two. Markdown files for detailed note-taking, and todo.txt for the list of things to do. On my phone, the Simpletask Cloudless app did an amazing job of bringing some order into my chaotic schedule.

···

Numerical Domains of China -

I recently noticed that numbers are used a lot in China for email addresses and user names. I also found out that a number of popular websites, such as Alibaba and Baidu, had official domain names that are entirely numbers. It seemed that people had a preference for numbers instead of latin letters, and even big websites wanted to accommodate for this. My girlfriend later confirmed that there are indeed lots of websites using just numbers as their domains.

···

About Slowloris -

You may have heard of DDoS attacks with huge amounts of bandwidth and compromised devices. But there is another, simpler, attack that only needs one computer and a really small amount of bandwidth. It’s called Slowloris. Even though the original script for the attack came out in 2009, that is seven years ago, it still affects a significant amount of servers. In this article, I will try to explain what it does first, and then show you how a really simple implementation can be written.

···

About the WHOIS Protocol -

If you are a web developer, chances are you have used whois before. WHOIS allows you to retrieve basic information about a domain such as when it was registered, when it will expire and the contact information of the owner. There are lots of websites and command line tools that allow you to query this information, but they all use the same protocol in the background. The WHOIS protocol is a simple, plaintext-based protocol that listens on TCP port 43.

···