RSSAmplifier

Blog

Blog on zzamboni.org

Recent content in Blog on zzamboni.org

zzamboni.orgRSS feed ↗370 posts

Latest posts

resume-toolkit: from personal CV pipeline to reusable toolkit

How my CV pipeline escaped my own resume repo and became a reusable tool, plus the evolution of the HTML theme into its own fork.

Porting my CV from Org+LaTeX to JSON Resume

How I moved my CV source of truth from Org mode + LaTeX to JSON Resume, and built a pipeline that exports both my CV and publications to HTML and PDF.

Website redesign!

Eight years ago I announced The Big Website Reboot , when I switched my website to Hugo. I’m happy to announce the first major update since then.

Locally hosting my Twitter archive

I no longer use Twitter, I keep now a local archive of my tweets.

Fixing wake-from-sleep in Linux on a Mac when using Ethernet

Some Macs running Linux hang when waking up from sleep if the Ethernet port was connected. Fix this problem by automatically disabling/reenabling the drivers when the machine goes to sleep.

Reviving an old Mac with Linux (part 2 - prettifying boot)

Improve your Mac/Linux dual boot setup with pretty boot screens!

Reviving an old Mac with Linux (part 1 - installing Linux)

I recently learned how to extend the life of an old Mac by installing Linux on it. It’s like having a new machine!

New course: CISSP Training

I am happy to finally reveal a project I’ve been working on for some time: my new online course “CISSP Training”, now available on Leanpub.

My blogging setup with Emacs, Org mode, ox-hugo, Hugo, GitLab and Netlify

My blogging has seen multiple iterations over the years, and with it, the tools I use have changed. At the moment I use a set of free tools and workflows which make it very easy to keep my blog updated. This post gives a brief overview of my setup.

How to easily create and use human-readable IDs in Org mode and Doom Emacs

Automate the process of generating and inserting links to headlines in the current Org document using human-readable IDs instead of the default UUID-based IDs generated by Org mode.

New release of Publishing with Emacs, Org-mode and Leanpub

A new release of my book “Publishing with Emacs, Org-mode and Leanpub” is out! With a lot of new information and other improvements. Learn how to use powerful tools and workflows to easily publish your words.

My Doom Emacs configuration, with commentary

I switched from my hand-crafted Emacs config to Doom Emacs some time ago, and I am very happy with it. This is my full, working Doom Emacs config in literate form.

August 2020 release of "Learning Hammerspoon" is out!

I am happy to announce a new release of my new book “Learning Hammerspoon”, including a brand new chapter Hammerspoon Cookbook, Tips and Tricks and many other improvements.

How to insert screenshots in Org documents on macOS

As I’m taking notes or writing in Org-mode, I often want to insert screenshots inline with the text. While Org supports inserting and displaying inline images, the assumption is that the image is already somewhere in the file system and we just want to link to it. In this post I will show you how to automate the insertion of images from the clipboard into an org-mode document.

New book: Publishing with Emacs, Org-mode and Leanpub

I am happy to announce the new release of my new book “Publishing with Emacs, Org-mode and Leanpub”, which talks about powerful tools and workflows you can use to easily publish your words.

New book: Literate Config

I am happy to announce the new release of my new book “Literate Config”, devoted to the use of Literate Programming for writing and documenting configuration files.

Nuevo libro "Utilerías de Unix"

Me complace anunciar la primera edición de mi nuevo libro, y mi primer libro en Español, “Utilerías de Unix”.

Automating Leanpub book publishing with Hammerspoon and CircleCI

I am the author of two books: Learning CFEngine and Learning Hammerspoon , both self-published using Leanpub . The source of my books is kept in GitHub repositories. In this post I will show you how I use the Leanpub API together with Hammerspoon and CircleCI as part of my workflow, to automate and monitor the building, previewing and publishing of my books.

New release of "Learning Hammerspoon" is out!

