Monday, September 4, 2017

Some Possibly Interesting New Finds (For Me)

  • Several Programming Tools 

    I am not a programmer, even though I play around with code a little bit, from time to time, and some of my main tools involve writing code (gri).  BUT some of the best tools for my money (usually no money at all) have often turned out to be hacker level tools.  This leads to some problems.  But here's the deal: I learned enough computer science to be dangerous to myself, and, of course, to make myself useful TO MYSELF.  I took an electronic engineering course in summer school in 1982: Computer Architechture.  That was an amazing course.  We did some trivial programming in Assembly Language and learned the basics of what a computer it, on the hardware level.  I also took a Math course, for fun: Fortran.  The young Graduate STudent who taught the computer architecture course said this to me: you now understand what computers can do, and can make yourself useful in your work.  This is true. 

    In about 1986 I had been collecting notes on animal names in several dialects in the E. Caroline Islands, Chuuk and nearby.  I desired to develop a digital database of some kind, and even while working on an island with very rudimentary infrastructure and other resources, I was able to get started thank you to my Mother, who knew about this project and funded a Laptop for my work.  I was working for 11,000 to 14,000 a year, in 1987 dollars.  I learned about the Free Software Foundation through Info World.  Don't ask my why: it was free, I guess.  I had a subscription, and read it from cover to cover.  That was in the halcyon days of snail mail, when letters could take weeks from the US. 

    I needed a programmer's editor.  This is the first tool I needed, for two reasons: programmer's editors, unlike word processors, did not insert obscure and hidden codes in the files.  They produced ASCII files, where, in a very primitive sense, What You See is What You Get.   So those proprietary behemoths would not do.  But neither did I have the funds or the inside knowledge of what kind of program I needed.  A Linguist at the University of Hawaii, Robert Hsu, sent a demo disk for an editor, and it worked well.  It was MultiEdit, and it would have cost 300.00 to get a full on copy of the program.  That was more than half of my bi-weekly take home pay!  I needed the facility to enter simple diacritics over vowels.  (Even today, in 2017, it is not trivial to do so in this browser, and I won't try).   As nice as that program seemed, to get the manual to learn how to do this would require the purchase of a license. 

    In InfoWorld on week, about 6 or 8 pages in, was a small article about the Free Software Foundation.  Knowing nothing about their work, seeing the name nevertheless conjured up visions: was it possible that I could get a programmer's editor, of some description, from the FSF?  I wrote a letter. 

    Some time later, I received a small box with, IIRC, 13 disks, those 3-1/2" disks in plastic that were used in that time, with software of various kinds from the Free Software Foundation, developed by the GNU Project.  This insignificant looking little package was life-changing for me.  And, even today, I still am confounded when I realize that the Free Software Foundation gave me for free the tools to do what I needed to do, without so much as a request for a donation.  The "learning curve" was substantial.  But every thing I needed to do was possible with these tools, and the subsequent tools that were available as Free Software. 

    Notice I did not say Open Source Software.  That idea came later.  To be sure, Free Software source code is open.  Right now is not the time to reiterate the details or history of the Free Software Movement: for that, please follow this link for a bit of history about the GNU Computing System.

    The software in that box many programs that were especially compiled for the Windows Operating System.  The most important was Emacs.  I use Emacs to this day.  Also included were a number of utilities for manipulating text files.  I was thrilled!   A superior sort program for sorting my data; the program gptx, grep, find: all of these were crucially useful.  And these are but a few. 

    Over the months and years to come I relied upon this software to generate the data files.  Through the suggestion of Robert Hsu and other linguists from UH, I learned of the Band Format to generate free form data bases.  Over time, I came to use TeX and LaTeX to generate publishable output.  These were and are ALL Free Software: Free as in Liberty, in that I can use them without violating any copyright or patents; and usually Free in terms of money as well.  My work was truly enabled by this gift from the Free Software Foundation.

    From the start, these tools were not easy to use, but unlike almost all proprietary software I have used, I could use the full horsepower, not some limited powers as dumbed down by the developers. 

    I started receiving the GNUS Bull, a periodical newsletter from the FSF.  This was early on.  At some point, perhaps in 1992 or 1993, the GNUS Bull printed an article about free UNIX-like operating systems: FreeBSD and Linux.  Some time after, I travelled to Guam for medical reasons.  While I was there, I made arrangements to download several disks for the Slackware Linux distribution.  This was the beginning of a long dependence upon Free Software.

    Immediately, my computer was faster.  Multitasking was a real process, not a faux multitasking as on Windows 3.0. or 3.1, where multiple tasks could be queued up, but only one at a time could use the CPU.  

    Over the years I have tried to explain my preference and  reliance on Free Software to my friends and associates.   I am saddened looking back, to realize that few if any of my friends took this seriously.   I am saddened that I have not been able to share the tools that changed my life.   Often I have been met with derision, as the butt ofa  joke, for not being more open minded to the expensive software tools that often were provided by the schools I worked for.  Software companies worked very hard to engage schools with their proprietary systems.  It was a matter of prestige for School Districts in Micronesia, where money was scarce, and millions of dollars could have been saved... 

    The tools are much better, from my perspective.  Perhaps I failed in not teaching computer literacy or computer science.  I did engage a numbe rof students, like one on Saipan, who learned to install Linux on some out of date systems we were able to scrounge, or on new computers we built to showcase the concept of saving money through use of Free Software. 

    So my toolkit includes less glamorous programs than those of many of my colleagues and friends.  But as time has progressed, some of the great Free programs have come into greater use. 

    I now want to mention a few more recen ttools that I have found useful.  These tools are not mainstream advance wave programs.  Their utility is great, in many ways exceeding the facility of fancier GUI tools. 

    Ranger

    Purportedly a vim-based file manager, this text based utility is extremely useful.  Potentially: IF I can sort the wheat from the chaff.  Today, I managed to delete many files in one fell swoop by not understanding the usage.  I don't know whether this was my fault.  The good side: I don't even remember what files I lost: good, because I don't have to worry about it.

    Silver Searcher 

    A grep replacement I think that works better than almost anything else I've found to search my extensive org-mode main folder.  

    Ripgrep

    I think an even better silver searcher than Ag. 


    i3 Tiling Window Manager

    This is the first tiling WM that I have been able to get my head 1/2 way around.  The bad part is I haven't yet understood what it is I cannot do.  


    XFCE4

    My goto Window Manager when other experiments lead down rabbitholes or blind alleys.  GNOME 3 is extremely interesting except for that it is, for me, almost unuseable.  That's bizaare.  Issues:

    I need a menu.

    Why the heck do I need to push the mouse to the upper left edge of the display to make the desktop switcher images appear on the right?!  



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?