In the previous post I showed how to add some icons to an application showing OpenStreetMap, with Python and GTK+. Next, I’ll show how to make a listing of nearest repeaters to selected area. The listing of all repeaters is in the local array, and since there is a .distance(lat,lon) that gives the distance to a point, the list of repeaters can be sorted by closest to a certain point that is selected – in the on_button_release function. The Python Gtk guide shows an example that can be integrated in to the code to add a Listbox. The listbox should be “self.listbox” so various functions can access and change it. Below the other widget/control code, this must be added, within a gtkScrollWindow or adding many items will expand the window awkwardly:Continue reading “Building an amateur radio app for Linux, part 2”
Building an amateur radio app for Linux, part 1
There are several amateur radio apps like Repeaterbook, but oddly enough no native Linux apps for offline map viewing? Why are all the radio repeater apps for iOS or Android? With the Librem 5 phone coming up, this is going to be an important app to make for Amateur radio enthusiasts! So let’s make the most feature-packed and easy to use repeater app using Python 3 and the osm-gps-map library:Continue reading “Building an amateur radio app for Linux, part 1”
Laravel deployment on your server, step-by-step
Laravel is a widely used, useful web app framework to use, but one thing you may notice is it can be a bit complex to set up on production server. I recently set up a small webapp I had been working on for Amateur radio operators (hearham.com), and there are several steps that are not so well documented. If you self host or host on Amazon or Digital Ocean these steps should help you to also get a simple webapp up and running:Continue reading “Laravel deployment on your server, step-by-step”
It’s time to upgrade your code for Python3!
If you have been keeping up with Python news you will know that Python 2.x will not be supported in 2020 🙁 While it was the default install for many many years it’s time to get your scripts updated if you haven’t yet. As an example, here is how I modernized the ancient Robot Candy Thrower Code:Continue reading “It’s time to upgrade your code for Python3!”
How to port a Flutter App to run on the new Librem 5 Phone
If you write a Flutter app for Android or iOS, you are likely not targeting a very widely used platform – desktop! This is especially important as the new Librem Phone is basically a Linux desktop. Let’s go over the setup of testing a Flutter app on Linux and the Librem 5:Continue reading “How to port a Flutter App to run on the new Librem 5 Phone”
Euclid’s Doodle – and writing a visualization with Matplotlib
On page 110 of Professor Stewart’s Casebook of Mathematical Mysteries, he shows a neat visual way of calculating the GCD (Greatest common denominator, aka HCF, Highest common factor. Given a box with sides of two different lengths, draw squares from the lesser side until you can draw no more. Then continue from the corner the other direction. The smallest square has edge length of the GCD!Continue reading “Euclid’s Doodle – and writing a visualization with Matplotlib”
Installing Python modules even when they don’t behave… e.g. installing Scikit-image on Ubuntu 16.04
Usually when you are missing any Python library you happen to want to use, you can install it in Python and have it accessible from your scripts or terminal, simply by using:
pip install <name of package>Continue reading “Installing Python modules even when they don’t behave… e.g. installing Scikit-image on Ubuntu 16.04”
Reading Amateur Radio Frequencies with RTLSDR device and Python
There are many cheap ($5-20) USB RTL-SDR devices you can find on Newegg or Amazon that have an unexpected extra of being able to pick up broadcast radio. This is a handy feature, and in fact we can even read ham-radio frequencies by changing the bandwidth and frequency to read. There are excellent howtos on the easy installation of GQRX for just listening to the radio and setting your frequency and listening, and that’s a good way to start with testing your device. In this post I’ll show how to read and listen to radio using just Python and the Python RTLSDR library, which will show a lot more detail in how decoding radio works, and lets you run a clean interface to listen or record radio.Continue reading “Reading Amateur Radio Frequencies with RTLSDR device and Python”
Analyzing Scott Flansburg’s Nines Trick
There’s an old math trick that goes like so – choose any number… say 171…. add the digits and subtract.
171-9 = 162
Take its sum of digits and subtract them…
162 – 9 = 153
Take its sum of digits and subtract them… Continue reading “Analyzing Scott Flansburg’s Nines Trick”
Adding BLM Land Use Maps to Osmand on Android
In the US, various hunters and fishers use the Bureau of Land Management’s maps. There are of course several apps that can let you add BLM maps…
- Avenza has some maps provided by BLM specifically for avenza app.
- Gaia maps pro has had the public lands feature for years.
- Osmand has not the greatest support for viewing what land area you are in and looking at, but many local points of interest are in this app that are not in others as it uses the Openstreetmap which can be added and edited by locals with places they actually care about. Also unlike most other offline mapping apps it is open-source, available on F-Droid store, and very extensive, and respects user freedoms and an active developer community.
For some time I have wondered why the public domain BLM land use maps aren’t an option in Osmand, I tried mobac but found no way to get the maps I wanted, but after a bit of research I found the answer! Here are the steps to add land use maps to Osmand. Continue reading “Adding BLM Land Use Maps to Osmand on Android”