<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Abandoned Projects | Flyn Computing</title>
    <link>https://www.flyn.org/abandoned/</link>
      <atom:link href="https://www.flyn.org/abandoned/index.xml" rel="self" type="application/rss+xml" />
    <description>Abandoned Projects</description>
    <generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Thu, 12 Mar 2020 09:02:58 -0400</lastBuildDate>
    <image>
      <url>https://www.flyn.org/media/icon_hu_9860572c80cba4e6.png</url>
      <title>Abandoned Projects</title>
      <link>https://www.flyn.org/abandoned/</link>
    </image>
    
    <item>
      <title>appliance-config</title>
      <link>https://www.flyn.org/abandoned/appliance-config/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/appliance-config/</guid>
      <description>&lt;p&gt;Configuration system for a network appliance&lt;/p&gt;
&lt;img src=&#34;appliance-config.png&#34; alt=&#34;Screenshot&#34; class=&#34;center-framed&#34;/&gt;
&lt;img src=&#34;ac-architecture.png&#34; alt=&#34;Screenshot&#34; class=&#34;center-framed&#34;/&gt;
&lt;h1&gt;Overview&lt;/h1&gt;
&lt;p&gt;
Appliance-config is a web-based configuration system intended for use
on network appliances.  The core functionality of the system provides
the following features:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fileserver (WebDAV, NFS and SMB)&lt;/li&gt;
&lt;li&gt;CUPS-based print server&lt;/li&gt;
&lt;li&gt;Backup and restore system&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The backup system can replicate data to an external disk or an external
host that also runs appliance-config.  When backing up to a remote host,
appliance-config can encrypt the data so that the owner of the remote
host can not read it.  In this way, two people can help each other by
hosting a backup without nessessarily sharing the data that is backed up.
&lt;/p&gt;
&lt;p&gt;
Additional functionality may be implemented as a module.  Appliance-config
uses a CGI-based tool to present configuration options to an
administrator.  After configuration options are saved, the system
invokes a backend to implement any necessary changes to system services.
The system&amp;apos;s backends are written primarily as bash shell scripts.
&lt;/p&gt;
&lt;h1&gt;Nasty Details&lt;/h1&gt;
&lt;p&gt;
As documented in the overview, the appliance-config system consists of
a daemon that runs as root and modules that handle configuring services.
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
The daemon waits for notification that a configuration has changed.
After receiving a notification, the daemon executes the modules&amp;apos;
backend scripts.
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Each configuration module consists of:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;dl&gt;
&lt;dt&gt;CGI Program&lt;/dt&gt;
&lt;dd&gt;When executed by a GET, the program displays a form.  When executed by a POST, it writes configuration data to a file or directions to a spool and notifies the daemon of the change.&lt;/dd&gt;
&lt;dt&gt;Configuration File&lt;/dt&gt;
&lt;dd&gt;Configuration files are written by the CGI programs.&lt;/dd&gt;
&lt;dt&gt;Backend Script&lt;/dt&gt;
&lt;dd&gt;Executed by the daemon after the daemon receives a notice.  Reads appliance-config configuration files and writes system configurations based on templates.  Reconfigures and restarts system services.  May also read a spool and perform some action based on its contents.&lt;/dd&gt;
&lt;/dl&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>army_tex</title>
      <link>https://www.flyn.org/abandoned/army_tex/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/army_tex/</guid>
      <description>&lt;p&gt;Army_tex is a set of &lt;a href=&#34;http://www.tug.org/teTeX/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;LaTeX&lt;/a&gt;
classes for generating U.S. Army documents, compliant with &lt;em&gt;AR
25-50&lt;/em&gt;.  The army_tex package provides classes to create documents
such as memorandums and letters.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>arty</title>
      <link>https://www.flyn.org/abandoned/arty/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/arty/</guid>
      <description>&lt;p&gt;Arty is an artillery simulation game.  It is currently in the infancy
