Somebody tipped me off to two useful software tools which display detailed system information. This is especially helpful if you are making a tech support forum post and want to provide detailed information about your system. The first is inxi:
First, you need to run the commands sudo update-usbidsand sudo update-pciids, then inxi -Fxz to get the interesting information.
The other command is neofetch which gives a condensed description of your desktop environment and some other basic system information:
Neither of these programs are likely to be installed by default on a system, but they are likely to be in your distro’s package repository.
I got a lot of work done on the bookkeeping, but I couldn’t go to bed without playing with the complex number plots some more. I found an a way to produce some attractive plots. First, I needed this additional function, to make experimentation easier:
(define (complexplot f m n)
(map (lambda (n)
(complex2vec (f n)))
(range m n)))))
The idea I came across was taking the standard unit circle rotation, and multiplying that by samples of the cosine wave:
If I change the “sampling rate” to various fractions of Pi, I get other interesting geometry. Here is Pi/4:
This will be a quick post, as I should be working on some volunteer treasurer work which, I must confess, is infinitely more boring than playing around with Scheme and complex numbers. :) I just wanted to post this screenshot of complex numbers in Dr. Racket:
Dr. Racket provide a really easy interactive interface, for manipulating plots (and a lot of other graphical things). I just started playing around with it today. Here is a quick explanation of the code:
The plot interface (so far as I know) takes vectors but not straight-up complex numbers, so I needed a conversion function:
(define (complex2vec c) (vector (real-part c) (imag-part c)))
A function to generate a list of numbers is handy:
(define (range m n)
(if (>= m n) '()
(cons m (range (+ 1 m) n))))
What I’m doing here is taking the e^i complex number, and raising it to successive powers, which causes it to rotate around the complex plane origin. Of course, that would simple move around the unit circle over and over again, which would be boring, so I actual started with e^i plus a small complex number which nudges the first point slightly outside the unit circle. This causes the new points to spiral outwards.
Dr. Racket makes a fun scheme playground. Next I want to try some more complex complex-number functions.
The Marble program in Debian stretch has a problem: the API for the interface to Open Street Map search changed, but the Debian version of Marble has not been updated, so the search functionality is broken. I reported this bug in Debian package bug 903491. One individual submitted a patch to the bug report. I downloaded the deb source for this package, added that patch into the deb, and rebuilt the package. For those who do not want to wait for the official fix, the patched marble debs are available here:
(WordPress.com mysteriously does not allow ftp links to be rendered, so you must copy and paste that into you Web browser address bar or your ftp client.)
You’ll need to download all the files that end in “deb”, except the ones with the word “dbgsym” or “dev” which are not required. Then run the command
dpkg -i <packages>
where <packages> is a list of all those package file names exactly, separated by spaces. dpkg -i *.deb might work for you.
When I ran the command, the marble-maps deb did not install, because of a missing dependency. But since the marble-maps package was already installed from the original installation, this did not matter. I started the program, and was able to do searches as normal.
The reason this is important to me is it allows me to do map searches without having to use Web browser application code that I do not trust. (I think though, to submit OSM contributions, you would still need to use the Web browser application.) Also Marble has some nice features like the various map sources that are available.