I've used Emacs since I was an impressionable sophomore in college hearing about this weird old program's ability to integrate with everything a social scientist needs: R, LaTeX, Bash, and just about anything else you can do with text on a computer. Though I started using GNU/Linux casually in middle school1, I never really learned about how any of it worked or the culture around free software until I played with Arch Linux for the first time.2 While Arch started it, Emacs is the piece of software that has stayed with me the most. For just about any computing task that isn't browsing the web or playing games,3 Emacs is front and center. I am heavily indebted to the Emacs community for writing extensions such as Emacs Speaks Statistics, AUCTeX, and org-mode that are integral to my workflow.

Today I am proud to contribute my first piece of software back to Emacs: kdeconnect.el, now available in MELPA. It's an Emacs interface to the fantastic KDE Connect library that lets you communicate with your Android devices from Emacs. You can send files, make your phone ring, send notifications, etc. Note that KDE Connect is currently only available on GNU/Linux, but it does not require you to use KDE.

At its heart, kdeconnect.el is simply a wrapper for the CLI version of KDE Connect. I'm very appreciative of the efforts KDE Connect has made to ensure that their work can be easily accessed by scripts and other programs, as it made my life much easier. Everything I needed to know was just a kdeconnect-cli --help away. Usage is similarly simple. Install via MELPA, add your device IDs to your init.el file, choose an active device either via init.el or kdeconnect-select-active-device, and have fun. More detailed instructions are available at the source repo.

While the KDE Connect side of things was easy, there was the matter of learning some Emacs Lisp before I could write kdeconnect.el. After months of firing up Dolphin just to send files to my phone, I finally decided I'd had enough and started learning what all these parentheses and setqs were about. Emacs' help documents were a great start, and I'm very thankful to the Emacs IRC chat room for some help I received there that helped me get started. It's an easy enough language to pick up for basic things, but more importantly, I now grok Emacs much better than before and feel like I've made the jump to "intermediate" Emacs user.

Special thanks also to Syohei Yoshida and Steve Purcell for giving my code a once-over upon submission to MELPA. Emacs might be almost twice my age, but thanks to its community, it feels as spry and healthy as any other program I use.



The first computer I ever bought for myself was an Acer netbook I got for $220 on Newegg in 2008. Those were the days of 10.1" screens, 90% keyboards, and touchpads that shared their dimensions with some of the larger sticks of gum. Windows XP was a horrible fit for these underpowered (early Intel Atom chips with a half gig of RAM) little machines, to say nothing of the poor portables stuck with Vista. I had heard about Ubuntu Netbook Remix somewhere online and installed it. It was a great little OS, snappy and self-explanatory. Even my friends had no issues using it despite their zero GNU/Linux experience compared to my epsilon experience.


I don't use Arch anymore, but I learned more in the year I spent with it than my five or six years with Ubuntu. I respect its simple elegance and fantastic documentation but find openSUSE to be more appropriate for my needs.


Emacs can actually do both of these. eww comes with modern versions of Emacs and a number of games like Tetris and Snake have been ported over.