of its development.  Arty takes advantage of &lt;a href=&#34;http://www.opengl.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;OpenGL&lt;/a&gt; and the
&lt;a href=&#34;http://www.xfree86.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;X Window System&lt;/a&gt;.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>backup-scripts</title>
      <link>https://www.flyn.org/abandoned/backup-scripts/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/backup-scripts/</guid>
      <description>&lt;p&gt;A series of scripts for performing backups of servers and workstations&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>bbb</title>
      <link>https://www.flyn.org/abandoned/bbb/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/bbb/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;
&lt;p&gt;Burn_baby_burn&#39;s replacement, bbb, is a set of utilities for burning to
CD-R and CD-RW media.  The package allows one to easily perform tasks
such as burning the contents of a directory, burning an audio CD, burning
a CD image and copying CD media from the command line.  Bbb differs
from burn_baby_burn primarily in the interface it presents the user.
Bbb is designed as several simple tools that may be used easily in
standard UNIX pipelines.&lt;/p&gt;
&lt;h1 id=&#34;nasty-details&#34;&gt;Nasty Details&lt;/h1&gt;
&lt;p&gt;Bbb provides a mechanism for keeping the system load down during
CD burning.  A file, /tmp/be_nice, exists when a CD is being burned.
Cron and other similar systems should check for the existence of this
file before executing jobs.  Bbbnice is a tool provided by bbb that
waits until /tmp/be_nice no longer exists before executing a task.&lt;/p&gt;
&lt;p&gt;Here is an example of a crontab that uses bbbnice:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;SHELL=/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;PATH=/sbin:/bin:/usr/sbin:/usr/bin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MAILTO=root
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;01 * * * * root bbbnice run-parts /etc/cron.hourly
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;02 4 * * * root bbbnice run-parts /etc/cron.daily
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;22 4 * * 0 root bbbnice run-parts /etc/cron.weekly
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;42 4 1 * * root bbbnice run-parts /etc/cron.monthly
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For burning bootable backup CD-ROMS, I recommend Gratien D&#39;haese&#39;s &lt;a href=&#34;http://mkcdrec.sourceforge.net&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Make CD-ROM Recovery&lt;/a&gt;.
For encoding audio CDs into MPEG 1 Layer III
or &lt;a href=&#34;http://www.vorbis.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Ogg Vorbis&lt;/a&gt;
files, I recommend &lt;a href=&#34;http://autorip.sourceforge.net&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;autorip&lt;/a&gt;
by Jonathan Mayer.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>cryptoswap</title>
      <link>https://www.flyn.org/abandoned/cryptoswap/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/cryptoswap/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;
