June 16, 2020

ClimbingClimbing

Part Two of My Battles With Emacs

TL;DR: I am confused. The journey continues.

At least one person liked my Part One. That gives me enough reason to try to document Part Two.

Travels Down the Customization Path

  1. Tried to set up a set of remember templates. Didn’t work.
  2. Set up Cua Mode to make the copy/paste/cut commands easier. It worked. Got exposed to Ergoemacs-mode. And that seemed more compatible with what I was trying to do. Switched cua-mode off and moved the keybindings to Ergoemacs. Learning curve reboot.
  3. Gave up on Ergoemacs. It brings new commands to learn and Doom was there. Didn’t want to get even more confused than I am.
  4. I got the line wrapping to work. It takes all my lines and soft-wraps to 90 characters. Makes the whole process of writing text much easier and comfortable.
    (setq-default word-wrap t)
    (setq fill-column 90)
    (setq visual-fill-column-width 90)
    (global-visual-fill-column-mode +1)
    (+global-word-wrap-mode +1)
  5. I turned on Deft, it makes the process of writing, managing, and searching for files in my notes directory much better. Like it.

I understand that this is what people do. They take the editor and customize it to suit them perfectly. I like the idea but I don’t have enough knowledge to try that. This is where the frustration sets in. This struggle is what is going to lead to knowledge but I am going to give it a break. I am going to use what I have for a while and then focus on what I need to change and what I need to incorporate. Let me get familiar with the basics, and then I will venture into the unknown of trying to tweak.

I can spend the rest of my life tweaking Emacs. Or I can start working in it and see where it takes me. I am going to stop tweaking. Start using.

I can have a bunch of buffers open in Emacs. There are files I work on every day which need to be opened by Emacs. I can find a list of buffers which are available to me with a quick keyboard command and switch between them. That seemed like a good thing to do. I set up an Alfred workflow. I can press one keyboard command and Emacs will open all the buffers I am interested in. If I need other files, I can open them from the directory later. But the major files are accessible when I need them.

Alfred workflow for EmacsAlfred workflow for Emacs

This solved the problem of individually picking files to look at. The core set is always loaded. That seems an improvement.