I am happy to announce a new release of my new book “Learning Hammerspoon”, including a brand new chapter and many other improvements.

First release of "Learning Hammerspoon"

I am happy to announce the first release of my new book “Learning Hammerspoon”, a book devoted to using Hammerspoon to make using your Mac easier, faster and more fun.

Using and writing completions in Elvish

Like other Unix shells, Elvish has advanced command-argument completion capabilities. In this article I will explore the existing completions, and show you how you can create your own (and contribute them back to the community!)

Beautifying Org Mode in Emacs

Configuring Org Mode in Emacs for beautiful typography for both text and code editing.

My Hammerspoon Configuration, With Commentary

In my ongoing series of literate config files, I present to you my Hammerspoon configuration file.

My Emacs Configuration, With Commentary

I have enjoyed slowly converting my configuration files to literate programming style using org-mode in Emacs. It’s now the turn of my Emacs configuration file.

Bang-Bang (!!, !$) Shell Shortcuts in Elvish

How to set up the bash !! and !$ shortcuts for accessing the previous command in Elvish.

My Elvish Configuration With Commentary

In this blog post I will walk you through my current Elvish configuration file, with running commentary about the different sections.

Just Enough Lua to Be Productive in Hammerspoon, Part 2

In this second article of the “Just Enough Lua” series, we dive into Lua’s types and data structures.

Just Enough Lua to Be Productive in Hammerspoon, Part 1

Hammerspoon’s configuration files are written in Lua, so a basic knowledge of the language is very useful to be an effective user of Hammerspoon. In this two-part article I will show you the basics of Lua so you can read and write Hammerspoon configuration. Along the way you will discover that Lua is a surprisingly powerful language.

Using Nix's "Single-user Mode" on macOS

Here is how to set up Nix in single-user mode on macOS.

Elvish, an awesome Unix shell

I’m always on the lookout for new toys, particularly if they make my work more productive or enjoyable. For a couple of months now I have been using a little-known Unix shell called Elvish as my default login shell on macOS, and I love it.

Limited Time Promotion! 50% off "Learning CFEngine 3"

For one week only, until September 20th, 2017, you can buy the new ebook release of “Learning CFEngine 3” on Amazon at 50% off its list price, US$4.98 instead of the regular US$9.99.

Fixing the Outlook-to-OmniFocus Script

Here’s how to fix the breakage caused by one of the recent updates to Microsoft Outlook in the Outlook-to-OmniFocus AppleScript included with my SendToOmniFocus spoon.

Using Spoons in Hammerspoon

In this second article about Hammerspoon, we look into Spoons , modules written in Lua which can be easily installed and loaded into Hammerspoon to provide ready-to-use functionality. Spoons provide a predefined API to configure and use them. They are also a good way to share your own work with other users.

New Release of "Learning CFEngine 3"

A new release of my book “Learning CFEngine 3” is now available!

Hosting a Ghost Blog in GitHub - the easier way

When I was planning the reboot of my website, I seriously considered using Ghost. It has a very nice UI, beautiful and usable theme out of the box, and a very active community. Eventually I decided to use Hugo, but in the process discovered that it is possible to host a statically-generated Ghost website using GitHub Pages.

Getting Started With Hammerspoon

This is the first installment of a series of posts about Hammerspoon, a staggeringly powerful automation utility which gives you an amazing degree of control over your Mac, allowing you to automate and control almost anything. In the word of Hammerspoon’s motto: Making the runtime, funtime .

The Big Website Reboot

Welcome to the new zzamboni.org.

Fast translation with Google Translator

via https://medium.com/@mrdoro/fast-translation-with-google-translator-and-mac-osx-817e32233b7a https://medium.com/@mrdoro/fast-translation-with-google-translator-and-mac-osx-817e32233b7a Nice article about how to create a service to automatically translate selected text from any application. I use this all the time, I have a “German-to-English” service bound to Command-Alt-Ctrl-Shift-E, so I can…