&lt;p&gt;The cryptoswap package supports building an encrypted swap partition
when a system boots.  This may be necessary on systems that use encrypted
filesystems because plaintext secrets may be written to disk when memory
is swapped to disk.&lt;/p&gt;
&lt;h1 id=&#34;nasty-details&#34;&gt;Nasty Details&lt;/h1&gt;
&lt;p&gt;Cryptoswap.sh should be installed in /etc/init.d.  During system boot,
cryptoswap.sh should execute right before checkroot.sh.  When shutting
down, cryptoswap should execute after sysklogd.&lt;/p&gt;
&lt;p&gt;This package also includes an initialization  script for building loopback
encrypted /tmp.  This may be necessary if a system contains encrypted
filesystems but / is not encrypted.  A link from directories like /var/tmp
to /tmp may be appropriate.  There are a few other alternatives for
systems such as these:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Tmpfs is a Linux kernel feature that allows /tmp to exist in memory.  This is a good solution for systems with a lot of memory and/or (encrypted) swap.&lt;/li&gt;
&lt;li&gt;If you have a system that uses encrypted home directories, per-user temporary directories inside $HOME could be used.  This would ensure that user&#39;s data is protected but would require that all applications use $HOME/tmp instead of /tmp.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Finally, the project may be used to create an encrypted root filesystem.
Doing so requires two special partitions.  First, create a small partition
to hold your kernel and initrd image, /dev/hdaX.  Second create a large
partition to contain the root of your filesystem, /dev/hdaY.&lt;/p&gt;
&lt;p&gt;Next configure and install an initrd-based boot system:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ensure romfs is compiled in your kernel (not a module).&lt;/li&gt;&lt;/li&gt;
&lt;li&gt;Create a kernel-supported filesystem on /dev/hdaX and copy your kernel to /vmlinux.&lt;/li&gt;&lt;/li&gt;
&lt;li&gt;Download busybox and extract it as initrd/busybox.&lt;/li&gt;&lt;/li&gt;
&lt;li&gt;Update initrd/src/etc/modules.initrd to include any modules needed to boot.&lt;/li&gt;&lt;/li&gt;
&lt;li&gt;Build cryptoswap&#39;s initrd image (cd initrd &amp;amp;&amp;amp; make initrd) and copy it to the filesystem on /dev/hdaX at /initrd.img.gz.&lt;/li&gt;&lt;/li&gt;
&lt;li&gt;Make sure you use literal = &amp;quot;root=/dev/ram0 init=/linuxrc rw&amp;quot; or liLO equivalent.&lt;/li&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Finally, create a proper encrypted filesystem on /dev/hdaY:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Randomize the partition: dd if=/dev/urandom of=/dev/hdaY.&lt;/li&gt;&lt;/li&gt;
&lt;li&gt;Set up a loopback device: openssl enc -d -aes-256-ecb -in initrd/src/etc/efsk | losetup -p0 -e aes /dev/loop0 /dev/hdaY.&lt;/li&gt;&lt;/li&gt;
&lt;li&gt;Create the root filesystem: mkfs.ext2 /dev/loop0.&lt;/li&gt;&lt;/li&gt;
&lt;li&gt;Mount your new root filesystem: mount /dev/loop0 &amp;lt;mountpoint&amp;gt;.&lt;/li&gt;&lt;/li&gt;
&lt;li&gt;Populate your new root filesystem.&lt;/li&gt;&lt;/li&gt;
&lt;/ol&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>FES</title>
      <link>https://www.flyn.org/abandoned/FES/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/FES/</guid>
      <description>&lt;p&gt;The Flyn Entertainment System, or FES, is a piece of software that
provides entertainment in the form of an arcade, television, and
audio player.  Rather than provide a traditional computer interface,
FES acts like a DVD player or other appliance, presenting a simple,
joystick controlled menu.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>hunt_n_gather</title>
      <link>https://www.flyn.org/abandoned/hunt_n_gather/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/hunt_n_gather/</guid>
      <description>&lt;p&gt;Hunt_n_gather is a script which attempts to determine the entries
within a filesystem that should be backed up.  It does this by noting
which files are not listed in a system&#39;s rpm database, have been modified
if installed as part of an rpm, etc.  Once hunt_n_gather has a list
of such files, it copied them to the directory given on the command line.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>kupgrade</title>
      <link>https://www.flyn.org/abandoned/kupgrade/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/kupgrade/</guid>
      <description>&lt;p&gt;Kupgrade.sh is a simple script which automates upgrading one&#39;s Linux
&lt;a href=&#34;http://www.kernel.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;kernel&lt;/a&gt;.
The script saves the
current and previous kernel
build configuration files.  Kupgrade.sh greatly eases maintaining
kernels for several non-heterogenous
machines by maintaining configuration files and building custom
kernel &lt;a href=&#34;http://www.rpm.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RPM&lt;/a&gt;
files.&lt;/p&gt;
&lt;p&gt;Kupgrade.sh also supports plugins for compiling drivers such as the
&lt;a href=&#34;http://alsa-project.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Advanced Linux Sound Architecture&lt;/a&gt;
modules.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>libss</title>
      <link>https://www.flyn.org/abandoned/libss/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/libss/</guid>
      <description>&lt;p&gt;Libss is a cross-platform library for controlling screensavers.  It allows
one to temporarily disable a screensaver.  This is useful for fullscreen,
visual applications that take little input.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>luks-tools</title>
      <link>https://www.flyn.org/abandoned/luks-tools/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/luks-tools/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;
