tag:blogger.com,1999:blog-87533826893243557932024-03-12T18:14:10.143-07:00From EIP's PerspectiveAnonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.comBlogger25125tag:blogger.com,1999:blog-8753382689324355793.post-60374586918041979062015-07-07T16:48:00.003-07:002015-07-07T16:58:47.764-07:00Observing Cache Associativity Effects
How Certain Memory Access Patterns Can Actually Degrade Performance
As processor clock speeds increase and memory latency improving comparatively slowly, it's important to make efficient use of the system's cache. Having your programs data stay within one of the cache hierarchies (the lower the better), is crucial for having a high performance system that can take advantage of the CPU's Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com0tag:blogger.com,1999:blog-8753382689324355793.post-64013189559905390302015-02-09T08:06:00.000-08:002015-02-09T16:18:59.527-08:00TMP Powered C++ Pretty PrinterBeing able to pretty print STL containers is an important task for any application that uses the STL. Since standard containers don't overload operator << nor provide a printing function, having a modular,generic pretty printing class allows one to print containers with a programmer-friendly interface that makes it easy to override default behavior and customize printing, provide printing Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com0tag:blogger.com,1999:blog-8753382689324355793.post-40903289762704550652014-12-17T14:01:00.000-08:002014-12-17T14:01:49.451-08:00Lego Mindstorms NXT Autonomous Navigation Tutorial UPDATEIn my previous post regarding autonomous navigation for the Lego Mindstorms NXT, I linked a youtube video series about how I planned on implementing it. While the video series is yet to come, the full code for the autonomous driving is available on GitHub:
Autonomous NXT GitHub
Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com1tag:blogger.com,1999:blog-8753382689324355793.post-71285841489793029292014-12-16T17:33:00.000-08:002014-12-17T04:08:51.957-08:00Slight, yet Important Change to Williams Parallel Quicksort AlgorithmUpon reading Anthony Williams' excellent book on concurrency and mutlithreaded programming in C++, C++ Concurrency In Action, I wanted to take a step further in analyzing the parallel quicksort algorithm used and developed throughout the chapters that is later even given the finishing touch by submitting work to a thread-pool.
The only subtle change I'd like to make to this quicksort Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com0tag:blogger.com,1999:blog-8753382689324355793.post-8366406897209791642014-11-24T16:59:00.000-08:002014-11-24T17:19:17.039-08:00Buffer Overflow Exploit : picoCTF 2014 Best_Shell Writeup" This shell is super useful! See if you can get the flag! The binary can be found at /home/best_shell/ on the shell server. The source can be downloaded here." -- problem definition
This was perhaps one of the most straightforward problems to solve this year, yet was worth 160 points! We're given a relatively short problem statement and some code to analyze. Here it is:
Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com1tag:blogger.com,1999:blog-8753382689324355793.post-89875049987875810482014-11-22T16:48:00.002-08:002014-12-18T03:53:57.501-08:00XSS Attack : Exploring picoCTF 2014 secure_page_service"The bad guys have hidden their access codes on an anonymous secure page service. Our intelligence tells us that the codes was posted on a page with id 43440b22864b30a0098f034eaf940730ca211a55, but unfortunately it's protected by a password, and only site moderators can view the post without the password. Can you help us recover the codes?" - problem definition
This year, picoCTF hadAnonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com2tag:blogger.com,1999:blog-8753382689324355793.post-10225587740721993152014-11-17T13:17:00.000-08:002014-11-17T13:18:25.951-08:00picoCTF 2014 SQL Injection 1 WriteupIn 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.
Analyzing the source code
For Injection 1, we are given this website: http://web2014.picoctf.com/Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com1tag:blogger.com,1999:blog-8753382689324355793.post-21699000475163943902014-11-16T13:35:00.000-08:002014-11-24T17:15:48.415-08:00Anatomy 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?
**Disclaimer: If memory Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com1tag:blogger.com,1999:blog-8753382689324355793.post-78948726389511219332014-08-16T07:12:00.002-07:002014-11-17T13:18:33.218-08:00Surviving a Kidnapping : Particle Filter StyleIn 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 areAnonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com2tag:blogger.com,1999:blog-8753382689324355793.post-22157698326756175202014-07-26T16:30:00.001-07:002014-11-17T13:18:33.208-08:00Extended Kalman Filter Example With CodeIn 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{Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com1tag:blogger.com,1999:blog-8753382689324355793.post-32685408166513602162014-07-23T05:17:00.000-07:002014-07-23T05:35:18.508-07:00Deriving Least Squares Error for Linear RegressionIn 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} $$
This formula is derived the fact that we can model distributions over Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com0tag:blogger.com,1999:blog-8753382689324355793.post-41528077019594429182014-07-22T06:47:00.000-07:002014-07-26T07:19:11.543-07:00Visualizing the Particle FilterIn 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 Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com1tag:blogger.com,1999:blog-8753382689324355793.post-61015259872275988882014-07-15T18:09:00.001-07:002014-12-23T06:58:15.160-08:00Lego Mindstorms NXT Autonomous Navigation TutorialHello 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 implementing artificial intelligence algorithms to intelligently navigate a mindstorms robot. I have also made the code available on Github: Which you can view here. My first video is posted on YouTube and accessible via this linkAnonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com0tag:blogger.com,1999:blog-8753382689324355793.post-45361254576660701702014-07-07T15:08:00.002-07:002014-11-17T13:18:33.213-08:00Derivation of the Kalman Filter EquationsHello, I have made a video series consisting of 5 videos that explain the Kalman Filter algorithm and the math behind it. I try to teach the equations in a way that isn't mathematically watered down but also eases the learning curve. I still delve into covariance matrices and linear algebra concepts so its good if you know the basics of these ideas before watching the video series. Please drop meAnonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com2tag:blogger.com,1999:blog-8753382689324355793.post-26072305760661245182014-06-24T10:27:00.000-07:002014-06-24T10:27:24.148-07:00Informative Status Update From std::future<>std::future provides amazing functionality and really allows programs to take full advantage of the possibility of parallelism. Coupled with std::async, launching tasks into the asynchronous world has never been easier! Whenever we make a function call to std::async, we get back a std::future, no surprise here. However, it is sometimes good to know if our task is done, and keep our users posted Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com1tag:blogger.com,1999:blog-8753382689324355793.post-91194466547268452792014-06-17T04:52:00.000-07:002014-06-17T04:53:00.163-07:00ACM ICPC World Finals -- UVa 208 FiretruckHello everyone, I'm starting a new section on my blog related to solving UVa Online Judge programming problems. I recently picked up "From Baylor to Baylor" which includes several ACM ICPC World Finals questions, and their corresponding UVa numbers for you to submit your code to.
This question is the very first question you see if you open the book, Firetruck. Initially this may seem like Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com0tag:blogger.com,1999:blog-8753382689324355793.post-53279974145235719352014-04-03T17:37:00.000-07:002014-06-25T10:58:46.820-07:00Leveraging std::async for Your Applications
Asynchronous Tasks
The C++11 standard introduced several new types, functions, and methods for performing asynchronous tasks. For several years, C++ programmers, and developers in general, have winced at the though of dealing with multithreaded code, especially when it comes to protecting data and making sure no data corruption occurs. However, the C++11 standard has made it Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com0tag:blogger.com,1999:blog-8753382689324355793.post-62380611670381721362014-04-02T17:47:00.001-07:002014-04-03T17:39:43.692-07:00Using Semaphores On Mac OS X
Semaphores
Semaphores are one of several ways to control access to a data structure or piece of code, and is often times seen in conjunction with a mutex or condition variable. Semaphores are like elevators to a certain extent ; an elevator can only hold so many people as per its limit. After a certain amount of people enter the elevator, no more people can enter. A Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com2tag:blogger.com,1999:blog-8753382689324355793.post-89128866879608189752014-01-03T14:31:00.000-08:002014-01-03T14:32:17.446-08:00Basic LED lighting with a Raspberry Pi Part 1
Hello everyone,
Today I will be speaking about basic LED lighting and circuits with the Raspberry Pi. This article is for those who are looking for a beginner's project to do with their RasPi's and would like to integrate the GPIO capabilities of the Raspberry Pi as well as take advantage of their solderless breadboard! If this sounds like you, please continue to read this tutorial :)
I gotAnonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com1tag:blogger.com,1999:blog-8753382689324355793.post-81946943569138866102013-12-30T10:24:00.000-08:002013-12-30T10:24:17.424-08:00MathJax Integration!!Hello everyone,
This entry isn't any tutorial/article on anything technical. I just wanted to let you know that I got MathJax working which makes it a lot easier for me to post more articles regarding more math heavy algorithms. I can now write in Latex and it will be display without a problem!
Happy New Years To All,
Alejandro Lucena
$\sqrt{-1} 2^{3} \sum\limits_{}^{} \pi$.... and it Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com0tag:blogger.com,1999:blog-8753382689324355793.post-28657337525999140692013-12-30T10:10:00.001-08:002014-01-03T14:31:28.912-08:00Programming Intelligently with OctaveHello everyone,
Sorry I haven't been keeping this blog fresh with content, but today I'm going to talk about something that every Octave/Matlab programmer should really consider when programming any sort of computational code.I'm here to talk about Vectorization( i.e writing vectorized code).
I'm sure several instructors in the past have told you to write clean and readable code. Vectorization Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com0tag:blogger.com,1999:blog-8753382689324355793.post-61441826144557297112013-12-18T07:38:00.001-08:002013-12-20T03:44:51.402-08:00Programming A Neural Network To Classify Images Part 1
Hello everyone,
In this 3 part series of tutorials, I'll be walking through and explaining the process of building an artificial neural network to classify images. I expect you to have a fundamental knowledge base in Machine Learning, Artificial Intelligence, or Neural Networks in order to follow along with these tutorials.
I am also using Octave as the implementation language,Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com0tag:blogger.com,1999:blog-8753382689324355793.post-72224124660506512482013-12-06T15:55:00.000-08:002013-12-07T04:05:33.975-08:00Size Doesn't Matter -- For Programming!
Hello everyone,
As you can maybe tell from the cover picture for today's post, size doesn't matter!
I recently ordered a raspberry pi + GPIO starter kit and I'm ready to build some great things with it!
I'm more than half way done with an online Machine Learning course, and I plan on trying out several of the algorithms on the pi itself to have a portable, intelligent, machine =)
Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com0tag:blogger.com,1999:blog-8753382689324355793.post-88575799882382415282013-11-28T17:50:00.000-08:002013-12-07T07:00:09.593-08:00Build a Web Crawler Using BFS
Hello everyone, today I'll be running through how to build a simple web crawler using one of the most popular graph algorithms, Breadth First Search. If you're wondering about the picture of the spider, it simply is exactly what the post is intended to be about; a web-crawler =)
I encourage you to understand the BFS algorithm before continuing this article, as you'll understand the Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com3tag:blogger.com,1999:blog-8753382689324355793.post-68975504410320006572013-11-28T09:52:00.001-08:002013-11-28T10:00:55.383-08:00Welcome!Welcome to the initial release of Byte-Sized Programming!
Thank you for visiting this blog, I hope you will be able to gain a great deal of knowledge by navigating and reading my articles on the topics discussed. To read more about what I plan to cover on this blog, please read the About page. On a brief note, I plan to cover topics such as algorithms & data structures, machine learning, C++Anonymoushttp://www.blogger.com/profile/13129767481604752636noreply@blogger.com0