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.


Thursday, December 19, 2013

XFCE4 vs E17

All I can offer is some notes on this subject.

Enlightenment 17


Enlightenment 17 is more mature, and, on Fedora, it runs pretty well.   On every distro I have tried so far, it fails the first run, but, for now, seems swell.  Not as pretty as it once was, and I am lazy to install eye-candy.  But a couple of things are nice.

On my laptop, using full speed on the i3 core dual, 2.4GHz, E17 is spiffy.  At the slowest speed of 933 MHZ, not so much.

I notice a sheen of weirdness on a blank background, always have.  Something is different about E17 at the lowest levels of graphics.

I am pleased that the CPU Frequency widget is visually / functionally awesome: it looks nice; cpu frequency is directly configurable without any extra setup.  Nice!!!  

E18 is in the pipeline, I see.

XFCE4

I am using Fedora, and I have Gnome, XFCE4, E17 installed, that I have seriously attemped to use.  Gnome is too slow for this machine, and it's more cumbersome and enmiring to try to set it up the way I like.  I haven't found a CPU frequency monitor that works.  Jupiter is awesome, though, as a secular client for manipulating power/frequency settings.

I use Jupiter for XFCE4, because the xfce4 cpu frequency applet does not do it's job---or I don't understand something about it.  Jupiter is great, though.

XFCE4 is quick and light, and easy to use.  It's very simple to get nice effects, the panels are easy to set up.  Panels are what does it for me.  Unity drove me away from Gnome, and while I have been able to get somewhat used to Unity, XFCE4 has it all working the way I like, with little intervention.   KDE has more and fancier looking features that seem nice, but I cannot get through more than one or two sessions with KDE before turning away---usually for XFCE.

I have to install the orage clock to get a calendar that opens when clicking the clock.  

OpenBox, too is light, quick, and simple

I have almost gone over to OpenBox a couple of times.  With the cairo dock, it is useable, and quick.  

 

Wishlist

I would like to have more control over the window decorations of XFCE or E17, but they work ok.  I like the big red "X" button that apparently came from the darkness of Redmond.  I need the active window title bar to change color.

The frame in KDE4 that acts as a "desktop" to display a picture or a few icons would be welcome anywhere, on any window manager (or whatever you call them).

Why does every one of these desktop managers have to design their own File manager, and use some off the wall browser, etc.

Why is emacs not installed by default on most GNU/Linux distros?

What do you call the excellent file chooser in Dolphin and other KDE apps that scrolls the list across instead of down in one long list.  With this horizontal scrolling, I can read even the last file in a long list MUCH more quickly than the Nautilus-style (or whatever that is called).  Is there a way to compile in this kind of feature into other software of my own liking?   