&lt;p&gt;The luks-tools package contains various utilities for working with
LUKS-protected filesystems.  HAL uses these utilities to automatically
mount encrypted volumes when they are attached to a system, provided
the user can produce the correct passphrase.  These utilities are
written as separate programs to allow MAC systems like SELinux to have
fine-grained control over them.&lt;/p&gt;


















&lt;figure  id=&#34;figure-screenshot&#34;&gt;
  &lt;div class=&#34;d-flex justify-content-center&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img src=&#34;luks-tools.png&#34; alt=&#34;Screenshot&#34; loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;figcaption&gt;
      Screenshot
    &lt;/figcaption&gt;&lt;/figure&gt;

&lt;dl&gt;
&lt;dt&gt;luks-format&lt;/dt&gt;
&lt;dd&gt;
A utility that formats a filesystem to contain a LUKS encryption header.
&lt;/dd&gt;
&lt;dt&gt;luks-is-encrypted&lt;/dt&gt;
&lt;dd&gt;
A tool that can determine if a filesystem contains a LUKS encryption header.
&lt;/dd&gt;
&lt;dt&gt;luks-setup&lt;/dt&gt;
&lt;dd&gt;
A utility that sets up the dm-crypt device map for a partition.
&lt;/dd&gt;
&lt;dt&gt;gnome-luks-format&lt;/dt&gt;
&lt;dd&gt;
A GNOME front-end for luks-format.
&lt;/dd&gt;
&lt;/dl&gt;
&lt;h1 id=&#34;details&#34;&gt;Details&lt;/h1&gt;
&lt;p&gt;The following is an example of how to create an encrypted filesystem
and prepare it for mounting:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;luks-format -v -t ext3 -c aes -l 256 -n MyLuksVolume /dev/sda4
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The luks-format step may take quite some time because it overwrites the
partition with random data before it does anything else.&lt;/p&gt;
&lt;p&gt;Once luks-format has been run, a device mapper entry should exist
in /dev/mapper.  This device may be mounted as any other appropriate
block device:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mount /dev/mapper/luks_crypto_f20d9b37-ebe6-42c9-9665-CV035a81f0f3 /mnt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A volume that has already been initialized with a LUKS header and
formatted may be mounted as follows:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;luks-setup /dev/sda4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mount /dev/mapper/luks_crypto_f20d9b37-ebe6-42c9-9665-cb035a81f0f3 /mnt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;




	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>magic_numbers</title>
      <link>https://www.flyn.org/abandoned/magic_numbers/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/magic_numbers/</guid>
      <description>&lt;p&gt;A collection of magic numbers for Ian Darwin&#39;s file implementation.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>mkCDrec2</title>
      <link>https://www.flyn.org/abandoned/mkCDrec2/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/mkCDrec2/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;
&lt;p&gt;This is the second version of Gratien D&amp;rsquo;haese&amp;rsquo;s
&lt;a href=&#34;http://mkcdrec.sf.net&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;mkCDrec&lt;/a&gt;.  This version adds support
for OpenBSD, doing so in such a way that should make adding support
of other platforms easier.&lt;/p&gt;
&lt;p&gt;I recommend using livecd-tools on Fedora Linux and no longer maintain
the mkCDrec2 package.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>nautilus_scripts</title>
      <link>https://www.flyn.org/abandoned/nautilus_scripts/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/nautilus_scripts/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;
