Welcome to my little corner of the Internet. Here you will find some notes and information from various project ideas and experiments I am working on. I am glad you stopped by, and hope you find what you are looking for.

It would be nice to simply click on a debug message and have it open Emacs to the correct location in the corresponding file. There are a variety of ways to accomplish this, I chose to use terminal hyperlinks along with adding an Emacs URI protocol to my system.

macOS URI Protocol Handler

Strangely over the past week I ran into the need for a URI protocol handler on three different occasions. Instead of looking for three separate existing handlers that might work, I decided to write a single generic handler. The solution is a simple URI protocol router that forwards requests to shell scripts that handle the protocol requests. Below I describe some of the details; you can also find the end result on github: uri-handler.

Org Export Configurations

Emacs org mode offers a variety of export options that make it easy to look at your notes in different formats, or perhaps make them available for others to view. Three I use regularly are markdown, mindmap, and reveal presentation. My approach to Note Taking The best way to learn something is to sumarize the topic in your own words, in your own context, and present it to others with concrete examples. [Read More]

Deft + Org for Notes

In the nvALT and Emacs post I described an integration between nvAlt and Emacs using Deft for markdown notes. I the past year I have moved to using Deft for org notes rather than markdown notes. The nice thing about combining Deft with Org is that your notes are indexed and easy to find using Deft, but also retain all of the power of Org to orgainize and present information. For example typing decision boundary into deft quickly cuts down hundreds of org text notes to the handful that contain the words decision and boundary in them.

Org Mode ES2015+ Code Blocks (updated)

Babel 6x is a significant change from Babel 5x, as the cli is now a separate node module called babel-cli and transforms are now also delivered as separate packages. First make a few changes to the emacs environment so you can use JavaScript in org mode, as well as find local node.js modules you have installed. Replace ~/org/node_modules in the configuration below with the location of any local node modules you want to use. Using this approach you don't have to pollute the global node_module directory if you don't want to.

#+begin_src js :cmd "org-babel-node" :results output drawer
let arr = [1, 2];
let [x, y] = arr;

console.log(x);
console.log(y);
#+end_src

:RESULTS:
1
2
:END:


ancs-example-on-blend-nano

I decided to try getting Apple Notification Center Service (ANCS) working with the RedBearLab BLE Nano, and this post describes one way to get the Nordic ANCS demo running on a BLE Nano. This post shows how to get an ARM development environment and toolchain up and running on OS X in order to develop apps for the Nordic BLE SoC's (e.g. nRF51822 based boards like the BLE Nano).