Monday, November 17, 2014

picoCTF 2014 SQL Injection 1 Writeup

In this series pf writeups we'll be dissecting SQL injections to solve picoCTF challenges. There will be a total of 4 articles in this series, with each one going a bit more in depth and using different SQL injection techniques to exploit vulnerabilities present on the problem webpages.


Sunday, November 16, 2014

Anatomy of an ROP Attack: Case Study

In this article, we will learn the fundamentals of Return Oriented Programming (ROP) while dissecting a picoCTF problem regarding ROP. This will serve primarily as a primer/introduction to ROP, while the next article (ROP4 Writeup) will be a continued application of ROP to yet another problem. So let's begin by examining what is ROP, and why are we even using it?


Saturday, August 16, 2014

Surviving a Kidnapping : Particle Filter Style

In this article we will see how particle filters when used in Mobile Robot Localization, such as in Sequential Monte Carlo,  can be implemented to be versatile enough to handle a robot kidnapping -- that is , a robot being randomly removed from its track. This has several applications in real robotics as well as in competitive robotics, such as robot soccer where the robot soccer players are frequently picked up and moved around by humans. In a real robotic application, this can be applied to robots such as underwater autonomous vehicles that can be swept away by a strong ocean current or an animal. These random motions can throw off the strong particles in a filter and ultimately lead to localization failure, because no particles in the distribution agrees with the sensor measurements and motions of the actual robot.


Saturday, July 26, 2014

Extended Kalman Filter Example With Code

In this article we will look into using an Extended Kalman Filter (EKF) for estimating the state of a (simulated) moving vehicle. This article is inspired by the Udacity CS373 : Programming a Robotic Car course. We can use a Kalman Filter to estimate the next pose of the car that uses the following kinematics model:

$$\begin{vmatrix} \mathbf{\theta_{t}} \\ \mathbf{x_{t}} \\ \mathbf{y_{t}} \end{vmatrix} = \begin{vmatrix}\mathbf{(\theta_{t-1} + \alpha_{t} )mod 2\pi} \\ \mathbf{x_{t-1} + Rcos(\theta_{t})}\\ \mathbf{ y_{t-1} + Rsin(\theta_{t})} \end{vmatrix}$$


Wednesday, July 23, 2014

Deriving Least Squares Error for Linear Regression

In this article we'll take a deeper look into machine learning, in specific we'll delve deeper into linear regression and see why we didn't just pull a rabbit out of a hat to get the cost function for linear regression, which is denoted by $$J(\theta) = \frac{1}{2} \sum\limits_{i=1}^m (h_{\theta}(x^{(i)}) - y^{(i)})^{2} $$

Tuesday, July 22, 2014

Visualizing the Particle Filter

In this article we'll take a look at how the Particle Filter, also known as Sequential Monte Carlo,  works for mobile robot localization. Particle filters have gained tremendous popularity over the past decade due to their relatively easy implementation in code and the fact that computing power has come a long way since the idea of the filter was first proposed, thus making it more feasible to manage the time and space complexity of the particle filter for applications in robotics. Apart from having a tremendous influence in robotics, particle filters seem to be a natural solution to problems involving time series and are therefore applied to a wide variety of problems in economics, medicine, robotics, and agriculture.


Tuesday, July 15, 2014

Lego Mindstorms NXT Autonomous Navigation Tutorial

Hello everyone,

I am working on a new video series called Lego Mindstorms NXT Autonomous Navigation Tutorial on Youtube. I will be posting videos related to implmenting artificial intelligence algorithms to intelligently navigate a mindstorms robot. You can check out my first video here:


Lego Mindstorms NXT Autonomous Navigation Tutorial Part 1