&lt;p&gt;This package contains several nautilus scripts to do various fun things
with your files.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;burn_cd_cue&lt;/dt&gt;
&lt;dd&gt;Burns a cdrdao CUE file to disc.&lt;/dd&gt;
&lt;dt&gt;burn_dir&lt;/dt&gt;
&lt;dd&gt;Burns directory to disc.&lt;/dd&gt;
&lt;dt&gt;mail_file&lt;/dt&gt;
&lt;dd&gt;Send files by email.  May transform files if necessary.  For example, images a shrunk to 640x480 scale.&lt;/dd&gt;
&lt;dt&gt;make_svcd_image&lt;/dt&gt;
&lt;dd&gt;Creates an SVCD image from video files.&lt;/dd&gt;
&lt;dt&gt;make_vcd_image&lt;/dt&gt;
&lt;dd&gt;Creates an VCD image from video files.&lt;/dd&gt;
&lt;dt&gt;new_extension&lt;/dt&gt;
&lt;dd&gt;Prompts for a filename extension and renames files using that extension.&lt;/dd&gt;
&lt;dt&gt;print&lt;/dt&gt;
&lt;dd&gt;Prints files.&lt;/dd&gt;
&lt;dt&gt;push_file&lt;/dt&gt;
&lt;dd&gt;Uses scp to copy files to another host.&lt;/dd&gt;
&lt;dt&gt;rotate_image&lt;/dt&gt;
&lt;dd&gt;Rotates images clockwise or counter-clockwise.&lt;/dd&gt;
&lt;dt&gt;search_n_replace&lt;/dt&gt;
&lt;dd&gt;Searches files for a regular expression and replaces it with a string.&lt;/dd&gt;
&lt;dt&gt;set_read_only&lt;/dt&gt;
&lt;dd&gt;Sets files read-only.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h1 id=&#34;nasty-details&#34;&gt;Nasty Details&lt;/h1&gt;
&lt;p&gt;Install the scripts in ~/.gnome2/nautilus-scripts and let &#39;er rip.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>nautilus_thumbnailers</title>
      <link>https://www.flyn.org/abandoned/nautilus_thumbnailers/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/nautilus_thumbnailers/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;
&lt;p&gt;This package provides scripts to generate thumbnails for several file
formats commonly used in the GNOME environment.  When using these scripts
with the nautilus file manager, for example, icons for PDF files will
present the same appearance as the document itself.  This has long been
the case with images, but this package extends this technique to formats
like PDF, PostScript and GIMP XCF.&lt;/p&gt;
&lt;h1 id=&#34;nasty-details&#34;&gt;Nasty Details&lt;/h1&gt;
&lt;p&gt;This package provides a gconf schema and several scripts.  The schema
tells GNOME filemanagers like nautilus of the scripts&#39; existance.
The scripts do the dirty work of creating 128x128 pixel PNG thumbnails
for documents at the file manager&#39;s request.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>osdd</title>
      <link>https://www.flyn.org/abandoned/osdd/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/osdd/</guid>
      <description>&lt;p&gt;Osdd polls one&#39;s mixer device and provides an on-screen display
when the mixer&#39;s volume levels change.  It requires XOSD, which is
available at &lt;a href=&#34;http://www.ignavus.net/software.html&#34;&gt;&lt;a href=&#34;http://www.ignavus.net/software.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://www.ignavus.net/software.html&lt;/a&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This application has been superseded by &lt;a href=&#34;http://freshmeat.net/projects/osdsh/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;osdsh&lt;/a&gt;.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>print_filter</title>
      <link>https://www.flyn.org/abandoned/print_filter/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/print_filter/</guid>
      <description>&lt;p&gt;Print_filter is a simple filter which
handles several file formats.  Print_filter
is designed to be as simple as possible, allowing one to easily modify
or expand the source code.&lt;/p&gt;
&lt;p&gt;Print_filter was originally written out of frustration with
Red Hat&lt;/a&gt;&#39;s print filter, which was
difficult to modify without using its GUI tools.  Print_filter is small,
simple, and easy to work with on a console system.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>qtutils</title>
      <link>https://www.flyn.org/abandoned/qtutils/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/qtutils/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;