My Defaults: My ways of doing stuff

  • File manager :: Dolphin (see above)
  • Editor :: Emacs is the first program I install anywhere.  
  • Music player :: Clementine works well; I'll try using VLC
  • Video player :: VLC is the best video player
  • Terminal  :: Terminator is good, but there are some wraparound issues when using nice prompts.
  • Top is great.  The very first time I started up a GNU/Linux system---slackware, I think---a terminal opened.  I  thought, what should I type?  FOr some odd reason, I typed "top" and magically, all running processes were shown in a cool format.  I still haven't learned all the byways and highways of using Top.  It has to be my totem though.  I will rename my blog after Top, maybe.
  • Independent panel :: The pomological lookalike "Cairo Dock is awesome"
  • Personal Magnet  :: Orgmode over emacs is amazing.  Outliner. miscellaneous agenda, capturing notes on the fly in various categories (I used to use Steno.el, on Emacs).
  • Email :: I just use emacs to write email when I think of it.  Love it.  Gmail on the browser isn't quite there, due to limitations of keybindings.  
  • Addressbook :: BBDB is great, over emacs.   I use a custom file to save the database, on a git-controlled work area that is replicatable from home directory to home directory, for my different experimental users.  Emacs mail picks up and completes addresses in this database.
  • PDF Viewer :: Okular (KDE) prints nicely.  Works find with editable PDFs.  Allows saving notes/annotations.
  • Photo Management :: Shotwell (uploads well) and Digikam (other stuff).  Neither of them is perfect. 
  • Photo Viewer :: gthumbs is the best for printing photos, from my experience.
  • Scanning :: gscan2pdf is good in most cases for generating a pdf directly.  In the "old days," tesseract made for good conversions from a scanned image to text.   Anymore, this program seems to prefer to just convert to text to underlay under a pdf page to enable searchable pdf files.  That's not my work flow.   "simplescan" works ok, not as configurable; fast to use.   Xsane is a great all around scanning tool
  • OCR  :: Tesseract works well, and used to do so with gscan2pdf.
  • Web Browsers: Firefox is the old workhorse; Chrome is great also; Dillo is the lightning fast browser good as a document reader (for XEphem, for example).
  • XEphem is a great ephemeris
  • Xtide works great
  • Plotting :: Gri is the best, nice when used with Emacs Gri-mode. Gnuplot is often useful.  There seem to be many new plotting graphing programs in recent years.
  • Underexploited toys: R
  • TeX :: TeXLive.  Fedora is up to date, as is Archlinux.  Ubuntu lagged behind.
  • LaTeX authoring ::  Auctex on Emacs 24.  For correspondence and a plethora of other documents. 
  • Processing text into a pdf file :: Org-mode and LaTeX
  • References :: cb2Bib; Emacs bibtex-mode; other little utilities.  Not to mention Google Scholar
  • Mixer :: Pulse audio has a good mixer.   Alsamixergui (sometimes under other names).
  • Audio :: Don't ask me.  I go with the flow. 

 




Wednesday, December 11, 2013

Fedora for now

Emacs "support" in various distros

How a GNU/Linux distribution handles Emacs is the most important criterion, from my perspective.  This has not always been the case, because ALL GNU/Linux distributions have historically handled Emacs ok.  Some distros stand out, each for its own reasons.  Often I have complied from scratch, especially for Ubuntu, when that was an important distro for me; I liked the "snapshots".  Gentoo worked well, though I cannot remember what I particularly liked about they way it handled Emacs; it did have multiple versions.  Arch Linux has the most up-to-date version all the time.

For a number of months, I have experienced odd crashes in Emacs, and I cannot say why.  In the end, I switched distros.  Sometimes, switching Desktops seemed to make a difference.  The issue was random crashes, with no easily discernable (by me) cause (like a particular keystroke, or mouse gesture.)

In the past year, I have installed Debian, several Ubuntus and Mints, Manjaro, Mageia, Bodhi, Slackware, Korora, Elive...

In the past month I have installed several distros, and tried them in earnest, including  two distros I have not used before, at least much: Fedora (which I had installed and been put off by); and openSUSE (toward which I nurtured a great aversion, as SUSE seemed soft on Micro$oft.)   I have been using ArchLinux for pretty much everything, except a few flirtations with other distros; I've been pretty happy with it.

Many of these excursions have focused on trying to find the best Emacs distro, and more and more, of late, this has been driven by a certain seeming incompatibility with the GUI.  Emacs would crash, as described above.  I needed to find a distro that supported Emacs absolutely well.

Who knows, maybe there is something wrong with my HP g6 Pavilion laptop?  But I have persisted in jumping from distro to distro, looking for the best platform.  I posted on an Emacs mailing list, and got a range of answers.  I have never gotten even close to an understanding of what the problem has been, perhaps because I am not much good at troubleshooting at that level.

Google Earth Compatibility issues on GNU/Linux

Recently, I had been contemplating a move to South Dakota.  I needed to do research.  Google Earth is the authoritative such software, and I've been having problems with Googlearth on most all distros I have tried.  I installed Korora, because it comes with GoogleEarth bundles in the install image.  But something about Korara didn't set right with me, I"m uncertain what.

The bottom line here: I recently posted how much I like Sabayon, because it was the first distro (outside of Korora) that has run GoogleEarth almost flawlessly; yet I am now using Fedora, because of an issue with Emacs. Since I am able to run GoogleEarth, after following instructions to edit the RPM somehow, and Emacs is running well, I am staying with Fedora for now.

I am certain I will not be running Fedora in a year, but this might not be the case.  It seems pretty solid.  I am learning to administer the system ok (yum and rpm).

