This is a writeup for one of the challenges from the Google CTF which I participated in a few weeks ago. My friend Chris and I were finally able to get this flag after a lot of hitting our heads together. The Reverse a Cellular Automata challenge (may not be up in the future) was …read more
In the first chapter of Randall Koutnik’s book Building Reactive Websites with RxJS he has a challenge where he asks the reader to add a lap button to the stopwatch project. This lap button essentially freezes the output while continuing to count behind the scenes. I couldn’t figure this out for a little while, and …read more
My site got hacked; I go through the process of how I found out what was going on, how I fixed it, and how I hardened my WordPress site.
HXP 2018 has a “baby” challenge called poor_canary which was my first actual ROP exploit. If you want to follow along you’ll need to download and install the hxp 2018 vm image and install it locally. If you’re on a mac, you might need to port forward in order to get the image working properly. …read more
A trie implementation in python.
Analysis of a leetcode question involving topological sort.
I decided to do an easy one today, but it still had a few good tricks! Here is the prompt:
Compare two version numbers version1 and version2.
If version1 > version2 return 1; if version1 < version2 return -1;otherwise return 0.
You may assume that the version strings are non-empty and contain only digits and the . character.
The . character does not represent a decimal point and is used to separate number sequences.
For instance, 2.5 is not "two and a half" or "half way to version three", it is the fifth second-level revision of the second first-level revision.
Input: version1 = "0.1", version2 = "1.1" Output: -1
Input: version1 = "1.0.1", version2 = "1" Output: 1
Input: version1 = "220.127.116.11", version2 = "7.5.3" Output: -1
Ok, seems straightforward enough. Let’s think this through. How are we comparing version numbers? Well, the left-most number has the most priority, one to the right the second most priority, etc… we should just …read more
In preparation for fulltime interviews in the coming months I’ve been doing a lot of leetcode questions. I have many feelings on whether or not this is the best way to determine someone’s coding abilities, but that’s for a different post. I wanted to share my struggles with one particular question: word ladder ii. I’m …read more
How to customize field errors with Rails 5 and Bootstrap 4
I arrived in Lima about one week ago. I was literally shocked by the culture immediately when I got off of the airplane. 7 hours on a plane and I’m surrounded by a city slightly bigger than NYC in population, that speaks almost exclusively another language, which I know not-that-much about. It was chaos, the whole …read more