Obsidian Livesync Self-hosted HTTPS Issue

Categories: Coding

I use Obsidian as my note taking editor of choice. I use the plugin Obsidian Livesync as the plugin I use to sync my notes from my mobile device to my desktop via a remote server. Unfortunately, I realized recently that my notes were not syncing across my devices. I was receiving a mysterious error: … Read More

Allow Certbot Access to Subdirectory with .htpasswd on Apache2

Categories: Coding, security

I was trying to find a way to allow certbot to auto renew, but kept getting verification errors. The error showed that certbot couldn’t get access to /.well-known/acme-challenge/<SOME_HASH>: which was why it was failing. Turns out, I have a custom WordPress setup which requires .htpasswd authorization. This is to make it so the outside world … Read More

Google CTF | Reverse a Cellular Automata

Categories: ctf

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

RxJS Lap Button (From Koutnik’s RxJS book)

Categories: Coding, RxJS

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

A Simple ROP Exploit | poor_canary writeup

Categories: Coding, ctf

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

Leetcode | Compare Version Numbers

Categories: Leetcode

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. … Read More

Leetcode | Word Ladder II

Categories: Leetcode

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