Why?  While Fedora is far from perfect, it gives me longlasting peace with both GE and Emacs.   (if you consider a few days "long lasting"...so far, so good)


Wednesday, December 4, 2013

Sabayon Linux: Awesome [MOSTLY: (REVISED)]

[Sabayon has since been abandoned, after a bad experience with EmacsEmacs choked on a file I have to be able to edit, apparently due to an issue of text  coding.  This only became apparent when I booted Fedora 20 to attempt to edit the same file---and a message appeared about the three characters involved.  Since then I have not had this problem.  I have also been able to configure GoogleEarth 7 to run almost 100% reliably on Fedora.  (By hook or by crook.)---December 11, AED]

I woke up on a recent morning with the revelation about my linux distro-hopping: Gentoo has been the best ever since I first tried it---except for a few points.  For one, the constant updating / upgrading cycle.  My laptop---an HP Pavilion g6, 2.4 GHz faux quad core Intel i3, with Intel graphics and a depressing keyboard---has been a pretty much faithful companion for 2-1/2 years.  If not a jackrabbit, it's speed is manageable if I don't try to bog it down with Gnome.  KDE is even almost tolerable.

I've been running Arch Linux,. which I like quite a lot, installed from Antergos.  Like the perfect seasoning, Antergos stays out of the way of the most important flavors---it is an amazing way to install Archlinux, which has been difficult, at least for me.  This may not be so much the case anymore.   Antergos is the (forgive the metaphor) the Knoppix of the Archlinux world.

