Foreword:

As a project this year, I’ve committed to researching the most ethical brands of the products I consume such that I can change my spending habits to support the causes I believe. I’m of the opinion that this is the best way as an individual to make an impact on the world; the way I consume, or lack thereof. However, I realize that there are a lot of logical traps in determining what is ethical, and I’m sure a lot of my other existing behaviors might be counter productive or downright hypocritical, but my intent is to at least start trying. …


Foreword:

As a project this year, I’ve committed to researching the most ethical brands of the products I consume such that I can change my spending habits to support the causes I believe. I’m of the opinion that this is the best way as an individual to make an impact on the world; the way I consume, or lack thereof. However, I realize that there are a lot of logical traps in determining what is ethical, and I’m sure a lot of my other existing behaviors might be counter productive or downright hypocritical, but my intent is to at least start trying. …


Foreword:
As a project this year, I’ve committed to researching the most ethical brands of the products I consume such that I can change my spending habits to support the causes I believe. I’m of the opinion that this is the best way as an individual to make an impact on the world; the way I consume, or lack thereof. However, I realize that there are a lot of logical traps in determining what is ethical, and I’m sure a lot of my other existing behaviors might be counter productive or downright hypocritical, but my intent is to at least start trying. …


Foreword: As a project this year, I’ve committed to researching the most ethical brands of the products I consume such that I can change my spending habits to support the causes I believe. I’m of the opinion that this is the best way I can make an impact on the world; the way I consume, or lack thereof. However, I realize that there are a lot of logical traps in determining what is ethical, and I’m sure a lot of my other existing behaviors might be counter productive or downright hypocritical, but my intent is to at least start trying. …


I don’t have a Premium Spotify account, so I get to endure the same repetitive ads over and over. While I don’t mind hearing a few ads, it’s a little much when it’s the same exact ad back to back. So, I got in the habit of muting the volume to avoid them but I also have the habit of getting distracted and forgetting to unmute.

My girlfriend, offended with me acting like I couldn’t hear her in my headphones when I was actually listening to silence, suggested making an app that would automatically mute and unmute the volume for me. …


Rectangle is a rewrite of Spectacle which is a popular MacOS app used for managing and controlling windows via keyboard shortcuts. While mostly the same as Spectacle, Rectangle includes some extra features like the ability to snap windows to screen edges. Both apps are free and open source.

Recently, the maintainer of Spectacle announced that they were no longer going to be able to support it, which is why I just switched. So, if you’re looking for a replacement, give Rectangle a shot. I’m liking it so far.

If you’re willing to pay, there’s no shortage of apps that fill this void. SizeUp is a good alternative, but it’s not quite as free and open source as Rectangle.


Working on a tool called Multitouch, a MacOS app for binding shortcuts to trackpad gestures, we ran into an issue where a user’s mouse would teleport to a seemingly random location when the user executed a click via one of Multitouch’s gestures.

The odd part was that it only occurred when the user had an external monitor connected.

It turns out we were translating the coordinates of an NSEvent to a CGEvent (they have different coordinate origins) and using only the main screen height for calculating the translation.

So, previously we had the following function:

func getCgMouseLoc() -> CGPoint {  let mouseLoc = NSEvent.mouseLocation …

Have you ever tried to merge KML map layers together? For some reason, a lot of the free mapping tools don’t have a simple, easy, intuitive way to merge layers together. So, in response, I made kmlmerger.com to hopefully save others hours of needless pain.

In my case, I needed to merge my many different KML files into a single layer such that I could use a free tool for creating a heatmaps.

I’m curious to hear about others experiences and pain points of working with KML files. Currently, kmlmerger.com doesn’t support KMZ files, but I could be convinced to add that support if enough folks need it.


Formerly Touchoven, Multitouch is a MacOS app for assigning keyboard shortcuts and actions to trackpad gestures. The interface is simple, clean, and has a MacOS look and feel. Multitouch comes with a free trial, so go ahead and give it a spin!

About

J Denney

software dev, multitouch.app

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store