&lt;p&gt;Qtutils currently contains the following
applications:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;qtsg&lt;/dt&gt;
&lt;dd&gt;
Generates a QuickTime video from image files and a soundtrack.
&lt;/dd&gt;
&lt;dt&gt;qtconv&lt;/dt&gt;
&lt;dd&gt;
Changes the codec used by a QuickTime video.
&lt;/dd&gt;
&lt;dt&gt;qtsplit&lt;/dt&gt;
&lt;dd&gt;
Splits a QuickTime file into smaller files.
&lt;/dd&gt;
&lt;dt&gt;mpegize&lt;/dt&gt;
&lt;dd&gt;
A script which generates an MPEG stream from QuickTime input.
&lt;/dd&gt;
&lt;dt&gt;vcdize&lt;/dt&gt;
&lt;dd&gt;
A script which generates a Video CD disc image from QuickTime input.
&lt;/dd&gt;
&lt;dt&gt;screenqt&lt;/dt&gt;
&lt;dd&gt;
A script which generates a QuickTime file from a series of screenshots.
&lt;/dd&gt;
&lt;/dl&gt;
&lt;h1 id=&#34;details&#34;&gt;Details&lt;/h1&gt;
&lt;dl&gt;
&lt;dt&gt;ima4&lt;/dt&gt;
&lt;dd&gt;
The ima4 compressor reduces 16 bit audio data to 1/4 size, with very good quality. This is the preferred
codec for low bandwidth audio.
&lt;/dd&gt;
&lt;dt&gt;raw&lt;/dt&gt;
&lt;dd&gt;
Unsigned 8 bit encoding.
&lt;/dd&gt;
&lt;dt&gt;twos&lt;/dt&gt;
&lt;dd&gt;
Twos is the preferred encoding for audio. It stores 8, 16, and 24 bit
audio, interleaved for multiple channels. The 8 bit mode is signed. The
16 and 24 bit modes are big endian signed.
&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl&gt;
&lt;dt&gt;raw&lt;/dt&gt;
&lt;dd&gt;
RGB packed frames.
&lt;/dd&gt;
&lt;dt&gt;jpeg&lt;/dt&gt;
&lt;dd&gt;
JPEG is preferred for low bandwidth video. This format writes a seperate
JPEG photo for every frame.
&lt;/dd&gt;
&lt;dt&gt;mjpa&lt;/dt&gt;
&lt;dd&gt;
MJPA stores each frame as two JPEGs, interlaced.  The real advantage is
that it can split compression and decompression across 2 processors,
doubling the frame rate.
&lt;/dd&gt;
&lt;dt&gt;png&lt;/dt&gt;
&lt;dd&gt;
This consists of one PNG image for every frame. Like ram this codec
supports 32 bit depths.
&lt;/dd&gt;
&lt;dt&gt;yuv2&lt;/dt&gt;
&lt;dd&gt;
The human eye percieves brightness much more accurately than colors. YUV2
downsamples the color components by 50% for a total compression of 33%
with virtually no image degredation. This is preferred for intermediate
storage. YUV2 is sometimes called Component video.
&lt;/dd&gt;
&lt;dt&gt;yuv4&lt;/dt&gt;
&lt;dd&gt;
YUV4 is planar YUV, identical to MPEG. It downsamples the color components
by 75% for a total 50% compression. This is the preferred intermediate
format for working with MPEG.
&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Currently, qtsg can take JPEG images and Ogg Vorbis audio files as input.
It renders a QuickTime video with JPEG encoded video frames and raw
audio frames.  This output is suitable for encoding into MPEG with &lt;a href=&#34;http://mjpeg.sourceforge.net&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;MJPEG tools&lt;/a&gt;.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>scald</title>
      <link>https://www.flyn.org/abandoned/scald/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/scald/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;
