Skip to content

Instantly share code, notes, and snippets.

View s0lesurviv0r's full-sized avatar

Jacob Zelek s0lesurviv0r

View GitHub Profile
@s0lesurviv0r
s0lesurviv0r / raspberry-pi-sdr.md
Last active November 8, 2022 10:50
Raspberry Pi SDR with GNURadio

Raspberry Pi SDR with GNURadio

The Raspberry Pi is a small SoC type device you can find for around $40. I never had much use for it earlier on but, having found out one of the GPIO pins on the Raspberry Pi 2 can produce a square wave in the range of "130 kHz to 750 MHz", I finally felt justified. Thanks to Evariste Courjaud F5OEO, creator of rpitx, the Raspberry Pi can transmit RF within said frequency range, effectively making it the cheapest transmitting SDR I've seen to date.

Note: As mentioned in many articles, the square waves will produce harmonics of the target frequency and may cause unwanted interference. A band pass filter is needed to restrict transmission to the desired frequency.

After some Googling, I found a GitHub repo with some useful command line examples for rpitx. I discovered the rpitx supports having samples piped in through STDIN. This is convinent because GNURadio supports TCP sinks and nc can act as

@s0lesurviv0r
s0lesurviv0r / why-i-chose-golang.md
Created November 8, 2022 10:52
Why I Chose Golang

Why I Chose Golang

I've went through numerous programming languages personally and professionaly. In the last year I've picked up Go as my primary backend and REST API development language. In this post I document the reasons. Please note that these reasons are coming from my perspective of primarily developing in Python for the last 3 years. The following are somewhat ordered by importance.

Simple language specification