Enwrite featured in onethingwell.org!

via http://onethingwell.org/post/140035085825/enwrite I’m so proud (and of course posting this from Evernote using the web clipper) 😃 Enwrite ⇒ Evernote -powered statically-generated blogs and websites.

Spotlight: use-package, a declarative configuration tool - Mastering Emacs

via https://www.masteringemacs.org/article/spotlight-use-package-a-declarative-configuration-tool Have you ever heard of use-package ? It’s a declarative way of expressing package configuration in Emacs but without the tears. This looks amazingly useful. I need to start migrating my Emacs config to use-package ASAP.

Clicking on the MacBook Pro is entirely artificial

via http://sixcolors.com/post/2015/10/apple-magic-trackpad-2-review/ This is probably old news for most, but it still blew my mind: only now I realized that the clicking feeling and sound on my MacBook Pro’s trackpad is artificially generated. I did the experiment of turning on “Silent clicking” and turning off “Force click and haptic feedback” on the trackpad preferences panel and, indeed, the…

4-year-old’s first aerobatic flight

via http://kottke.org/15/06/airplane-aerobatics-are-hilarious What a fun video. Encore!

Using Multiple SSH Keys with Github

via http://www.freshblurbs.com/blog/2013/06/22/github-multiple-ssh-keys.html#tldr Since Github doesn't allow us to reuse an SSH Key, the only sane solution is to jump through some hoops and generate + use multiple keys on the server itself. Let's look at some effective approaches of doing that. Short version: define multiple hosts in the SSH config file for each repository, which use different SSH…

Fixing Emacs problems with the fish shell

I started getting errors from the TRAMP Emacs package because I was using fish as my default shell, and it does not recognize certain standard syntax elements (such as && to separate commands), and Emacs runs subcommands under the default shell. I fixed this by:

The log: The lifeblood of your data pipeline - O'Reilly Radar

via http://radar.oreilly.com/2015/04/the-log-the-lifeblood-of-your-data-pipeline.html Interesting article. I hadn’t heard of Fluentd , looks useful. The old paradigm — machines to humans, and the new — machines to machines. Image courtesy of Kiyoto Tamura. Over the last decade, the primary consumer of log data shifted from humans to machines. Software engineers still read logs, especially when…

Whisky - Matt Gemmell

via http://mattgemmell.com/whisky/ Nice essay. But then, finally, with one last branch hacked from your way, you set eyes upon it, and stand there. Silent and still. Perhaps you raise a hand, feeling time-worn stone beneath your fingertips. A dream, finally made solid. You’ve come so far, and now, at last, you’re here.

Moving files between git repositories, preserving history

I needed to copy a directory between two git repositories while preserving its history. I found some good instructions at http://gbayer.com/development/moving-files-from-one-git-repository-to-another-preserving-history/ , which got me started, but I figured out a way to avoid having to move all the files into their directory again (lines 5-6 in Greg’s instructions) by reversing the filter to…

The First Apple Homepage

via http://kfury.com/the-first-apple-homepage Looks positively old-fashioned now, but the memories! I don’t remember this particular page, but I do remember compiling and using Mosaic as my first web browser on an old DECstation 5000 , my first Unix workstation.

Three levels of GIT config

via http://www.codinginahurry.com/2011/02/05/three-levels-of-git-config/ Very nice explanation, via coding in a hurry There are 3 levels of git config; project, global and system. project: Project configs are only available for the current project and stored in .git/config in the project's directory. global: Global configs are available for all projects for the current user and stored in…

Watching for changes (Polling notifications) in Evernote

via https://dev.evernote.com/doc/articles/polling_notification.php Useful note about how to poll an Evernote account for new content. Also a test of web clipping with Enwrite. Polling If your app wants to know about changes in a user's Evernote account, you'll probably consider calling the NoteStore.findNotesMetadata function periodically to search for new notes. findNotes is incredibly powerful,…