Comments After Four Weeks of Use

  • I am missing typewriter scrolling.
  • Outlining in Org mode is fantastic.
  • I am growing an appreciation for an editor which lets me do everything through keyboard commands. Using the mouse/trackpad is inefficient.
  • I like and dislike frames. The idea of having a large Emacs window and then different frames in the window which you can switch between, and they can all contain individual files is an interesting one. I am however used to tabs and must admit that I miss those in Emacs. The main problem I have with the window management setup in Emacs is that it is incredibly distracting. I like working, a document at a time, more than switching to a setup with multiple frames. Need to figure out workspaces and see if that solves my problem. As I am typing this, Projects and Workspaces | Doom Emacs | 프로젝트와 워크스페이스 - YouTube got posted. Seorenn - YouTube is fantastic. He did a great job with his SpaceMacs videos, and he has started on the Doom Emacs videos. I am looking forward to more of his instruction.
  • I have figured out how to use relative line numbers. Makes the process of moving around the document and editing things better. Adding the following code to the config.el helped with that:
    (setq display-line-numbers-type 'relative)
  • I was struggling with the simple copy and paste commands. This got solved when I learned of the VIM commands for copy, paste and cut.

Major Realization at This Point

I am not using Emacs.

Let me explain. Doom has turned my Emacs into VIM. Yes, there are things which are Emacs specific: like org-mode and markdown-mode, but I am using VIM for all the important actions. My editing commands, my navigation commands, and a lot else are all VIM. It took me a while to realize this. I was in Emacs. I thought I had to learn Emacs commands. Not true at all. Emacs with Doom runs better if you use VIM commands. This one realization made it a much better experience for me. I started looking at VIM videos, from ThePrimeagen. I am learning how to navigate in Emacs through the videos from this channel. Like I said, learning to live in Emacs with VIM commands.

Sincerely I don’t know whether this is a good idea. I am not sure at all. But it has the added benefit of making me pretty conversant with VIM commands. I can now use VIM if the love affair with org-mode doesn’t work out. I now know what to look for and what keyboard commands to use to get where I want to.

Strategy Moving Forward

I have decided to not add anything more to Emacs. I am going to learn what is available. That means, I will learn how to use deft, dired, search, and keep using the keyboard commands I am learning. I am staggering the number of keyboard commands I am incorporating into my workflow. I am adding them in batches. Don’t want to overwhelm myself. They have to be ingrained into my muscle memory. That will take time.

Pain-Points Document

I started a document listing the pain points I am experiencing with Emacs. I presume that after a while, I will get down to resolving these issues. The contents at this point:

  1. What are workspaces and how does one work with them?
  2. Typewriter Scrolling.
  3. How does one stop the Markdown export from org-mode files from including two spaces after the marker for lists? How does one customize that output?

A Discussion of Intent

I notice that the people who use Emacs, use it for everything. Email? Twitter? RSS feed reader? It is all done in Emacs. I do not want to do that. I am happy using MailMate for my email, Twitterrific 5 for Twitter and Reeder for my RSS feeds. They are optimized for their particular activity and I don’t see the benefit of changing from them.

If you visualize Emacs as an OS, and it is nearly one, you are using elisp bundles/packages within Emacs to perform particular functions, the integration of all these activities within Emacs makes sense. I can see that, but I am not on that road. I am using Emacs as an alternative to my other text editors. In other words, I am trying to replace Sublime Text, or BBEdit with Emacs. I am interested in writing in Markdown and org-mode. I am interested in dealing with my text files and that alone with Emacs. I am interested in reading large files in my text editor and doing it without much of a stress on the memory/processor load on my computer. That is what I am looking for. Not the kitchen sink approach that Emacs users seem to take with Emacs.

Sublime Text and to a lesser extent, BBEdit are good at that. I am unsure about what Emacs is bringing to the table for the task of dealing with my text files. These are the advantages of Emacs over the alternatives:

  1. Org-mode. This is big.
  2. Free. This is significant.
  3. A concentrated focus on the keyboard. Both BBEdit and Sublime Text can be exclusively keyboard driven, but that is not as explicit a goal of these two programs.

I suspect that my relationship with Emacs needs to mature before I am able to make an informed decision on the product. My apprehension with it is a function of my lack of knowledge/comfort with it.

I must admit that ‎Learn Emacs In Ten Years scared the hell out of me. I don’t have ten years. Not sure that I want to spend the next ten years of my life tweaking my config files for Emacs. I need to think this through before I put in a lot more time into this exercise.

Problems With Using Doom

  • Keybindings. There needs to be a list of Doom based keybindings available. The +evil-bindings.el file is not human-readable.
  • Documentation. This is a difficult task. If you assume that the user is someone who is familiar with VIM, the documentation will be different from the assumption that the user is clueless. I am looking for documentation for the clueless and that is not available.

Two VIM Books

These are the two VIM books which I am using to learn VIM.

Modern Vim: Craft Your Development Environment with Vim 8 and Neovim 1st Edition, Kindle Edition

Practical Vim: Edit Text at the Speed of Thought 2nd Edition, Kindle Edition

Resources

This is a great resource for learning Org Mode.

Org Mode - Organize Your Life In Plain Text

I am not alone. Org-roam vs other Roam-alikes

Conclusion

The journey continues. I am working at getting comfortable with Emacs. However, there is no certainty. I am questioning the reasoning behind this journey incessantly, and I am not any closer to the answer than before. At this point, I think it is stubbornness which is keeping me on the journey.

macosxguru at the gmail thingie.

Hat tip to: Photo by Suliman Sallehi from Pexels

emacs
May 26, 2020

Kudos iconKudos icon

Kudos Helps Me Collect Information

Product: Kudos a productivity tool for macOS
Price: App Store $4.99

I collect information all day long. Go to a website, find something that I want to archive, convert the information to Markdown and save a file to a folder in my hard drive.

I have been using fym to do this for me. It used to work most of the time, but lately it seems to choke a lot. I went looking for an alternative. Enter Kudos.

Kudos InterfaceKudos Interface

Kudos lets you select some text on a website, hit a keyboard command, and it captures the selected text into Kudos. It has a section where there is a reference the source of the information. This could be an URL, a reference to the file, and the application you captured the information from. You have the ability to save this captured text as a sound file(.aiff), or a .md .pdf, .rtf or a .txt file.

Kudos does a lot more but I am not interested in everything it does. I am interested in saving the document as a markdown file containing the following information:

  1. Source URL of the document.
  2. All the links referenced in the document as Markdown links.

That is what I need. Kudos provides that. It lets me edit the capture. I can put in some metadata, some notes, and some Markdown formatting, if I desire.

Kudos does support the links in Markdown format but it doesn’t do much else by way of Markdown syntax support. No headings, no tables, no bold or italic. Those are things you have to input yourself if you are so inclined.

Kudos does a better job saving content in the .rtf format. But I am not fond of that format. Love text files, so don’t use .rtf at all.

For my needs, Kudos is perfect.

Wish List

These are the things I would like Kudos to add to it’s arsenal:

  1. Extensive support for Markdown syntax. Headings, bold and italic would be a start. Table support would be excellent.
  2. The documentation is improving. But it could do with more examples of use cases.

The developer is a extremely responsive. You can bug him to make changes and he is eager to make the product better.

Conclusion

If you do research on the web, Kudos is a valuable addition to your arsenal of tools.

I recommend it heartily.

macosxguru at the gmail thingie.

kudos macOS
May 18, 2020

ObstaclesObstacles

Part One of My Battles with Emacs

There was no good reason to do this. Absolutely no damn reason.

I started tinkering with Emacs. I don’t have a good explanation for why I started on this journey. I was bored? I am a glutton for punishment? My pinky wasn’t getting enough exercise?

(Note: the last is an inside Emacs joke. Emacs commands seem to prefer the ⌃ key. Means that your pinky gets used a lot. I know. Not funny.)

I told myself that I was interested in org-mode. That was the ostensible reason behind this adventure. Let me step back a few.

I know a bit of Vim. Very little. I have tried to learn to live in Vim and gotten frustrated and moved away from it. I know even less of Emacs. The main cause of frustration with these editors were the following:

  1. I am comfortable with macOS. I take for granted some niceties that come with the OS. Keyboard commands which are standardized across the various programs in macOS, don’t work or don’t work all that well in these editors.
  2. I like iA Writer. It is distinguished by forcing some default choices on to the consumer and insisting that the user get on with writing and not worry about tweaking the interface. Vim and Emacs are not designed that way. They insist on letting you tweak everything. I mean everything. This ability to tweak coupled with my lack of knowledge means that I am stepping into the rabbit hole of customization all the time. Most of the time, I have no clue what I am doing. Some times my Google-fu leads to the right answer, and I am enthralled. Most of the time, what works for someone else, doesn’t work for me. Cue the frustration.
  3. Things which are simple in other editors. Number of letters in a line. Typewriter scrolling. A mystery to me in Emacs.
  4. These editors are designed for programmers. I am not one. I want to write in org-mode or Markdown. Don’t particularly care for programming conventions. There are solutions which are available on macOS which are geared towards Markdown. Programs which are optimized for Markdown: iA Writer, MultiMarkdown Composer, nvUltra to name a few. They deal with a subset of what text editors are capable of, but they specialize. They are optimized for dealing with this markup format. This lets them concentrate on providing the user with a writing environment and that is what they are good at. Emacs has a fantastic Markdown mode. But it is a completely new learning curve for me. Intuitive commands like ⌘+B for bold are replaced by ⌃C ⌃S b. Couple that with the realization that the environment is completely customizable. That means a lot of tweaking to get things just right. The writing environment? You gotta tweak that yourself.

Why am I doing this?

  1. I am old. I need to find that I can learn something new.
  2. I am intrigued by org-mode.
  3. Looking for an editor that I can live in for the rest of my life without paying a fee for that privilege. Times are hard. I want to reduce my spending.
  4. I came across an Emacs distribution called doom-emacs which intrigued me.

Worst of Both Worlds

doom-emacs lets you use Emacs with Vim keybindings, called evil mode.

The problem? I am not that good with Vim keybindings. I know some basic commands but am not comfortable with them. They are not second nature to me. So, it doesn’t really matter that I can use Vim keybindings. I don’t know them.

Like I said. This was a bad idea.

But I went through the installing process and now have an instance of Emacs which supports Vim and Emacs keybindings, none of which I am particularly familiar with.

First Things First

The font has to change.

These additions go into your config.el.

(setq
doom-font (font-spec :family "Input Mono Narrow" :size 18)
doom-big-font (font-spec :family "Input Mono Narrow" :size 36)
doom-variable-pitch-font (font-spec :family "Avenir Next" :size 18)
)

The line spacing was too close and I needed to change that.

(setq-default line-spacing 0.7)

Tao themeTao theme

The theme has to change. Doom ships with solarized light and dark pre-installed but I wanted to try something different. I ran across a lovely minimal theme called Tao.

(setq doom-theme 'tao-yang)

One of the things which Doom lets you do is move in a file through reference to the line numbers. I needed to show line numbers.

(setq display-line-numbers-type t)

I still haven’t figured out how to make every line width 90 characters. That is a work in progress. I haven’t given up that quest, but it hasn’t clicked yet. Typewriter scrolling? No answer to that one. Still looking. Haven’t given up the search. But no luck so far.

The Upside

I am learning. Finding that I can learn something new. Not too old for that. You have no idea how good that makes me feel. You will get it, once you are my age. By the way, I am 59 years old.

Doom-emacs is like a mesh of the best things of Emacs and Vim. This is a double-edged sword. You get the benefits of both editors, the evil keybindings along with Emacs and its org-mode. The complexity is astounding for someone who has limited experience with these tools. I am having to learn both Emacs and Vim concurrently.

Markdown mode in Emacs is fantastic. It is comprehensive and implemented well. I love writing Markdown in Emacs. It is well documented and it is sensible.

Suggestion 1: Buy the Guide to Markdown Mode for Emacs by Jason R. Blevins. Pay the price you can afford.

Suggestion 2: Search youtube for emacs related videos. There are a ton. Go through them.

Suggestion 3: Buy a few more books. These are two I can recommend:

  1. Mastering Emacs $39.99
  2. Harley Hahn’s Emacs Field Guide 1st ed., Hahn, Harley $29.99

Org-mode. It is overwhelming. It is great. I have just started this journey, I don’t have much to say about it yet. Except that tables are fantastic in org-mode. There is a whole calendar portion of it which I am not using. I don’t care to have my agenda maintained by Emacs. At least, not yet. I might get there but now I am using org-mode to write outlines. It is a great outlining program. All text and outlines. Folding of sections or the whole of the document. It is the best text based outlining solution that I have ever seen.

Conclusion

I am learning. I am having fun. Also tearing my remaining hair out. Frustration is a part of the learning curve. It is the most geeky thing I have attempted and the little successes add a tremendous amount of pleasure to my quarantined soul. This series is going to be continued…

macosxguru at the gmail thingie.

Thanks to: Photo by Vladislav Vasnetsov from Pexels

emacs
May 13, 2020

Produces BooksProduces Books

Books to Read 2020-05-13

Now that people have some time on their hands, I want to recommend some books to read.

Guy Kawasaki

Lessons From A Life Hardcover: 18.69 Kindle: 13.99

Kawasaki has written a few books and I have read most of them. I loved Enchantment: The Art of Changing Hearts, Minds, and Actions. I enjoyed Rules For Revolutionaries: The Capitalist Manifesto for Creating and Marketing New Products and Services. I liked How to Drive Your Competition Crazy: Creating Disruption for Fun and Profit. All of these are good but this one is better.

Wisdom imparted in an engaging manner. I will read this one a few times.

Chris Matthews

Hardball Paperback: 11.95 Kindle: 12.99

I am aware that he is a bit of an asshole. A misogynist from a bygone era. I don’t agree with his “politics as sport” viewpoint. In fact, I don’t agree with his politics at all.

I like this book though. Relevant to life and politics. I have read this one a few times.

Robert B. Cialdini

Influence: The Psychology of Persuasion Paperback: 10.99 Kindle: 12.99

I used to make my graduate students read this one. Insightful stuff written like a normal person. I have read this one a few times too.

Sarah Kendzior

Hiding in Plain Sight: The Invention of Donald Trump and the Erosion of America
Hardcover: $18.29
Kindle: $14.99

It is terrifying. The reality of the current state of America which most of us are unaware of. We are busy living our lives, trying to cope as best as we can. We are not processing what is going on with America. This book lays it out in vivid, graphic detail. An autocratic future most of us never wanted or are ready for. Well argued, masterfully written, informative and scary. Please read it.

Philip Marsden

The Crossing Place: A Journey among the Armenians
Paperback: $15.99 Kindle: $ 8.99

“The Crossing Place is Philip Marsden’s gripping account of his remarkable journey through the Middle East, Eastern Europe and the Caucasus in a quest to discover the secret of one of the world’s most extraordinary peoples.” This is an amazing book about the Armenians. Recommended for people who are even remotely interested in this region and their peoples.

Now for something much lighter.

Angus Donald

Outlaw: A Novel of Robin Hood (The Outlaw Chronicles Book 1)
Paperback: $12.74
Kindle: $11.99

Holy Warrior: A Novel of Robin Hood (The Outlaw Chronicles Book 2)
Paperback: $12.99
Kindle: $11.99

King’s Man: A Novel of Robin Hood (The Outlaw Chronicles Book 3)
Paperback: $17.89
Kindle: $9.99

This series has 9 books. I am listing the first three here. They are a breezy read with interesting characters and events. Inspired by historical events and remarkably close to the truth about some of it, this is an engaging read. If you are overwhelmed by the dark present times, the Dark Ages might be an appropriate refuge for your mind.

The links are Amazon affiliate links, which means that if you buy books from these links, the World Wildlife Fund and I will make a few pennies off your purchase.

macosxguru

Thanks to: Photo by Patrick Fore on Unsplash

books
April 21, 2020

Gingko iconGingko icon

Working in a Tree-View in Gingko

Product: Gingko
Price: $15-$90 one time purchase, depending on your ability to pay.

Warning: This Is an Electron App

I am hesitant when it comes to electron apps. I don’t like them. I don’t live in a cross-platform world and the compromises you have to make to live in an electron app are not worth it to me. However, I am still writing about Gingko. Why?

Gingko is unique in the macOS space. It gives you the ability to write your content in a tree view. Reminds me of an outlining program called Tree, which has disappeared from the Mac App Store and the Internet but had a great implementation of a tree-view based outliner. Gingko is the nearest thing I have found to Tree. In fact, I find Gingko better than Tree because of it’s Markdown support.

What does Gingko do?

“Provides structure to your prose.”

Gingko interfaceGingko interface

Gingko gives you a tree-view structure to the prose that you write. You can break your content up into sections and concentrate on writing individual sections while working on a long-form document.

It is CommonMark complaint, letting you write in Markdown.

What does that mean?

You can write in levels. You can see the structure of your document. Work on any section or level that you feel like at the moment. You can move sections around and it is all available to you in an interesting tree view. Makes working in sections easy. Makes organizing the flow of your content convenient and easy to manage. This is useful when you are dealing with long-form content.

Gingko has an online implementation for what is considered Version 1.0. The documents you produce online and on the desktop version, Version 2.0, will be sync-able in a future version of the desktop app. The desktop version is a cross-platform application and you can sync your documents through a cloud-based storage solution like Dropbox or Google Drive. I am using Dropbox.

Gingko has an automatic backup service built in. It backs up all your documents, although there is no interface to this. I have no clue what the backup schedule is or how you go back to a previous iteration except by opening the backup file and checking out its contents. Not convenient but it is satisfying that there is a backup in case I need to go back to a previous iteration of the document.

Gingko is a writing app. I can break up the discussion of a writing app into two categories:

  1. The interface.
  2. The writing environment.

The Interface or What Do I Like in Gingko

I love the ability to see my document in a tree view. I can move the sections around to make sense of the internal logic of the piece. It is an interesting implementation of the idea and I am fond of it.

The keyboard commands are well implemented. You can move around your document using only the keyboard and that makes the process of writing and editing efficient and pleasurable.

Gingko keyboard commandsGingko keyboard commands

I like the little popup in the left corner which shows me the relevant keyboard commands and they change depending on the context that I am in.

Gingko keyboard commands changeGingko keyboard commands change

I like the ability to zoom in and zoom out. Makes the text stand out when I am writing and is helpful to direct attention to the section I am working on. The implementation increases/decreases the size of the font displayed. The other sections are grayed out in the program. This lets you concentrate on the content you are writing/editing.

The Writing Environment or What I Do Not Like in Gingko

Gingko is a Markdown based text editor. It handles the text editing part without any of the frills that are common to this category of application.

The Markdown implementation needs keyboard commands and could include the following:

  1. I should be able to highlight a series of paragraphs and turn it into a list(ordered/unordered) with a keyboard command. Same is true of block quotes.
  2. I would like to be able to highlight a word or phrase and paste an URL on to it, to turn it into a Markdown formatted link.
  3. Lists need to auto-complete.

The writing environment needs work. It is usable as is, if you don’t mind entering almost all of your Markdown code by hand. Bold(⌘B) and italic(⌘I) are supported, but that is about it. If you are looking for the niceties of a modern Markdown based editor, Gingko has a certain amount of growing up to do.

The lack of spell check is a glaring omission. There are macOS system enhancements which are not supported. Two spaces turn into a period, and the first letter of every new sentence is capitalized through the macOS keyboard preference pane. This is not supported in Gingko. This is not an Electron thing. Typora, an Electron program, supports these conventions, why not Gingko?

Improvements

In no particular order, these are some suggestions to improve Gingko:

  1. Please include the system spellcheck.
  2. There should be a default setting for font choices. Having to change the font settings for every new document is painful.
  3. The undo function needs work. It is unreliable.
  4. The online help and description of this product is woefully short. A listing of all the keyboard commands would be helpful.
  5. The Markdown implementation needs keyboard commands.
  6. The editing component of the program needs work.

A Comment on Gingko Pricing

Paying for GingkoPaying for Gingko

I love the pricing structure for Gingko. The idea that you can pay a variable price based on your ability to pay isn’t something that gets much encouragement in the world of software. I appreciate what the developer is doing here.

Recommendation

Gingko is unique in the marketplace. It supports a tree view depiction of your document. No other program, that I know of, provides this feature on macOS. Gingko provides a keyboard driven interface. You can ignore the mouse and live in Gingko with only the keyboard. Makes navigation within the document efficient. I like working in it.

It is a simple idea, well implemented. The editing environment needs work. Improvements to that would make this an absolutely killer application.

If the idea of a tree-view structure of your document strikes you as something that could be useful to you, Gingko is a great answer to that quest. You can try it out at Gingko 1.0. The desktop version 2.0 has a 30 day trial and you can kick the tires of that before you adopt the program.

I recommend Gingko heartily.

macosxguru at the gmail thingie.

Note: I was provided a review code by the developer when I asked for one.

gingko markdown macOS