Skip to content

Emacs, Calendars, Google, and Org Mode

This post has a few nice links. emacs-calfw is calendar framework for Emacs. google-maps displays Google Maps directly inside Emacs. org-gcal.el synchronizes org-mode with Google Calendar.

A Nice Git Branching Model

This article communicates a very nice Git branching model.

key-combo and the Spread of Great Ideas

I love watching great ideas percolate through the file editor ecosystem. My cup of tea is Emacs, so I notice it most there, but it happens all over the place. For example EasyMotion appeared in VIM and jumped to Emacs AceJump and then to IntelliJ (and all its children). If you are an Emacs user then you also see it happen a lot between modes.

For example ESS has this nice feature of evaluating the current line or region and stepping forward. It probably sounds so simple to you that you would question its value. Oh yea, you know LISP, so you get it that simple is powerful. Obviously that idea will spread to every mode for every language, and here is how, eval-in-repl.

Today’s story-unfolding for me has to do with setting up your key bindings in order from least to most disruptive to your hands and arm position. Xah Lee gave me the idea. Here is how I do it. key-chord is what made it possible for me. It was so uplifting to start using it. My personal workflow was so improved and I didn’t think any more about how to make it better or how key-chord might serve other purposes. Then I read about key-combo.

It does what key-chord does. OK, that is great. It does a little more though. It cycles through through symbols, too. Why do I care? In ESS the function `ess-smart-S-assign’ helps you deal with assignments in R. At some point, both R and S used the underscore for assignment. The naming standards in R are OK with using underscores in names as separators, too. So what should happen when you hit underscore in ESS mode? When you hit underscore, it starts cycling through ‘<-' and '_'. It makes total sense and it is totally expected. That is nice. key-combo lets you easily do the same thing wherever you want.

I want to cycle through umlaut-accented vowels. I want to cycle through escaped and non-escaped symbols in LaTeX mode (here is one way in org). I want to cycle through through the different equality functions in our favorite languages (=, eq?, eqv?, and equal?) using only the = key. So, I will.

This thing called EMACS is really a vehicle for fun. This thing called ALEC is really a vehicle for the expression of creativity. What a treat to be here to do so collaboratively with all of you fine human beings!

I Wasted Time with a Custom Prompt for R with ESS

I wanted a custom prompt for R with ESS. I wanted a double struck R. I probably did it wrong. It never worked. Actually it worked most of the time, and that is worse than never working. Kind people helped me. I still got it wrong. I take full responsibility. It was better not to do it. If you want to try, here is where I left it.


Make the ℝ prompt stand out (be sure to tell ESS how to handle this):

options(prompt="ℝ> ")


Tell ESS how to handle my custom prompt:

(setq inferior-ess-primary-prompt "ℝ> ")

Handle the custom ℝ prompt in ess. Don’t use custom here.

(setq inferior-S-prompt "[]a-zA-Z0-9.[]*\\(?:[>+.] \\)*ℝ+> ")

How to Format Magrittr Chains with ESS

Here is an example of how to format magrittr chains with ESS. Those interested will also be happy to learn of ess-R-fl-keyword:%op% and ess-%op%-face.

For example, to get the an indent after only the first statement.

(add-to-list 'ess-style-alist
               (ess-indent-level . 4)
               (ess-first-continued-statement-offset . 2)
               (ess-continued-statement-offset . 0)
               (ess-brace-offset . -4)
               (ess-expression-offset . 4)
               (ess-else-offset . 0)
               (ess-close-brace-offset . 0)
               (ess-brace-imaginary-offset . 0)
               (ess-continued-brace-offset . 0)
               (ess-arg-function-offset . 4)
           (ess-arg-function-offset-new-line . '(4))
(setq ess-default-style 'my-style)

Thank you Mr. Vitalie Spinu.


How I did it:

(setq gcr/ess-style
       (assoc 'RRR ess-style-alist)))
(setf (nth 0 gcr/ess-style) 'GCR)
(setf (cdr
       (assoc 'ess-continued-statement-offset
              (cdr gcr/ess-style)))
(add-to-list 'ess-style-alist gcr/ess-style)
(setq ess-default-style 'GCR)

Entity Framework in the Enterprise on Pluralsight

What I want to know how to do in entity framework:

  • Create
    • High speed database contexts
    • Object rich database contexts
    • Dynamically composable database contexts for when pre-built don’t exist
  • Understand
    • Best path
    • Performance trade-offs
    • Risks and Challenges

With those questions in mind I watched Entity Framework in the Enterprise: Incorporating Entity Framework into applications that are architected for the enterprise.

Personal notes follow.


MD5 & SHA Checksum Utility for Windows

MD5 & SHA Checksum Utility worked just fine for me.

Great way to verify MSDN ISO downloads.

3 Nice Looking Diff Tools and My Pick

1 Desire

I want a GUI diff/merge tool. Text-based diff is fine for easy stuff. I want a
tool that makes difficult merges easy. I want a single download,
install, and run. I want something with first class support. It should run
well on Windows, OSX, and Linux. This was my original goal.


Where VMWare Fusion Stores Boxes on OSX

When you create VMWare Fusion virtual machines through the GUI they are stored in ~/Virtual Machines.

When Vagrant creates VMWare Fusion virtual machines they are stored in Vagrant-file-directory/.vagrant/machines/default/vmware_fusion.

Confirmed it myself.

Thank you JT Gray.

Nice HTML Slide Export in Org-Mode with org-ioslide

Here is the project.

Link via reddit.