Fixing Ubuntu Python-Pip

After you’ve upgraded your Ubuntu machine a few times, you might find that free disk space is low and some Python commands have issues. Programs like Bleachbit can help you clear old packages or cache that you don’t need, but sometimes you need a minor manual fix as documented here. As you may know, Pip is the main package management you’ll use to install packages you use, so this can be problematic.

After upgrading 16.04 to 18.04, I got an error on command line “pip”:

Continue reading “Fixing Ubuntu Python-Pip”

Hacktoberfest is coming up!

Hacktoberfest is coming up, online this time (well, the core of hacktoberfest always has been online collaboration…), and there are several projects I’ve worked on that welcome contributions:

  • Repeater-START – a useful tool for any ham radio enthusiast looking for repeaters.
  • Hearham Listener – also connects to hearham.com, this is an experimental listener to listen for audible callsigns on the ham radio.
  • Anti-Auto-correct, very useful for students in these remote times!
  • Tunesviewer
  • iosTransferGUI – I had used this for transferring files to iDevices, on Ubuntu.
  • Pylympus – for certain Olympus cameras with wifi-remote, a pure Python remote program.

There are many others and probably plugins or software you use every day that may need contributions or bug fixes, so with less than a month before the start, be thinking about what projects you might contribute to! Check out the full details at https://hacktoberfest.digitalocean.com/events

MutationObserver as a clever javascript workaround

For this weekend’s hackathon I worked on a hackathon project I had thought about for awhile… an anti auto correct that should be more like natural paper and pencil, and not automatically show the answer when you click on a misspelled word (not great for learning, Google Docs!) This should be useful for learners especially during a pandemic.

Continue reading “MutationObserver as a clever javascript workaround”

Online learning conferences

While many of us may not be going to favorite programming conferences, there are some interesting upcoming conferences to watch or watch the videos:

Digital Ocean TIDE – Going on now, a bit like the AWS free conference – a bit of an infomercial.

Knime – still a few upcoming live dates coming up on this one and the previous sessions are up, explaining this powerful machine learning tool.

May you go fourth and program!

Update –

200 OK conference – tomorrow, May 15th

Enthusiastcon – 10min talks June 6th

Building a Linux App with Python – Part 6, connecting to the repeater listing!

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!”

Building a repeater app for Linux, part 5: Subprocess for listening to the radio

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”

Building a mobile app for Linux, part 4: GPS/mobile tracking

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”

Building an amateur radio app for Linux, part 2

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”