Tuesday, June 6, 2017

Tide graph experiment: seeking a colorblind friendly palette


This is a first try.  I am working on a graph of height of tide as a function of (x) clock time.

This time, I have used the "Juxtapose" web tool to compare a graph (work in progress) with a simulation in The Gimp of what this image would or might look like to a person who is somewhat  colorblind with Deuteranomaly (apparently weak green vision).  For this simulation I have used the Color Vision Deficiency python plugin for the Gimp.
We can be pretty sure that these figures do not look like this to colorblind people; but I can see that my intense, contrasting color palette does not work to discriminate the different lines for persons with color deficient vision.

The color deficit is Deuteranomaly weak green. Pull the slider to the right to see the original image; slide to the left to see the simulation of what we may think a person with this deficit in color vision might see.
Scroll further down to see another type of colorblindness.
The objective will be to produce colorblind-friendly graphs. I found this on the blog of the website with the slider maker: https://knightlab.northwestern.edu/2016/07/18/three-tools-to-help-you-make-colorblind-friendly-graphics/index.html

  1.  http://colorbrewer2.org
  2.  Chroma
  3. Checking: other ways to visualize/simulate your work
                  [Depends on Java 6, not officially supported by Arch]


Monday, May 15, 2017

My most useful applications

Emacs

 

Photo Management

 My criteria

  1. Quickly sorting photos
  2. Tagging is quick and flexible
  3. Tags and comments saved to file metadata
  4. Basic cropping and renaming simple and easy
  5. Opens from File manager
  6. Printing (Gthumbs is nominally best so far: prints multiple marked photos on a sheet)
  7. Does not save in a non-standard way, or to some bizaare kind of database; uses file system paradigm; photos are saved as files that are easily copyable; files and storage paradigm are accessible from other photo management, etc., software

Photo Mgmt Packages I am evaluating

  1. XnView: seems at first glance to do most of the above
  2. GThumb lacks some functiionality, but best for printing several photos to one sheet.
  3. nomacs: lots of bells, seems quck, interesting
  4. NOT Apple products
  5. Geeqie:
  6. Ristretto (xfce4) 
  7. Viewnior

File Management

  1. Files:  Standard Gnome FM (was Nautilus)
  2. Caja: Does dual pane; works well with Dropbox; not shown on other menus
  3. PCManFM: has advantages, don't remember what
  4. Thunar: (xfce4) seems mature, cool icon, many tweaks available
  5. Dolphin: Does dual pane
  6. Ranger: quick and interesting, but vim bindings
  7. Emacs dired still is the goto for general wandering
  8. MC

 Photo and Graphics Editing and viewing

  1. The Gimp
  2. Inkscape
  3. Gv for postscript


My Toolbox

Many of these are reason enough to stay with Arch Linux.  It's a bit hairy in Ubuntu---without even getting into thoughts about the philosophy of the distro--to keep all of these up to date
  1. cb2Bib: Bibtex refernce management a la extraordinaire
  2. gri: graphing
  3. Xtide
  4. Xephem
  5. TexLive (This can be installed from Arch AUR; upstream for other distros)
  6. xfce4 Terminal and Konsole both allow random background colors for new windows.  I want more control, but it helps alot. 
  7. dictd and whatever possible dictionaries.  Ubuntu/Debian gives the most complete selection of dictionaries.  


Window Managers etc

  1. Gnome is ok, too much overhead, oversimplified.
  2. KDE is hell, but has many of the best apps (highest overhead).  some apprent incompatibilities, on Gentoo, updates always were mangled when trying to update libraries for KDE that conflicted with other software in various ways.  
  3. XFCE4: simple and fast, works ok
  4. i3: Attractive, and gaps may be even better

