Recently a possible proof of the ABC Conjecture has been in the news. Although the proof of this is hundreds of pages long and not really a fun read for most people, this reminded me of the prime spiral, “Ulam spiral” which we explored years ago at a meetup.
The interesting thing about ABC Conjecture is that no matter what examples or counterexamples you find to the inequality, it does not prove or disprove the theory as to where there are only finitely many specific triples to solve the inequality.
Ulam’s spiral is also a look into prime numbers, but from a visual perspective. Nothing to “prove” here but to see an interesting pattern within numbers. It was supposedly thought of by Stanislaw Ulam during a meeting, doodling numbers, and it was later popularized by Martin Gardner’s writings. It is a great way to have some fun learning how to use Matplotlib to draw up some interesting charts, too:
Continue reading “Possible ABC Proof Conjecture brings Primes into Prime time news again!”
Remember when there were mini mp3 players with one button and a shuffle feature? If like many geeks you have a bunch of interesting ebooks from Humble Bundle, Oreilly or Github or wherever you get technical books, you probably have folders and folders of lots of interesting books. What if you want to “shuffle” or randomly pick one off your virtual bookshelf and read a bit while staying home? Today I’ll show how to virtually “grab a book off the shelf” of your collection with a simple Python script:
Continue reading “The eBook Shuffle”
There’s a big difference between having that quick python script set up with a GUI, and having a full desktop or mobile app ready to click install. In this post I’ll show the steps to build a Python script into an installable application.
Continue reading “Building a Linux App part 7: Building an Installer File”
It’s easy to start a Python project in one file, and then add class after class and function after function in the same file – as i have in the repeater-start project. This can get unwieldy after awhile. As I am adding a type for the open-source Hearham Live Repeater Listing, I will make a new node creator that will get the repeaters out of the api. So from what I had before, just one repeater code:
Continue reading “Building a Linux App with Python – Part 6, connecting to the repeater listing!”
There are numerous howtos for Raspberry Pi and other portable computer voice applications, like this one, but generally they are using Google’s voice api. This may work… when the wifi or network is working, but not only is this sending your voice to google, it requires payment for usage over a certain amount. Users of your robotic application may be not so thrilled when they see it is sending audio samples to Google, and that it does not even work if there is a wifi hiccup! Instead, let’s go through a simple on-device installation that works fairly accurately with no external dependencies!
Continue reading “Speech recognition made easy”
As you may have heard, 02-02-2020 is a very “palindromic” day today. Especially so in that in either date formatting you use, the numbers are the same backward as forward (assuming you use 02 not “2” that is). Matt Parker was quite excited, in fact he was beside himself in his latest math video:
Continue reading “Happy Palindrome Day! Again and again!”
With the number of cheap RTLSDR devices that let you listen to radio or ham radio, it’s only natural to want to check out each of the repeaters and their use when you go to a new area. In fact, once you have a device set up correctly it is easy to integrate that (or any other command line features) into your project.
To start with I set up a class based on what I added for Hearham uploader – this will make the command run in a separate thread, continuing the process until it is killed. An ongoing process must not be on the same thread as the GUI (in any interface, Java, Android, or GTK…) This is going to use subprocess module as it can make it easier to use an existing utility (rlt_fm command in this case), rather than doing the whole signal processing in Python.
Continue reading “Building a repeater app for Linux, part 5: Subprocess for listening to the radio”
Another important part of many mobile apps is location tracking – there is, fortunately, there is a built in api for most Linux systems called Geoclue that should work… There is even a Python-geoclue package, but after some digging I found that this package does not work in Python3. In fact it’s hard to find examples or documentation, if you look at the files of the package you can see there are some basic docs:
Continue reading “Building a mobile app for Linux, part 4: GPS/mobile tracking”
With a working Linux application, it’s time to test it out on a real (well, virtual) device. Starting up the emulator for debugging in the same way as before, to debug this project I ran:
Continue reading “Building an amateur radio app for Librem Phone, part 3: Responsive on small screens”
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”