However, my Archlinux laptop is not able to run Googleearth reliably.  I like Google Earth alot, and I want and need it now, as I explore a possible move to another part of the country.   Therefore, I have spent massive amounts of energy and time distro-hopping.  Every distro I have tried has had some deficiency that caused me to walk away, even if it ran Google Earch ok (Korara ran it fine, for example.  I don't know why I quit Korara).   I kept running back to Archlinux, perfect for me in many respects.

What drove to toward Archlinux is it's roots in Gentoo.

What drove me away from Gentoo was the long compile times of packages.  Probably if I were not installing a dozen desktops, and programs from every desktop manager library (gnome, qt, e17, etc.) I would not have so many recompiles at every update.  Recently Gentoo has been, in one respect, a shadow of its former self: the documentation was the pinnacle of GNU/Linux documentation of a time, about 5-6 years ago.  I am not the only one with this opinion.  Recently Gentoo Linux has suffered from political aspirations of some, as Danial Robbins, who made Gentoo at the beginning, and was the genius that kept it running well, ran away to M$, for unknown reasons.  He's back, with Funtoo, which is pretty stable, and I recently enjoyed running that setup.   But, once again, the long compile times on my measly system, and---as stable as Funtoo was---eventually my tendency to mix libraries seems to have gotten the best of me.  It starts with long compiles of libkde and qt, almost everytime.  And, let's face it, I am not the hacker that many users of Gentoo are, and while I can solve problems by a brute force reasoned approach, I have to cut and paste and google to keep things running.

My Revelation: Wasn't Sabayon a binary version of Gentoo?   Maybe I could run Sabayon Linux, and avoid the long compile times.  And get the goodness at the same time.  Maybe the fine points of Gentoo weren't for me, but it was always the most stable.  Absolutely.  Incontrovertably.  The best.

So, guess what!?  I downloaded the most recent Sabayon 64 bit DVD image, copied it by using dd to my Flash Drive, and booted it.  People talk about the beauty of Sabayon, and it's tru, it's really pretty.  But I am running the XFCE4 desktop, to keep the speed and mass to acceptable levels.

And Googleearth runs fine.  It's included in the repo.  As I type, I am copying over my important files from the home directory of my Arch/Antergos system.  Another positive about using a separate /home partition.  Mine is now almost 200GB, and has home directories for a dozen or 15 different installs.  I think I could use the same /home directory for all the different installs, but back in the early days of Ubuntu, when Goliath walked the Earth oblivious of the damage, I had lost large partitions and home directories due to Ubuntu's sloppy installation mechanism.  To be brief, at times when I tried to use the same user name on a second Ubuntu install, the data of the user, from the previous install, disappeared.

Anymore, that problem hasn't bothered me, because I use a different user name each time I install a new GNU/Linux setup, on the same, somewhat generous, /home partition.  Then, when I am "Joe" on my new system, I set my UserID number as 1010, so I have automatic access to all the home directories I have used this UID on.  Including my old /home/hawkeye directory.  It is short work to either cp or mv files to my new directory, or back again.

While I am at it, I should mention my ~/WORKBENCH subdirectory.  Almost all of my work, ongoing whatever, important files, is located in this directory.  I use git to clone copies of this directory to a flash drive.  If these are up to date, I don't even have to copy this directory to my new /home/Joe/WORKBENCH: I just use git and clone it from the flash drive.  Having the Same Group and User ID of 1010 makes it easy, from the standpoint of git.   It's time to weed out this directory, however, as it's gotten too big to clone.

Things seem to be moving in a good direction. Sabayon is stable enough that the googleearth 7 version from the repo works well (well, except panoramio images don't display, but this is a long standing problem for other distros as well); emacs is up to date and easy to install.

The huge collection of almost all available Free Software applications I need is a huge advantage for me. Most distros pick and choose.  Archlinux is missing some utilities I need.  Fedora likewise.  openSUSE is crazy, and not to my taste---not to mention I have been avoiding it since the Microsoft leaning tendencies of SUSE came to light a few years ago.   Hardly any distros seem to have cb2bib---Sabayon does.

Why don't most mainstream distros ship with Emacs installed?

Just asking.

4 December 2013
Oakland, CA

==========================================

Afterword:

What was it said "everything has something"?   After a couple of days, I got stuck on Sabayon, and cleaned up the install of Fedora 20, catching it up (I think) with the Beta edition recently released.  I am not a Fedora guy, up to now.  One of the Parents at WIlliam's school has had good success with it.  I'll try it.  (I am also preparing to try gNewSense in the near future).

So here was the problem I couldn't fiture out how to recover from, and a few further notes about the experience with Sabayon.

After a few hours, I had already added various libraries and software, and made some tweaks.  By this time, I had some erratic behavior from GoogleEarth.   Once it is running, it seems to be solid.  But in about 3 out of 10 starts, it fails.   That's no biggie.  The next one *is*.

Emacs.  I started editing my tide graph programs.  Emacs choked on these files.  This has NEVER happened, and I edit these several times a week.  I think I finally have a clue, but I tried a lot of things:

  1. Reinstalled Sabayon.  No change.
  2. Reinstalled emacs twice.  No change.
  3. I tried to edit other files, no problem.  
Then, I tried Fedora.  It's a pretty smooth piece of work.  No problem, with the files in question.  But the file in question elicited a response from emacs in Fedora that was not in evidence in Sabayon: emacs posted a warning of sorts about three different characters in the file that were not recognized.

Now I'm not a font guru.  I do not get it about encoding, but can follow instructions.  I think this is a matter of a character being out of character.  I will check another time,  so maybe Sabayon can be saved.

I also did have to compile a couple of programs by hand.  That's no unusual, but more of them: xtide and gri in particular.   This seems to be evidence of an understandable lack of comprehensive coverage of software by a smaller team.

I also have a sneaky feeling that there is more handwork required in Sabayon, which is ok, if I have time.  

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.

Monday, January 12, 2009

Org-Mode and VLC

Vlc is a wonderful media player. For movies, it automatically integrates a subtitle file if one is available by the same base name as the movie file.

Org-Mode is a wonderful outlining, notetaking, organizing utility for Emacs, the editor I use to do almost everything involving text of any nature.

Carsten Dominic has written a Relative Timer feature into Org-Mode. I use audio-visual materials quite alot in teaching, and I have often taken notes of videos or movies, to facilitate development of a lesson or a worksheet. The Org-Mode relative timer is a fantastic help, and Carsten has now made it better, integrating a facility to pause the timer.

I discovered an emacs lisp routine "dired-mplayer" at http://www.emacswiki.org/emacs/EMMS , and adapted it very crudely to start up vlc from emacs dired. It now starts vlc asynchronously, so emacs doesn't freeze up waiting for the video to finish, which leaves me free to take notes using Org-Mode and the Relative Timer feature. But pausing is what I needed, and Carsten's new feature makes that work.

I have incorporated a facility in dired-vlc that will simultaneously open a note buffer in org-mode in Emacs, and start the timer.

At this point, I use an org-remember template to open a buffer in a file of video notes. Then, insert a time stamp at t=0, and proceed.

I assigned the command to pause and restart to F11, so I can pretty easily pause the video and immediately afterwards pause the org-mode timer. Same for restart.

To make this more useful, I hope to incorporate code to pause the video and the timer simultaneously, wait for a note, and then restart both on command.

Here's the code for dired-vlc. It's more than just rough, but it works.

;;--------------------------------------------------begin dired-vlc.el---------------------
;; -*- mode: elisp -*-
;; Time-stamp: <2009-01-13>
;; AED 05 January 2009
;;;;;;;;;;;;;;;;;

(require 'org)


(defvar dired-vlc-program "/usr/bin/vlc")


(defun dired-vlc (&optional timer)
"Asynchronously start vlc on file through dired. If an optional
argument is given (C-u), the org relative timer is started. This
function purports to start vlc in rc mode, to leave open the
possibility of remote control."
(interactive "P")
(let ((file (expand-file-name (dired-get-filename)))
ext files basename dir curr-file ;idx-file sub-file srt-file
command options)
(setq basename (file-name-nondirectory
(file-name-sans-extension file)))
(setq dir (file-name-directory file))
(setq files (directory-files dir t basename))
(delete file files)
(setq command (format "\"%s\" \"%s" dired-vlc-program "--intf rc"))
; file))
(if (y-or-n-p (format "Run command %s?" command))
; (shell-command command))))
(start-process "junk" nil dired-vlc-program file)))
(if (equal timer '(4)) (org-timer-start))
)


;; end dired-vlc.el

Sunday, December 7, 2008

Distribution Alternation

I have moved my machines to Ubuntu. Beginning immediately on the day of its release, I also moved all of them to Intrepid Ibex, Ubuntu 2008.10. Tonight I want to report that I am pleased after a somewhat lengthy trial period: I will stick with Ubuntu for now.



I have looked around for a replacement, and very few catch my eye anymore. This is a major change for me, as I have been an inveterate tester of distros. From Slackware to Debian to Knoppix to Mepis to Gentoo to Ubuntu to Gentoo again, then to Ubuntu. I think this captures the main thrust of my experiments, albeit there have been some more or less casual and brief detours along the way---for example when I installed cluster knoppix on three machines in my classroom, upon a time.


I had tried Gentoo for two or three main reasons: to challenge my fear of confiuration; to find a distro to run both X86 and AMD64 executables on (I'd read that Gentoo did this best); and to search for more solid performance. Gentoo was successful in all of these areas, and more. Not only that, but Gentoo had the best documentation in the GNU/Linux world, hands down, until recently.


Several problems tugged me away from Gentoo this time. I don't have enough time to maintain three or four systems, let alone one, when it takes me often several hours or longer to track down a problem. That's the fault, perhaps, of my lack of formal Computer Science training. For various reasons I do need a working computer, and a reliable one. Ubuntu has gotten to the point where it works well out of the box, and the hard problems are fewer and farther in between. (That being said, K3b on Gentoo works fantastically out of the box, and verifies burned CDs almost always; K3b on Ubuntu Intrepid Ibex is unable to verify a burn of an iso image. FOr me.


Another reason is the ease of installation of programs. It's plenty easy to install programs on Gentoo, and I like the method better, in fact. However, the advantages do not seem to outweigh the main disadvantage (time taken to install) anymore.


Gentoo seems to be falling apart. I would like to volunteer to help keep it afloat. But I am so troubled by even trying to keep a system working withing reasonable parameters, and up to date, that I cannot expect that I would be able to even offer reasonable assistance with documentation.


In particular, the docs are not as good as they used to be.

Tools of Excellence: Cb2bib, Yazi, Sioyek, Entangle, XnViewMP, Emacs,...: WOW!

In the summer of either 1982 or 1983, I enrolled in a summer school class at UCSB offered by the College of Engineering on Computer Architec...