Gnu Hurd on Guix

It is a simple process to build a Hurd vm from Guix:


christopher@nightshade ~/Scratch$ guix build -S guix
/gnu/store/f8qhkr6lzzmw7a5v44nqvbi1gg8cyh85-guix-1.1.0-4.bdc801e-checkout
christopher@nightshade ~/Scratch$ guix build -f /gnu/store/f8qhkr6lzzmw7a5v44nqvbi1gg8cyh85-guix-1.1.0-4.bdc801e-checkout/gnu/system/hurd.scm
/gnu/store/4l65yggpi0v6y9pi8q7aij17zx28wyzp-qemu-image
christopher@nightshade ~/Scratch$ cp /gnu/store/4l65yggpi0v6y9pi8q7aij17zx28wyzp-qemu-image ~/Scratch/
christopher@nightshade ~/Scratch$ sudo qemu-system-i386 -enable-kvm -m 512 -snapshot -hda 4l65yggpi0v6y9pi8q7aij17zx28wyzp-qemu-image

The VM from this config does not have guix (package manager) installed, so it is somewhat limited what you could do with it. (I think there is a fancier version in a Guix development branch somewhere.) But guile scheme is installed already!

From what I understand, before Guix, Debian was the only distro that had made a Gnu Hurd system practical. But Guix is making rapid progress. I believe the benefits of Guix development investment in Hurd will be more enduring also, due to the functional nature of the Guix package management system.

For the “official” Guix plans to deprecate Linux kernel support, see the following link:

http://guix.gnu.org/blog/2020/deprecating-support-for-the-linux-kernel/

Escape Formula Variation: RectangularPolar

Not claiming there is any real mathematical genius behind this idea, but it seemed interesting enough to share. I was wondering what would happen if you build your next Z by plugging the magnitude of Z in as your real coordinate, and the angle of Z as your imaginary coordinate. I.e., abs(Z)+i*angle(Z), or in xaos abs(Z)+{0;1}*asin(im(Z)/re(Z)). This is it:

I found that the image is more visual stimulating if you dampen the real component by a factor of 0.5:

Here is the Julia taken from the colorful section on the left — Julia seed -1.2+0i.

Amateur Log KL1TL 20200506

Stationed my GMC at Hagelbarger Lookout, Fairbanks, at about 7:45pm AKDT, tuned to 3920 kHz, with the multiband antenna. Received local communications from WL7CW, KL4QZ, and KL4VN, who indicated good copy. Then was able to listen in to the Alaska Bushnet. It sounded like, as near as I could tell from all the rapid communication and people communicating over each, that I was hearing pretty nearly everybody who was checking in, at various levels of volume and signal clarity. I’m not sure of the furthest locations I was hearing, because it was hard to keep track of who was naming their location and who was naming a relayed location. But I got a strong signal from someone in Talkeetna, and somebody in Clam Gulch, which is on the Kenai Peninsula. And I could hear the net controller (WL7CXJ?) though his station sounded weak.

It seemed that the net controller could not hear me, but somebody relayed me in.

Eielson Ionosonde from 8pm and 8:15pm AKDT:

Updated Guix package for HackRF

Am attempting to upload the revised package definition at https://debbugs.gnu.org/cgi/bugreport.cgi?bug=38650, but haven’t seen it show up yet. So here is the package definition (added to gnu/packages/radio.scm):

(define-public hackrf
  ;; Using a git commit because there have been many many commits
  ;; since the relase two years ago, but no sign of a promised
  ;; release for many months now.
  (let ((commit "43e6f99fe8543094d18ff3a6550ed2066c398862")
        (revision "0"))
    (package
     (name "hackrf")
     (version (git-version "2018.01.1" revision commit))
     (source
      (origin (method git-fetch)
	      (uri (git-reference
		    (url "https://github.com/mossmann/hackrf.git")
		    (commit commit)))
	      (file-name (git-file-name name version))
	      (sha256
	       (base32 "0avnv693xi0zsnrvkbfn0ln1r3s1iyj0bz7sc3gxay909av0pvbc"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
        (list "-DUDEV_RULES_GROUP=dialout"
	      (string-append "-DUDEV_RULES_PATH="
                             (assoc-ref %outputs "out")
			     "/lib/udev/rules.d"))
        #:phases
	(modify-phases %standard-phases
	  (add-before 'configure 'enter-source-directory
		      (lambda _ (chdir "host") #t))
	  (add-before 'install-license-files 'leave-source-directory
		      (lambda _ (chdir "..") #t)))
        #:tests? #f))                  ; no test suite
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
      `(("fftw" ,fftw)
        ("fftwf" ,fftwf)
	("libusb" ,libusb)))
     (home-page "https://greatscottgadgets.com/hackrf/")
     (synopsis "User-space library and utilities for HackRF SDR")
     (description
      "Command line utilities and a C library for controlling the HackRF
Software Defined Radio (SDR) over USB.  Installing this package installs
the userspace hackrf utilities and C library.  To install the hackrf
udev rules, you must add this package as a system service via
modify-services.  E.g.:

@lisp
(services
 (modify-services
  %desktop-services
  (udev-service-type config =>
   (udev-configuration (inherit config)
    (rules (cons hackrf
            (udev-configuration-rules config)))))))
@end lisp")
     (license license:gpl2))))

TiEmu Guix Package Definition

I submitted a package definition for TiEmu, a Ti calculator emulator:

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40709#8

My build mysteriously is not able to load the ROMs that ship with it, but I was able to load pedrom fine from the original pedrom archive.

zs program running on pedrom on emulated TI-92

It should be fun to explorer different programs that can be run on pedrom. Mathematical programs will in principle be of the greatest interest, but I must say it is fun to be able to run pacman on a TI-89 :)

P.S. If any of my friends want to give me any TI calculators they aren’t using, I might be able to have some fun with those. I’m thinking TI-84 or fancier.