Posts

Showing posts from August, 2019

DNS Spoofing in Kubernetes Cluster

Image
In this post I’ll describe how an attacker, who manages to run malicious code on a cluster can, with no special permissive permissions, successfully spoof DNS responses to all the applications running on the cluster, and from there execute a MITM (Man In The Middle) on all network traffic of pods. Before we get into the attack scenario, let’s understand how Kubernetes intra-node networking works. We can discuss about Kubernetes networking in a whole series of blogs and still not cover everything, so in the following explanations, I’m mostly going to concentrate on the default configurations, just for setting a common ground Kubernetes Networking in a Nutshell Generally speaking, pod-to-pod networking inside the node is available via a bridge that connects all pods. This bridge is called “ cbr0 ”. (1)  (Some network plugins will install their own bridge, and give it a different name, but in this blog, we’ll refer to it as “cbr0...

Google's BigQuery ML Tool for Machine Learning Through SQL

Image
Overview Google BigQuery ML is the company’s cloud offering that will help data analysts (and data scientists) build models through SQL BigQuery ML eliminates the need to move your data from the data warehouse, hence speeding up the model building process Google has even released guides on how to get started with this, for both data analysts and data scientists   Introduction Machine learning is THE buzzword of this decade. But job vacancies for experts in this field keeps increasing despite a gigantic amount of people wanting to get a piece of the pie. This is because machine learning is a complex field that combines knowledge, skill, innovation and domain expertise – and most aspiring data scientists are found wanting in at least one of these areas. Source: Twitter Most of these aspiring data scientists are coming from an IT background, with a good (or at least manageable) grasp of SQL. If you are one of these people, there’s goo...

Text Data Cleaning in Python

Image
Introduction   The days when one would get data in tabulated spreadsheets are truly behind us. A moment of silence for the data residing in the spreadsheet pockets. Today, more than 80% of the data is unstructured – it is either present in data silos or scattered around the digital archives. Data is being produced as we speak – from every conversation we make in the social media to every content generated from news sources. In order to produce any meaningful actionable insight from data, it is important to know how to work with it in its unstructured form. As a Data Scientist at one of the fastest growing Decision Sciences firm, my bread and butter comes from deriving meaningful insights from unstructured text information. One of the first steps in working with text data is to pre-process it. It is an essential step before the data is ready for analysis. Majority of available text data is highly unstructured and noisy in nature – to achieve better insight...

PLC Programming

Image
This is the start of some information I would like to pass on for those who may be interested in looking at how PLC’s may be used in your automations. I would first like to repeat what I mentioned earlier in my introduction to my project. “The one key feature for me is that: PLC’s operate autonomously with a high degree or reliability and accuracy.” Given this ability to use all the logic you have built in to your program, the PLC can then continue to function safely while many other systems may fail for various reasons (HA server, Router, MQTT server, Node-Red server, etc) around the PLC system. Due to the PLC system being wired and programmed as a discrete system it will remain working as long as it has (in my case) 24VDC control power for the PLC and 240VAC to run any connected/controlled devices. In a system where you are looking for 100% reliability this is a must have characteristic. xLogic Soft First I would like to give a brief look at the programming software I use....

Boost 10x UI development productivity with SDD

Image
Building UI is tedious, it takes a long time and many steps to do little modifications and see what it looks like. Especially when there’s a view buried deeply behind many complicated manual steps. Have you ever wonder how to boost your productivity by 10x or more when building UI? Yes, there’s a way - Showcase Driven Development. Now I am going to tell you the secret how I did it. In recent years, I’ve built many React Native mobile apps and React front-end apps. I like the idea of React component. It’s nice you have a clean interface for UI views and make them pretty predictable and reusable. Besides React, the most exciting thing I’ve learned from the community is Storybooks. I think it’s a game-changer, and we can apply the same idea to native iOS development and other UI-based apps, and it can boost development productivity significantly and also bring many other great benefits. With the great experience of using Storybooks in mind, I sta...