Tag: python

  1. Parsing User Input with Python, any% Speedrun

    21 October 2022

    Over the summer of 2022.ev, scholar.social (a node of the Fediverse that has cultivated a community of teachers, instructors, librarians, and academics of all stripes) held their biannual online conference called Summer School (Winter School, of course, is the other one). Summer/Winter School is described as an interdisciplinary online conference where denizens of the Fediverse could present their work and hold classes, predicated upon the belief that knowledge should be free and accessible to everyone. I finally heard about this year's conference before the fact and, as luck would have it I had a proposal for a …

    Read more...

  2. Using Recoll to index my hoard.

    08 February 2022

    Long time readers are probably familar with two things: Horror stories about my dental work, and my endless quest to find search software that'll let me make sense of my data hoard (because I never delete anything). Thankfully, the former's been fairly good lately so I don't have any real complaints there. Things have improved on the latter front, remarkably.

    I've experimented off and on with a personal search engine called Recoll, which was designed to work alongside Linux desktop environments initially but later it was ported to Mac OS X and Windows. It is noteworthy in that it tries …

    Read more...

  3. Installing Searx by hand.

    06 July 2021

    In monitoring the Searx Github repository because I'm a pretty heavy user of this software, I've noticed a common trend. Folks seem to have a hard time getting the automatic installation script to work right. I realize that it would probably make sense to figure out what's going on in there and file a pull request, but given how work's been riding me like a wet pony lately I can't reliably budget time to debug the script under a couple of different distros of Linux and figure out what's wrong. That means that I can't actually help any of the …

    Read more...

  4. Optimizing Searx with UWSGI.

    25 February 2021

    Long time readers have probably read about some of the stuff I do with Searx and I hope that some of you have given some of them a try on your own. If you have you're probably wondering how I get the performance I do because there are some limitations of Searx that have to be worked around. Most of those limitations have to do with the global interpreter lock that is part of the Python programming language which haven't been completely solved yet. What this basically adds up to is that multithreading in Python doesn't actually make great use …

    Read more...

  5. Timed posts with Pelican.

    05 January 2021

    Late last year I posted that I'd migrated my website to a new blogging package called Pelican, which is a static site generator. If you noticed that my site's been screamingly fast lately, that's why. My site doesn't have to be rendered one page at a time with PHP on the server, and it also doesn't use one of Dreamhost's likely overloaded database servers as its back end. However, this brings a couple of drawbacks. Logically, a site made out of static HTML5 pages doesn't have a control panel to log into, so there isn't any way of controlling how …

    Read more...

  6. Another site migration

    29 November 2020

    It seems that I still I can never leave well enough alone (as anyone who's known me for a while an attest to). While on Thanksgiving break I found myself needing to tinker more once I'd gotten my other projects out of the way. So. I decided to do something about upgrading my website.

    As much as I've enjoyed using Bolt to manage my site over the last couple of years, the v4 series is going in a direction that I'm not entirely sure that I can work with. My knowlege of PHP is, to be honest, minimal at best …

    Read more...

  7. Embedded environment monitoring.

    02 November 2020

    Disclaimer: This post has lots of links to the Adafruit website.  There are no referral links, I received no consideration, I just buy parts from there and do cool things with them.

    A couple of weeks months ago I did a writeup of a prototype environment monitoring device for my office built out of a Raspberry Pi Zero W and some off the shelf components.  In the time since I've found time here and there to work on the embedded version, which doesn't use a full computer system but a microcontroller with just enough functionality to drive a couple of …

    Read more...

  8. Calculating entropy with Python.

    29 September 2020

    Fun fact: There is more than one kind of entropy out there.

    If you've been through high school chemistry or physics, you might have learned about thermodynamic entropy, which is (roughly speaking) the amount of disorder in a closed system.  Alternatively, and a little more precisely, thermodynamic entropy can be defined as the heat in a volume of space equalizing throughout the volume.  But that's not the kind of entropy that I'm talking about.

    Information theory has its own concept of entropy.  One way of explaining information theory is that it's the mathematical study of messages as they travel through …

    Read more...

  9. Simple environment monitoring with spare parts.

    15 July 2020

    It's going on summer in the Bay Area, which means that it's warming up a bit both outside and inside (because air conditioning is Not A Thing out here).  That, coupled with the not inconsiderable research infrastructure I have at home has left me wondering and worrying about just how hot my office gets during the day while I'm working.  Now, I could just put a simple little thermometer on my shelf (and I did) but my concerns are a bit bigger than that.  What happens if my office temperature reaches a critical point and servers start melting down on …

    Read more...

  10. Setting up a private Matrix server.

    21 January 2020

    EDIT - 20200804 - Updated the Nginx stanzas because the newer versions of Certbot do all the work of setting up SSL/TLS support for you, including the most basic Nginx settings.  If you have them there you'll run into trouble unless you delete them or comment them out.  Also, Certbot centralizes all of the appropriate SSL configuration and hardening settings into a single includable file (/etc/letsencrypt/options-ssl-nginx.conf) for ease of maintenance.

    A couple of years ago I spent some time trying to set up Matrix, a self-hosted instant messaging and chat system that works a little like Jabber, a …

    Read more...

1 / 3