The Go language specification is one of the shortest I can remember (https://golang.org/ref/spec). As an experienced developer it took no more than a few hours to fly over the basics. The main benefits include faster onboarding of new developers and improved readibility. At work, I wrote a new microservice of moderate complexity and witnessed my colleagues grasp the core logic with ease. I believe that having a limit on the amount of language features will also reduce the headache of understanding code I write when I look back at it months and years down the road. Finally, the enfor

@s0lesurviv0r
s0lesurviv0r / my-ham-radio-experience-so-far.md
Created November 8, 2022 11:01
My Ham Radio Experience So Far

My Ham Radio Experience So Far

I was always interested in computers and, as a consequence, electronics. Therefore it's no surprise that radios caught my attention at a young age. I've been a licensed ameteur radio operator for around 18 years but I haven't been consistent and I know I'm not alone. I've had many breaks from ham radio due to other priorities and I've lacked growth in many areas of ham radio I should be much stronger in for the amount of years I've been licensed. As I've gotten older, more patient, acquired a little more disposable income, and am either at home or in the hills due to the COVID-19 pandemic, I've gain a renewed interest in the hobby. For myself, and others, I want to share the journey thus far.

Childhood

There were two people I met when I was in middle school. One was in my classes and the other I knew from the community. They were both my age and both had HT (handheld) radios and their Technician class licenses. Upon hearing them talk about ham radio I immedietly grew int

@s0lesurviv0r
s0lesurviv0r / publishing-hugo-site-to-ipfs.md
Created November 9, 2022 08:24
Publishing a Hugo sire to IPFS

Publishing a Hugo sire to IPFS

Introduction

If you're not familiar with the Interplanetary File System (IPFS) I highly encourage you to look at their site. IPFS aims to be the distributed peer-to-peer web. Files and web pages can be shared on multiple machines, starting with the one you share the content with. Additionally, user's can "pin" files and web pages on their local IPFS nodes to then further share them with others. This is as opposed to a centralized web where a webpage is served from a central source.

Having the ability to share my content (this Hugo site) with others in a distributed fashion, where others can even cache offline versions of this content, was the main motivator to put my site onto IPFS. There are many more interesting and ground breaking features of IPFS but this article only showcases the basic case of putting a statically generated Hugo site onto IPFS.

Terminology

To stay consistent, I'll document the terms I'll use and what they mean.

@s0lesurviv0r
s0lesurviv0r / my-endfed-half-wave.md
Created November 9, 2022 08:28
My End Fed Half Wave Antenna (EFHW) for QRP/Backpack

My End Fed Half Wave Antenna (EFHW) for QRP/Backpack

Overview

After trying a variety of backpack-able antennas over the last year, I've settled on two types. The first of which is the off-center fed dipole (OCF). I used one for winter field day and operated several bands without a tuner. Since I had the extra time, and I was going to be in my operating location for the entire weekend, I placed the OCF between two trees. It's a great antenna but there's another I prefer over all others for backpack-able and portable ops. This antenna is the end-fed half wave (EFHW). The primary reason I pick this antenna is the ease of deployment. All I have to do is get the paracord over a tree and pull up one side to make it slope down diagonally.

The EFHW can operate on multiple bands without a tuner. I have several EFHW, one of which is a commercially built one from HyEndFed which supports 40m/20m/15m/10m with 100 watts, again, all without a tuner. Weight is the most crucial when I'm operating just out of my backpa

@s0lesurviv0r
s0lesurviv0r / my-mobile-dipole.md
Created November 9, 2022 08:35
My Mobile/Portable Multiband Dipole

My Mobile/Portable Multiband Dipole

Overview

I've recently received a lot of question regarding my portable self supporting dipole after having a photo of my station appear in the June 2021 edition of QST magazine. I submitted the photo in addition to my logs for the 2020 ARRL Sweepstakes Phone contest.

Here is the original I submitted. I was operating at Santa Teresa County Park in San Jose, CA.

original

Here's the dipole at the same park on a different day. I made RTTY contacts with stations in Finland and the Philippines.

@s0lesurviv0r
s0lesurviv0r / qrp-hiking-load-out-2022.md
Created November 9, 2022 08:52
QRP and Hiking Loadout in 2022

QRP and Hiking Loadout in 2022

Introduction

This is a follow-up to my original QRP Hiking and Go Bag post. The guiding principles remain the same but some specifics have changed. This post details those changes. Though I continue to use this pack for Summits On The Air and as a general go bag, I may swap certain components in and out depending on the operating conditions.

Changes

  • Switched to a real backpacking pack. These work better at distributing the weight across my body. I found my other pack put too much strain on my shoulders
  • Switched to using OSMAnd+ for offline maps on my phone. I did this because the application was open source
  • I ditched the external battery, opting for all devices using their own batteries. This was already a theme regardless of my choice. The Garmin InReach, phone, flashlight, etc already use their own batteries. This pack is designed for 24 hours so internal batteries will suffice. In an emergency I will always grab my battery box and solar panel
  • Everything ex
@s0lesurviv0r
s0lesurviv0r / decentralization-for-diasters.md
Created November 9, 2022 08:53
Decentralization for Disasters

Decentralization for Disasters

Introduction

I was fortunate enough to grow up without a dependence on the internet and cell phones. We still used paper maps, driving directions printed from Yahoo, memorized phone numbers, had physical books, and had local meet up spots. I have nothing against the shift to digitizing these functions but I feel the current approach is very risky.

Nearly all the aforementioned functions have been turned into apps. Contact books to Facebook (yes many people don't even have their friends phone numbers), maps and driving directions to Google and Apple maps, and books/knowledge to a variety of apps/websites and Wikipedia. Again, the apps are not necessarily the problem. Quite the contrary considering I carry a laptop and cell phone. I should actually have a level of redundancy I didn't enjoy before digitization. However, the key problem in today's digital ecosystem is that "apps" are engineered with the assumption that devices are "always connected". This isn't really a noti

@s0lesurviv0r
s0lesurviv0r / ubuntu-22-04-on-a-surface-laptop-4.md
Created November 13, 2022 06:34
Ubuntu 22.04 on a Surface Laptop 4

Ubuntu 22.04 on a Surface Laptop 4

There's a few gotchas I've discovered trying to get Ubuntu running on the Microsoft Surface Laptop 4. These steps assume an external keyboard was connected to the device and Ubuntu was installed already. These steps will install all drivers needed so the Surface Laptop 4 can operate with it's built-in keyboard. This isn't intended to be a complete guide, just a cheat-sheet for me or anyone else.

Disable iommu

sudo nano /etc/default/grub to edit the grub configuration

Add the following under the other GRUB_CMDLINE_LINUX lines:

GRUB_CMDLINE_LINUX="amd_iommu=off iommu=off"
@s0lesurviv0r
s0lesurviv0r / amateur-radio-linux-machine-provisioning.md
Last active February 27, 2023 07:38
Amateur Radio Linux Machine Provisioning

Amateur Radio Linux Machine Provisioning

IN PROGRESS - Still working out a few bugs and filling in a few details

These are some notes I use for configuring my amateur radio Linux machines. The base operating system is Ubuntu 22.04 LTS. This is not a comprehensive guide, just a quick reference for myself and others to install commonly used amateur radio applications on a Linux machine. Please don't blindly copy and paste these into your terminal without understanding what they do. I will include links in the reference section for more detailed newbie instructions.

Overview

The system that these instructions intends to build is a Linux system using the Ubuntu distribution. The goal is to use as much open source software as possible. I think currently all the amateur radio software used in this guide is open source. Additionally, the software chosen provides a good cross-section of capabilities needed for emcomm, as well as for more recreational activities. Here's a list of software and the capabilit