Getting a local-only RTSP feed with Wyze Cam V2 and IPTables
I finally got RTSP running on a Wyze Cam V2, and then whipped up some IPTables rules in my router to keep the video streams in the local network.
I finally got RTSP running on a Wyze Cam V2, and then whipped up some IPTables rules in my router to keep the video streams in the local network.
What's the German word for when you build a new thing without realizing that it's already a solved problem and you're just reinventing the wheel? Because I just discovered that I've been (ab)using Dropbox to implement DDNS, which is already a solved problem.
We get a lot of questions about performance tuning in Solr, and today I decided to put my answers to the test.
I've had a Gmail account since the service launched back in 2004. Much has changed in that time, and sadly, we've grown apart. It was finally time to cut ties and move on to greener pastures. It turned out to be a lot easier than I'd thought.
A while back while playing 'RegEx Golf' for email extraction, I found out that the '+' sign is a valid email address character. Not only that, but many mail systems (including Gmail) treat it as the start of a tag. So sending an email to [email protected] is treated as though the message was sent to [email protected]. Once I learned that, I had a brainstorm.
This week I got to experiment with setting up a reverse proxy on EC2 using NGINX, and it was a ton of fun. I'm so used to tools that suffer from scope creep and are a pain in the ass to set up and configure properly, and I fully expected this to be an exercise is insanity. But no! It was awesome, and I write about it.
There's an old joke about a man lost in a hot air balloon, who seeks the advice of an engineer. The ensuing conversation is both funny and a teachable moment.
I've been working on a little side project for a while, building a module that can fit inside of a model rocket and stream telemetry to a base station. This has been a really cool learning experience so far, as I've had to take some deep dives into protocols and patterns that I've never really used before. I thought I would blog about the networking aspect, because it's really cool and not well documented online.
A funny story from my old summer job offers some pretty solid lessons about product support and working with the general public.
I recently came across an API where the JSON response body was decorated with HTML elements. It was definitely one of the more WTF things I've seen in a production app in a long time. This is the hallmark of a very junior level developer: solving the immediate problem without any consideration to how their present choices will affect the evolution of the product, or support additional use cases. In this post, I rant on this a bit.
Given two candidates for a job, what matters more: training or experience? In this post, I offer some thoughts on this question and a case for why experience is often more valuable in practice.
Need to integrate your Rails app with a cluster on Bonsai Elasticsearch? This gem is for you!
I recently had a friend ask me if I could build her a quick and simple (and cheap) resume website. I don't usually do that kind of thing any more, especially not for free, but the engineer part of my brain started wondering how I cheaply I could realistically build something. This post covers my efforts to build a quick and easy site that would still look professional.
A few weeks ago, I wrote about using a dictionary attack to crack a virtual Linux box. In that post, I mentioned using pam_cracklib.so to harden your system against this type of attack. In this post, I'm going to elaborate on that a bit by showing how to do this, and talk about why a sysadmin would want to do so.
I've spent the last few weeks participating in the SecureSet War Games Denver, and it's been a lot of fun. The sessions are a mix of security lectures and hands on activities, with a few CTF type events thrown in there. We recently did a CTF game for gaining root access on a remote Linux VM, where we would need to identify and exploit weaknesses in the system as fast as possible. The winner would get a Sphero Ollie.
In this post, I take a break from tech stuff and wax philosophical about a subject that's been on my mind a lot lately: what it takes to have a fulfilling life.
After spending some time slogging through journald logs, I cursed the gods of syslogs and said "There's GOT to be a better way!" In this post, I explore using a local ELK stack to parse, store and analyze my system event logs.
Getting started with an Elasticsearch cluster is like putting in a contact lens for the first time: it seems easy until you get poked in the eye. Here are a few tips for people who are considering running Elasticsearch.
In this post, I'll talk about some ways to ensure your SSH sessions stay private.
Concluding this set of posts on PGP, I'm going to talk about some safe ways to share a PGP identity between a desktop and a laptop.
In keeping with the theme of the past few weeks, I'm going to cover some questions you should ask yourself before creating a PGP identity
The OpenPGP standard allows people to sign, encrypt and decrypt files, directories, messages, etc. In this post, we'll look at what PGP is, how it's used, and some guidelines for setting it up securely.
I was reading an article on bash in the Arch wiki today because I wanted to get some insights on aliases (turns out t...
I’ve finally decided to deprecate “Bender,” my old desktop computer. In his heyday, Bender was actually pretty high-...
It’s a new year, and I think it’s time for a new OS. Ubuntu has been great for the past few years, and it really ease...
Read an interesting article this morning about the future of US drone policy and its parallels to the proliferation o...
Sometimes I come across stuff on YouTube and think: “I wish I had that as an mp3.” Apparently I’m not alone; there is...
(Apologies for the SEO bait title; this info took me forever to find, so I’m leaving it here for others who might hav...
As a part of my development work, I often need to work with customers with a wide variety of systems. Usually when so...
I’ve been giving a lot of thought to the user interface for the robot, specifically the geolocation portion. I want t...
So, I hacked Google Maps tonight. Hammered out a Python script in about 10 minutes that fetches individual map tiles,...
1. Download the latest version of wxWidgetsHead on over to the project’s SourceForge page and grab the latest version...
As a follow up to my post yesterday on using transparent PNG overlays with OpenCV and wxPython, I tweaked my Python s...
Now that I’ve completed the basic systems for my robot, I’m working on a user interface that will be intuitive and pr...
Over the past few weeks, I’ve been working on a little project that will allow me to remotely control an RC car via t...
NBC News is running a story “16 Kickstarter projects that could destroy civilization”, and lists the Hermes at #13. F...
Some time ago, I found myself in California on a ferry to Catalina Island. It was overall an enjoyable experience; th...
Raspberry Pi showed up this afternoon! Can’t wait to get started on it tonight!
Noticed a sudden influx of emails related to the Hermes over the past few hours and started looking into it. Turns ou...
I’ve been booting multiple operating systems for a long time. So long, in fact, that I’ve found it necessary to insta...
I upgraded Ubuntu today. Everything went fine, except that GRUB2 somehow overwrote my bootloader, preventing Windows ...
Our local TV affiliate came out to interview Morris and get some footage of the Hermes. They were out a little over a...
As of this moment, the Hermes Kickstarter campaign is 101% funded! We’ve been pushing hard to get the word out and th...
(Cross-posted from the Hermes blog):For the past several years, the Hermes Spacecraft has largely been supported by p...