&lt;p&gt;Scald can assist lazy developers. Scald is a tool to generate program code
from an HTML-like XML description. For example, scald will process an
XML description into C code that prints an HTML form and saves user
input data into a configuration file.&lt;/p&gt;
&lt;h1 id=&#34;details&#34;&gt;Details&lt;/h1&gt;
&lt;p&gt;There are many XSLT processors available to developers. The following examples
use xmllint from libxml2 and
xsltproc from libxslt. Here is example.xml, an
example XML document that follows the scald schema:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;?xml version=&amp;#34;1.0&amp;#34;?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;!DOCTYPE webapp PUBLIC &amp;#34;-//Flyn Computing//DTD Scald XML Unstable//EN&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                        &amp;#34;http://www.flyn.org/xml/dtd/unstable/webapp.dtd&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;webapp name=&amp;#34;/cgi-bin/example.cgi&amp;#34; short-name=&amp;#34;example&amp;#34; description=&amp;#34;Example&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;form name=&amp;#34;example&amp;#34; save-data-as=&amp;#34;config&amp;#34; save-to-dir=&amp;#34;/tmp/&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&amp;lt;input name=&amp;#34;example-input&amp;#34; type=&amp;#34;text&amp;#34; label=&amp;#34;Example Input&amp;#34;/&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&amp;lt;submit value=&amp;#34;Save&amp;#34;/&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;/form&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;/webapp&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The file example.xml may be validated with the command xmllint &amp;ndash;noout example.xml and processed with xsltproc &lt;a href=&#34;http://www.flyn.org/xml/xslt/unstable/webapp-c.xslt&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://www.flyn.org/xml/xslt/unstable/webapp-c.xslt&lt;/a&gt; example.xml. The result will be several functions, written in C:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;void print_form(char *sidebar)&lt;/dt&gt;
&lt;dd&gt;Creates and prints an HTML form, selecting default values from a configuration file, if available.&lt;/dd&gt;
&lt;dt&gt;void save_data(s_cgi *cgi)&lt;/dt&gt;
&lt;dd&gt;Reads a form and saves its values to a configuration file or spool.&lt;/dd&gt;
&lt;dt&gt;char *get_post_mode(s_cgi *cgi)&lt;/dt&gt;
&lt;dd&gt;Returns the CGI mode of execution.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;After you process an XML file to generate C code, you should write a
main function that calls these three functions. One useful technique
is to write a system configuration daemon. After running save_data,
the main function may notify this daemon, which will then reconfigure
a system service based on the updated configuration file (it may be
a bad idea to allow your webserver the rights required to update system
configurations directly).&lt;/p&gt;
&lt;p&gt;The scald schema also allows for dependencies between inputs. For example,
the fragment below describes an input, password, that is only enabled
if another input, authenticate, is selected. This dependency is enforced
by Javascript code that scald automatically generates.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;input name=&amp;#34;authenticate&amp;#34; type=&amp;#34;checkbox&amp;#34; label=&amp;#34;Use Authentication&amp;#34;/&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;input name=&amp;#34;password&amp;#34; type=&amp;#34;password&amp;#34; label=&amp;#34;Password&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       enabled-by=&amp;#34;document.formname.authenticate&amp;#34;/&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The call-print- entites allow one to generate custom HTML at run
runtime. The following fragment indicates that options should be generated
at runtime by a custom function:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;form name=&amp;#34;initialize&amp;#34; save-data-as=&amp;#34;config&amp;#34; save-to-dir=&amp;#34;/tmp/&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;select name=&amp;#34;device&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&amp;lt;call-print-options-fn/&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;/select&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;/form&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Scald will generate code that expects the function
print_document_initialize_device_options() to be defined in a separate
file and linked against the C output that scald generates. Here is a
simple implementation of print_document_initialize_device_options():&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;void print_document_initialize_device_options(char *obj)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        printf(&amp;#34;&amp;lt;option value=\&amp;#34;foo\&amp;#34;&amp;gt;Foo&amp;lt;/option&amp;gt;&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	printf(&amp;#34;&amp;lt;option value=\&amp;#34;bar\&amp;#34;&amp;gt;Bar&amp;lt;/option&amp;gt;&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A more general-purpose entity is call-print-input-fn. This may be used to generate any HTML input tags:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;form name=&amp;#34;initialize&amp;#34; save-data-as=&amp;#34;spool&amp;#34; save-to-dir=&amp;#34;/tmp/&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;call-print-input-fn name=&amp;#34;example&amp;#34;/&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;/form&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This requires one to define both a print and save function:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;void save_to_spool_document_initialize_example_input(s_cgi *cgi,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                                     char *dir, char *obj)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	/* Code to read data from s_cgi *cgi and write it to spool file
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	 * in char *dir
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	 */
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;void print_document_initialize_example_input(char *obj)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	/*  Code to print HTML form */
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The onclick option is available to the input tag. This may be set to a
Javascript function that will execute when the input is clicked. The
Javascript function may be either provided by the XML document or
dynamically generated using a call-print- entity as in the following example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;form name=&amp;#34;initialize&amp;#34; save-data-as=&amp;#34;config&amp;#34; save-to-dir=&amp;#34;/tmp/&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;input label=&amp;#34;Host&amp;#34; name=&amp;#34;destination&amp;#34; value=&amp;#34;host&amp;#34; type=&amp;#34;radio&amp;#34; onclick=&amp;#34;populate_with_hosts&amp;#34;/&amp;gt;&amp;lt;br/&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;input label=&amp;#34;Disk&amp;#34; name=&amp;#34;destination&amp;#34; value=&amp;#34;disk&amp;#34; type=&amp;#34;radio&amp;#34; onclick=&amp;#34;populate_with_disks&amp;#34;/&amp;gt;&amp;lt;br/&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;select label=&amp;#34;Destination&amp;#34; name=&amp;#34;dest&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&amp;lt;call-print-options-fn/&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;/select&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;/form&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The following is the implementation that will be called by the code
generated by the call-print-options-fn entity. It prints the two
Javascript functions that are referenced by the onclick options
above. It also calls the populate_with_hosts function that it defines
in order to initially populate the options list. Clicking between
the radio buttons defined above will switch the options available.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;void print_document_initialize_dest_options(char *obj)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        printf (&amp;#34;&amp;lt;script type=\&amp;#34;text/javascript\&amp;#34;&amp;gt;&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	printf (&amp;#34;function populate_with_hosts() {&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	printf (&amp;#34;document.backup.dest.length = 0;&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	/* C Code to print Javascript that assigns hosts, e.g.: */
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	for (i = 0; i &amp;lt; num_opts; i++) {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		printf (&amp;#34;%s[%d] = new Option(\&amp;#34;%s\&amp;#34;, \&amp;#34;%s\&amp;#34;, false);\n&amp;#34;, obj, 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			i, &amp;#34;example.com&amp;#34;, &amp;#34;example.com&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	if (0 == i) {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		printf(&amp;#34;for (i = %s.options.length; i &amp;gt;= 0; i--) { 			%s[i] = null; 			}\n&amp;#34;, obj, obj);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	printf (&amp;#34;}&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	printf (&amp;#34;function populate_with_disks() {&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	printf (&amp;#34;document.backup.dest.length = 0;&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	/* Code to print disks */
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	printf (&amp;#34;}&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	printf (&amp;#34;populate_with_hosts(%s);&amp;#34;, obj);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	printf (&amp;#34;&amp;lt;/script&amp;gt;&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;




	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>swap</title>
      <link>https://www.flyn.org/abandoned/swap/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/swap/</guid>
      <description>&lt;p&gt;Swap allows one to easily change CD-ROM media with one command or
click.  Issuing the command swap unmounts a device, ejects the
media, waits for the drive to close, and mounts the new media.  Also
included is a C library which gives the programmer access to swap&#39;s
functionality.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
    <item>
      <title>wnc</title>
      <link>https://www.flyn.org/abandoned/wnc/</link>
      <pubDate>Thu, 12 Mar 2020 09:02:58 -0400</pubDate>
      <guid>https://www.flyn.org/abandoned/wnc/</guid>
      <description>&lt;p&gt;Wife&#39;s Network Controller is a &lt;a href=&#34;http://www.gnome.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GNOME&lt;/a&gt;
applet to control &lt;a href=&#34;http://diald.sourceforge.net/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;diald&lt;/a&gt;.  The applet
allows you to choose from three states: auto, on, and off.  When using
the included scripts the auto state gives dial-up control to diald,
the on state forces the dial-up link to come and stay up, and the off
state closes the dial-up link.&lt;/p&gt;





	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	




</description>
    </item>
    
  </channel>
</rss>