Browsers and other Internet tools

  1. Firefox: still too heavy and cumbersome.
  2. Google Earth 
  3. Dropbox
  4. Transmission
  5. Conkeror (nice (emacs key bindings). 

 SYSTEM Tools

  1. Top
  2. Htop w/ temperature sensor patch
  3. psensors
  4. some applets or indicators
  5. GParted
  6. pavucontrol / alsamixer 
  7. NetworkManager / nm-applet or whatever
  8. Youart rocks!  I also install Packer.  
  9. Orage Calendar
  10. evince 
  11. okular is excellent for many purposes for PDFs, but I've encounted issues, maybe with printing?  In 2017, Evince (Document Viewer) is working fine.
  12. Some random AUR gui tool

Saturday, May 13, 2017

Progress report on The Beast

A short note about the OS. 


I have settled on Arch for this machine.  Ubuntu 17.04 has a partition but the new Arch system's boot setup does not give any dual boot access.  That's fine with me for now, and I suppose later this could be solved in any number of ways. 

Boot management on GNU/Linux systems is an arcane field.  For myself, I only ever cared to know enough about it to get a system running.  I hailed GRUB when it first appeared, as it seemed a human readable/writable form.  But soon the wizards towed it into the wood of obfuscation; it was not longer a pleasure to use.  With UEFI, I, at least, faced just one more unmanageable layer of intractability.  Arch required to fiddle with boot managers, GRUB 2 in particular; for me, the confusion often left me grabbing for Ubuntu or other distros that are easy to set up. 

There is something to be said for easy to set up.  I can have an Ubuntu system up and running in less than 30 minutes, with the new speedy machine I did it in maybe 5.  To install the core of my software needs would take part of a day, and to get it polished often took longer.  The cost of Ubuntu, in my terms, was the need to compile several of the more important programs to support my work flow, and generally to remember them and keep them up to date.  It was and is a pleasure to just go to work.

Arch Linux, once installed, is ideal: almost every program I need is available either as one of the large number of blessed programs on the repositories, or as a PKGBUILD on AUR, the Arch User Repository.  A PKGBUILD is a script to download the upstream source code, build the object, and install it.  It is easily maintained, for example using yaourt.  Maybe I've just been lucky: almost every program I wish to try is on AUR.  At last count I think this was around 44000.  Debian stable may have more in terms of numbers, but it doesn't have some of the packages I need.  PPAs exist for a few, but they easily go out of date.  I can easily edit a PKGBUILD to use newer versions as they become available. 

Bootctl

This time around I resolved to install Arch, and I had a few hours to do it.  In the long run it would save time.  Less fiddling.  I watched a youtube video on installing Arch in 10 minutes, and learned about a new boot manager: bootctl.  Without going into detail, this method pretty much worked for me, to get Arch installed in a very short time.  I'm not going to go into detail.  I did have to work some wrinkles out, but the instructions on the Arch Wiki and perhaps other sites were straightforward.

The Arch Way

I don't know whether anyone will read this, but I want to comment on the arrogance of Arch forum rats about "the Arch Way."  Debian's mailing list used to be the gold standard for trashing noobies.  Gentoo developers were much more helpful and tolerant, and the docs were perfection, and have never been equalled in over 10 years.  Responders on Arch forums and perhaps mailing lists are unforgiving with noobies who want to take shortcuts to install Arch.  It's a big deal.  Arch devs will not produce a liveCD installation.  There are a number of alternate approaches, and I've tried many ---because of my grubophobia, and, truth be told, the problems of UEFI/EFI, and actually some confusion---now, I think, at least partly resolved in the Arch installation tutorials about how to mount the EFI partition. 

In the past I have successfully used Antergos, and converted to pure Arch; the last time I tried, this was no longer useful.  I installed Arch on an iMac using "archanywhere," a script, but it has failed on my laptop.  For me.   Some other approaches did not work.  Once in a while, I was actually able to install Arch using the Arch Way.  More recently, I installed Manjaro i3 edition on my laptop.  It's a beautiful system.  Easy to install.  But it does something almost criminal to capture the system boot process, so that other installs often fail to install their own GRUB, but install through Manjaros.  I was able to convert using a 10 step process (provided by Mr. Google) to Arch.  But the conversion was partly abortive: new kernels never got properly set up, during the frequent installed. 

What I want to say about the Arch Way is this: contrary to the claims of the Arch Way adherents, installing in the Arch Way, using the command line, does not teach much about the inner workings of the system: at least anymore.  Gentoo installs, almost impossible on ordinary hardware in my opinion, do teach a lot.  Linux From Scratch does.  Arch uses faily complex scripts to do most of the heavy lifting.  I was surprized how easy the installation was.  It's getting "better."  I am, in some sense, though, an interloper, and I have never contributed a PKGBUILD.  Perhaps I will do so soon: I wish to install more dictionaries for dictd.  Debian has many more, and I have more or less a recipe for doing this when I have time to sit down an focus on it.

Hardware notes

I'm not going to get into much detail about this.

  1. NVMe storage is not operating at full speed, but it is very fast.  
  2. Scrolling and moving the mouse leave a trace in the audio: speakers exhibit a background buzz/hum, not so bad though.  Ideas I've seen (this is an FAQ online): PSU (Corsair CX650 Bronze) or inteference with the integrated audio.  Logitech wifi mouse.
  3. temperatures are very cool: I see CPU maxes of 59C, and the corse are running at 26/27C as I type.  I feel not heat at any time when I put my hand on the box.  psensor is great for monitoring temps.  Htop has a version on Arch already with patches to display temperature on the front page.
  4. Good choice department: The Ultrastar 6.0Gb/s 64MB Cache 2TB 7200RPM drive is pretty fast for an HDD.  
  5. This case has no provision for an Optical Drive.  Trolls online make comments that they are no longer a thing in the new age, but I disagree.  The brackets for HDD and SSDs are something new, and cables provided wth the MB and PSU do not make it easy to access them.
  6.  The Motherboard seems to operate well with GNU/Linux.  The UEFI BIOS is nice to work with.  It would be great if the utilities were available for GNU/Linux.  [C was developed for cross platform compatibility, but Micro$oft did everything possible to end around standardization.  Apple comes closer with an embrace of the Unix idea, but builds kinks into the little bits, to make them difficult or impossible to use outside the Apple infrastructure.  One shudders to think what has been the cost to the global economy of this proprietary locking of technology.  Apple put some nice pieces on CUPS, developed in the Free World, bought CUPS, and does not give back to the free world upon which their implementation is based. ]
  7. The logitech wifi mouse does not work well even three feet away from the receiver, probably due to interference.  When a USB drive was plugged in, this was expecially noticeable.  Perhaps I need to clean up the wiring, untie some lines to avoid crosstalk?  (what do I know).
  8. I use Dropbox.  It is central to being table to set up a new machine quickly in a familiar way.  Most of my ongoing work is on the Dropbox, so once it's installed, I am right at home.  It doesn't take so long to get a machine or a new linux install going, with Arch.  I need to collect a list of all installed package as I was wont to do with Ubuntu/Debian some years ago.  
  9. KUDOs to Arch devs, who do amazing work.



Thursday, May 4, 2017

New Pure Linux Computer

I am too stoked about the result of this project to spend much time writing about it. This will be brief.

I have assembled a machine that is blazing fast, due to a trifecta of parts:

  1. A super fast CPU: i7-7700K 
  2. A futuristic Storage device: Samsung 960 EVO NVMe 500GB
  3. Moderately fast DDR4 RAM: 16 GB of 3000MHz Corsair Vengeance 
Also included are
  1. a GTX 1050 4GB Graphics Processor
  2. An ASRock Z270 Killer SLI/ac Motherboard
  3. A Refurbished 2TB Hitachi Ultrastar 6.0 SATA with 64MB of cache

The ASRock Motherboard was not going to be my first choice.  It has basic features (believe it or not) compared to some others.  It does have integtrated Intel Wifi and Bluetooth adaptors and an Intel integrated HD Graphics adaptor.
What was nice, the Graphics and the Wifi worked out of the box with Ubuntu GNU/Linux.  That was nice.  There remains a bit of wonderment about flashing red LEDs.  These have much been written about.  Perhaps they are the glitz?







 


Sunday, August 7, 2016

Recanting about OS X

OS X is pretty slick, but I have (for the most part) returned to the fold of Free Software.  Nobody will remember when one of the political factions in the Philippine Islands scattered metal spike balls around on the streets of Manila along a parade route, to flatten tires.  This was an incident where general harm was done to make a point against a specific faction or perhaps the state of the system. 

OS X.  Apple has scattered little spike balls around to prevent cooperation from taking place, and rewriting hallowed Unix / GNU/Linux tools to disallow cooperation. 

Emacs: of the several versions I have not been able to sort them out. 

I have to say, though, that in OS X's any differences between  shell keybindings and emacs keybindings have been pretty well resolved, far better than in GNU/Linux distros I have used.  I can setup for emacs keybindings in Gnome or XFCE, but some of the bindings (Ctrl-K) do not work.   How emacs works is more important to me than any window manager shortcuts.  I call them emacs keybindings, but I think there is more to it than this.  ARe these actually original bindings from Unix? 

OS X has some brilliance, but I am disappointed in the hardware.  SD cards are a mess, and the slot is inconveniently placed in my 27" iMac.  In fact, their configuration leads the sd card to scrape against the rough aluminum edges.  Several USB flash drives are not working well with OS X.  Linux smoothly allows me to read them and write to them even when not properly unmounted.  This is software though.


Saturday, November 7, 2015

Off Topic: Emacs and OS X: Confession of a partial convert

I have crossed to the Dark Side.  I have for work a well-abused MacBook Pro, purchased an iMac, and have traded my Android Phone for an iPhone.   Pangs of Conscience: Yes!  I have them.  There is much that works right, though.

So this is a confession, then, of sourts.  It is also an opportunity to take a somewhat unbiased look at OS X and what it gets right.   When I learn to Code, it would be my wish to implement some of these in GNU/Linux.

[This is incomplete, and is unlikely to be completed.]

Philosophical and Moral Issues

Among those things that Apple gets wrong, or that seem wrong

  1. Emacs keybindings are ubiquitous on the desktop (good and bad!), but keybindings in Emacs are difficult.  Partly because of the odd Command/Option/Ctl/Fn suite of keys, which seems actually to be useful once it is made a little sense of.
  2. It's all about paywalls and keeping the competition out of the garden.  My new iPhone took almost 24 hours to get working, due primarily to the oddball Apple ID system, as well as my password cluelessness.
  3. Starting out from a Unix base, the Directory Structure and permissions area is hard to get one's head around.  Recent changes include changes in root access permissions at some level that seems inconsistent with the Unix Philosophy (as I poorly understand that)
  4. It's all about Consumerism
  5. Let's build a system that uses all kinds of new gadgets and doesn't allow people to use the means and materials they are used to, and charge a Gazillion 
  6. Good and Bad: I can install many tools more or less painlessly from the MacPorts collection and MacBrew.  More below.
  7. Apple's GUI is hard for me to understand.  The filesystem layout is very particular and unique to Apple's implementation of Unix, with lots of hooks to make it harder to get along with. 

 

Installing "Unofficial" Software.

One of the annoying aspects of Apple's business model is the word "Official" and whatever other synonyms have evolved or been cloned into existence.  Another permutation of the Window$ conceptual construct.  Apple's "App Store" only sanctions certain software officially.  The infrastructure has again, in 2015, been tightened up to make the hegemony even more exclusive.  Several groups have arisen to make it easier to install from source code and binary packages, to note: MacPorts and MacBrew.  

It was certainly not the intention of the two camps (or their predecessors and less dominant brethren) to extend the talon like  grip of Apple even further over the installation of non-compliant software.  Then what has happened to cause the two to produce self-proclaimed incompatible systems?  Let's say the idea of Santa Clause giving gifts to children is so good and great that another group, on the South Pole, decided to implement it in another way that is completely incompatible: They eschew the use of a chimney, and come in only through the basement window.  And they place their gifts under the tree so as to block access to each other's packages.  Each child must declare his allegiance with one of the Winter Superhero groups by placing either Cookies and Milk---for Santa Clause---or a South Pole Official Gift Card loaded with a minimum of 25$, for the South Pole cult.

 This is something like what has happened (but of course, it was Apple itself, the manufacturer of the sleighs, who implemented the gift card system.   How nice.  Now the kids with cell phones have their phones seeded with credit card numbers.  Wow!  

 Back to the two systems.  

This is soooo very  bizarre: These two camps (actually, at least two more exist, including "fink" that seem out-dated in 2015) exist with (so each complains of the other) mutually exclusive systems for installing unofficial software over OS X.  I recognize a plethora of software from my years of using GNU/Linux.  The systems work---especially MacPorts---like Gentoo or Arch Linux, and, in reality, those two draw their inspiration from Unixes Ports system for installing software from Source Code.   


I will use Emacs as an example, and it's a very strange story indeed.


Emacs

I am a die hard Emacs fan.  Emacs is the Self Extensible text editor, the flagship of the Free Software movement, one of the earlier contributions of the much maligned and much loved Richard Stallman.  Many years ago---in about 1992, the FSF responded to my appeal for help to get "free software" to support my animal names lexicon project in Chuuk, by sending over a dozen disks (if my memory serves correctly) of free software, including Demacs, a port of Emacs to the Windoze Non-Operating System, and a large number of Unix Utilities, in particular text-processing utilities that, I have learned, are some of the most incredible EVER.  

 TMALSS I adopted Emacs, and never looked back.  So when I bought this Apple iMac, my first action was to investigate the installation of Emacs, which I knew was possible, because I have used Emacs on other OS X computers.  This is why:

 Emacs is actually installed on every OS X installation.

 This is why, but not how, and it is not the end of this story.


I am a self stated distro jumper.  In search of the perfect GNU/Linux system I have installed quite a number of Linux Distributions.  Here's a bitter pill to swallow:

Emacs is not found on any of the GNU/Linux distros that I have tried, out of the box.   It is found installed out of the box on OS X computers.  

Some other facts

    1.  Emacs keybindings are found all through OS X.  Believe it or not!
    2. Emacs Keybindings are not found on GNU/Linux distros, except in some cases, on a program by program basis.
    On OS X there are a plethora of Emacs versions and builds available.  I have gotten Emacs to work on two computers, but doe to the obscene incompatibility situation, I have not been able to find a single best package to install.  There are at least three.  The Emacs onboard, while usable, is console only, and it is an older version.  I will not take the time to research and enumerate the various possibilities.

Things OS X gets Right 

 

    1. Spotlight Search 
        
    2. The Finder is awesome
    3. Emacs Keybindings are ubiquitous
    4. Emacs is installed by default
    5. Interoperability and smooth integration is good.  The downsides include a bunch of little dot files scattered around the system, and the complexity of installing a program so that OS X identifies it and works with it. 
    6. CUPS (Stolen for money from Free Software/Open Source Community, and cleaned up nicely)
    7. Smart folders.  Persistent searches saved as folders.


Monday, June 8, 2009

Noteworthy Emacs command: dired-do-async-shell-command

Keybinding: "&".

Just what I needed. I needed to open a *.dvi file from dired, and open the LaTeX source file while looking at the formatted text.

Perfect!

Saturday, March 14, 2009

Unit Conversion

Neither Google nor ConvertAll know about Scruples. Both are convenient ways to convert units. The unix console utility (non-GUI) Units is my choice, so far, as it knows at least one unit, about which the two flashy tools do not.

I installed ConvertAll through Synaptic on Ubuntu. It is written in python using the QT library, so it is usable on Windoze as well as GNU/Linux systems. It's a GUI solution. It doesn't know about scruples, but it is claimed to work well with composite units, such as Kg/m/hr

In the google search bar, I enter "2 scruples in g". Google doesn't know about scruples either.

Units wins the first round. And it's easy to use.

Saturday, March 7, 2009

Some ideas for new projects

Weekends are good. This morning I started poking around the Inet. Here are a couple of nice things I found out about that I can use in my classes. That NFWF grant we lost because we had so much trouble spending out money? That would come in real handy just now.

GeoWall?

Today, I discovered this page: A tour of the Mariana Subduction System . Guess what? It's available as an "ArcScene GeoWall visualization of Mariana 3-D topography and earthquake distribution".

It can be done in GNU/Linux. I think Gentoo would be more appropriate, but one possible option is available out of the box, for Ubuntu, my current system of default choice. One package is "viewer" and it might be around. Another is "inventor". It looks hairy. And why not? It involves projecting a scene through two projectors, superimposed. Let me guess: with polarized glasses.

I saw such a system at the University of Texas Texas Museum of Natural History---a flythrough of a vertebrate skeleton. Which vertebrate? Don't want to spoil it for you.

Bilko

http://www.noc.soton.ac.uk/bilko/index.php

...for learning and teaching remote sensing image analysis skills. Current lessons teach the application of remote sensing to oceanography and coastal management, but Bilko routines may be applied to the analysis of any image in an appropriate format, and include a wide range of standard image processing functions.

Supported by UNESCO, Bilko is available to registered users absolutely free!


Wednesday, March 4, 2009

Machine meltdown experience, unnumbered

This week I've been working out how to synchronize systems using git. I've been monkeying around with Emacs Org-mode for a while, both at home and at work, and at infrequent times on a laptop. How can I keep both work environments pretty well evenly matched, so I can work on all of my little projects on both machines (or all three)? Git and a USB flash drive. I won't get into that now, but it's pretty much working out. I have found I need to set the UID (User ID) and/or the GID (Group ID) numbers the same on both systems, and I have implemented a "git" group to which my user (me) on both machines belongs, so there is no conflict when pushing today's work to the repository on the USB stick. It seems to be almost there, as far as my simple use case is concerned.

However, at one point, last friday, I had been working fairly hard on some files that I wanted to be synchronized at home, and I tried to push the changes to the USB stick. The write failed due to lack of permissions, so I sloppily did a "sudo chmod -R a+rw " and was able to recover. After I figured out the permissions might be at least part of the problem! It worked, but in the meantime, I, knowing-just-enough-to-be-dangerous, flailed at the keyboard (I recommend Keytronic), and managed, unknowingly, to mess the settings up in the /etc/group file: on Monday, I was unable to access the groups and users tool to try to solve my problem with permissions---on which I had researched all weekend.

This all to tell you that I was left on Monday with a machine that promised to be unrecoverable. At least by me. But, lo! and behold! On that machine was an unused partition---a Windows partition, and hence an unwanted one. An unneeded one, especially since I was now able to run windows in virtual box as needed. So I quickly installed Ubuntu Intrepid Ibex over lunch, and went back to it before I went home.

Chapter II. Why you need to run dpkg --get-selections

I ran dpkg --get-selections > selections-.

This gives me a list of all the packages on my current system. Lucky my system was at least running! I tucked these away in a file on the current ~/ (home directory), and rebooted the newly made Intrepid Ibex install.

I have installed various GNU/Linuces, dozens of times. Ubuntu is now a favorite because it is painless, and good. It does almost everything. (I still want to get another Gentoo Box going, but the amount of work would be intensive.) My experience has taught me a few routine steps to take to get the machine into working order, MY WAY. It is taking less and less all the time.

This time, however, it went even faster. With my "selections-" file, I started Synaptic, and told it to read this list. (Read Marks). Now the new system has a long list of most of the software that I have working on the old system. It starts downloading them. It says 2d and some. But in the evening the net is faster, and by morning, when I got to work, my machine was up and running, with most of the important bits and pieces I had installed, and also updated for the 4 or 5 months since that CD was assembled by Ubuntu. Pretty impressive. A few tweaks here. A few tweaks there. And the machine is at least functional! It will take little time to be back in the saddle, at 100%, on that steed.

What are my little tweaks? Here are a few
  1. Display some icons on the panel, and place two more panels on the left and right sides. These are made moveable, and expandable, and put at the top, extending down from the top panel, so extra icons can be spilled over onto them like ears. This has been a boon in real estate for icons.
  2. System->Preferences->Windows: set so mouseover raises windows, and to roll up on click of the title bar.
  3. Install emacs-snapshot and a bunch of it's friends.
  4. Firefox add-ons I have met: downthemall, video download helper, tableclipboard tool, zotero, recently flash got, multiple tab handler (allows duplicate tabs, etc), delicious (for the past two weeks, experimental.
  5. On the Firefox bookmark bar, in install a folder called "WLOG" (weblog) where I can pull the little icons from the left end of the location bar to make a bookmark. Just pull it over and drop it onto the WLOG folder. Very useful.
  6. Sometimes compiz configuration tool (forgot the name). The main thing I miss on Gnome is a way to move windows from workspace to workspace by dragging. Spinning cube is nice, but too much of a drag.
  7. Set up an array of "folders" (directories). I haven't figured this one out---perpetually seeking a simplified, hierarchical arrangement that isn't difficult to navigate.
FOLDERS:
  1. I establish too many at the level of ~/: Library (link to separate partition for PDFs); Downloads (where I direct all downloads---this is a candidate for modification, as I would prefer to sort things now rather than later), Work related main directory.
  2. I've been keeping old work around for longer than I am willing to remember. So many subdirs from projects of years ago are still hanging around---all of them meaning to be worked on sooner or later (maybe org mode can help with this). I have the following top level directory trees set aside for various kinds of these: Projects; WORKBENCH; STUDY.
  3. New idea: ~/SCRAPBOOK for all the stuff that hangs around the Desktop and ~/ directories that just stays around and I am unwilling to get rid of. Maybe ~/ATTIC is next.
  4. Another idea that hasn't found it's correct niche: ~/TOP_SHELF. I thought of this after I tried a little applet called top shelf, a place to store things short term, one means to get back to right away. One of the nice things about the new KDE is the window-like desktop. I have tried to implement something of this kind, with no borders, just a place that can display---or be temporarily out of the way. There seem to be two kinds of these top shelves: the top shelf that is too high to reach, with stuff one wants close around; and the back shelf just above the desk where a few cherished and often thought about and used items reside. Need to rename these.
  5. ~/MUSIC; ~/VIDEOS; ~/IMAGES (for teaching stuff); ~/PHOTOS.

  1. I also install several programs by hand, so I immediately install build_essential. The main programs I do by hand are XTide and Xephem. Each of them requires other libraries and tools, so I install them.
  2. Gscan2pdf is getting good. My scanner is problematical. When it is working, gscan2pdf is working too.





Chapter III. Permissions and Flash Drives


That's another story.

Saturday, January 17, 2009

Beauty more than skin deep: Guitare, etc.

One of the reasons I refuse to go back to Windoze is my experience with a few special programs---programs that were written by programmers to "scratch an itch," and made available for "anonymous" ftp or download, somewhere "out there," for use by others should the need or wish arise. This restores or sustains my beliefs concerning the nature of man, and sustains my hope and happiness in the present. I cannot imagine why windoze "weenies" don't get this. How misguided is that scene.... One can only admire the prowess of others who have that ability; but perhaps in some other ways I can make my prowess (such as it may be) available to others. Reminds me of the questions people used to ask about the "learning curve" of GNU/Linux, or of LaTeX, or Emacs: the bottom line was, though, that for one willing or able to put in the time to learn, the rainbow gradually became visible. Many of us never went back. Many of the others don't understand why that may be: a friend pointed out to me the other day that Windoze no longer crashes dozens of times a day, as it did when I bailed and started using Linux at the command line, Pre-Linux 1.0. He still missed the point.

This weekend I have had reason to get back in touch with an old friend---the program "guitare."
guitare had installed several years before on one of my GNU/Linux boxes as a command line program, and proved extremely interesting, with capabilities unmatched by any other program I have seen (especially the two in bold face below):
  • name a chord when the fret numbers of all strings are input
  • alter the tuning, and do the same in any arbitrary tuning
  • serve as a chord chart
  • do much the same for scales
Two years ago, I had sent an email message to Pascal Obry, the developer of the amazing ADA program from yesteryear, "guitare" and the GUI version "tkguitare", explaining how I had not been able to install the program on my more recent machines. I had given up and let it all slide, I don't remember why. Perhaps I had final exams to write, or got involved in another project. I don't remember.

Recently, I have been fiddling around with the most amazing guitar, a gift from my long lost cousin, Mike for my 60th Birthday: a Little Martin. What a tone, and with precision I have never known in dozens of guitars I have played in my lifetime. What an eye opener (ear opener)! I randomly retuned the strings the other week, in preparation for a restringing: I often do this as I usually do not like to work the strings too much, for fear of deadening them. (Although I now realize that not washing my hands must have an even more devastating effect).

On my new random tuning, that my friend Ken says is "drop D" tuning, I have improvised some chords and songs. I don't want to lose them, as I usually do, because the notebooks have a habit of getting lost or forgotten.

Guitare
immediately came to mind. It's terrific to be able to tune the program to my unknown tuning, and explore the chords: guitare tells me the canonical name of each chord.

How amazing the exponential development of the Internet as a builder of capacity, as a library, as a source: I did a gmail search and found the old email of Pascal, and contacted him, asking is I could at least find a way to install guitare as a command line utility. Nothing else I have found even comes close! How bizaare is that? Many GUI guitar-oriented programs have appeared recently, in keeping with the movement towards a more user-friendly GNU/Linux desktop; but none of these programs even come close to Pascal's languising program.

I sent email to Pascal:

I'm not sure how to proceed, but what about a version with console only access?

That program is FANTASTIC. I play in all kinds of odd tunings, and using your program I can take my tablatures and find the chord names, adapted to my tuning. And I don't really need tcl or tk, maybe, for that. I don't know of anything else that comes close. (Sometimes the word "beautiful" doesn't refer to superficial appearances, but to a good heart: this program has a good heart!)
Within 24 hours of contacting Pascal about my inability to install his program on my new Ubuntu boxes, he emailed me that he has prepared a new version, v.8, now already available on the guitar web page, as source, GNU/Linux executables, and Windows XP executables, for both guitare and tkguitare. He calls this "Postcardware" and asked that, if I can get it working, to send a postcard.

Installing them on a 32 bit laptop was immediately successful. I had to install the following packages: tcl tcl8.4 tcl-dev tcl8.4-dev tk tk8.4 tk-dev tk8.4-dev . To be sure, maybe I didn't need to install them all, but I had done so in trying to compile earlier.

Tkguitare worked flawlessly. As I wrote to Pascal:

You have won your postcard. But one little thing is still bugging me. The program tkguitare ran fantastically, and dazzled, on a 32 bit Ubuntu laptop--perfect for me, because it's easy to set up when I'm playing the guitar. However, on my 64 bit magnum box, also Intrepid Ibex, like the laptop, it complains with the following:

teitoi@hardware:~$ tkguitare
tkguitare: error while loading shared libraries: libtcl8.4.so.0: cannot open shared object file: No such file or directory
teitoi@hardware:~$

One suspects that this is because I'm on a 64 bit box? I made double sure that all libraries (tk, tcl, tk-dev, tcl-dev) were installed. guitare, console mode, works fine. What a relief!

Still, I have to say, in this case you have proven that a thing that has a beautiful heart can also be beautiful in appearance. And that beauty adds a good deal of functionality and useability.


So I still had a problem on the 64 bit box. After sending Pascal an email asking whether he knows a fix, I continued to try several options: I tried to compile, but failed again; I looked all over the repos for 32 bit libraries for tcl. Finally, I found a message mentioning a program called "getlibs" that finds libraries for 32 bit binaries on a 64 bit Ubuntu system. Having nothing to lose, I installed it, after a google search. Here's a link to the Ubuntu Forums discussion:

http://ubuntuforums.org/showthread.php?t=474790

Within 5 minutes tkguitare was working on my 64 bit box. WOW!!!!!!!!!!!!!!!!!


By the way, Tab-n-Fret is a package that long ago enabled me to link a graphical GUI of a fretboard (xfretboard) to emacs, and use it or a non-gui method to input tabulature in text mode in Emacs. Perhaps this will be my next project. For the nonce, however, another program, etktab, is available on the Ubuntu repos, and is built from the Tab-n-fret, and tabulature mode and xfretboard from that package.

Some emacs lisp utilities that have been useful for me.

Several utilities to ease the pain of working with a  single monitor    [UPDATED October 16, 2026 with more utilities, and some edits on the...