Recent Posts

What’s pass-reference-by-value?

August 14, 2020 - Categories: IT/Software Projects

6 minute read

I’m not an authority on this - take my explanation with a grain of skepticism and do your own research.

I’ve been working on going over some of the fundamentals of computer science recently since I don’t have a traditional computer science education. Pass-by-value recently came up, and I thought it would be a quick foray to properly learn the difference between pass-by-value and pass-by-reference. Surely something so fundamental must have clear answers, right?

And then it turned into a huge fucking rabbit hole, with lots of dissenting views, and very confusing discussions. Just Google it, check out some of the StackOverflow articles. There’s a lot of content, but it’s not very clear. In the abstract, the concepts are simple. In the context of Python and Ruby, it’s a confusing mess.

So that’s what this post is about - trying to clarify the differences between the two and define what “pass-reference-by-value” actually means.

Read More

Linkets - A Zendesk App

October 29, 2017 - Categories: IT/Software Projects

2 minute read

It’s official! Linkets has been formally published on the Zendesk App marketplace - go check it out!

One of the coolest things about Zendesk (both the company and the software itself) is how developer-friendly it is. The API is well documented and powerful, and they even provide an App Framework that allows you to develop “widgets” that are displayed in the standard Zendesk UIs. Full disclosure, I currently work at Zendesk.

Zendesk Support has a ton of features, but doesn’t have the ability to link related tickets. There is a Linked Ticket app you can install for free, but this only allows you to create new tickets, and only as a child ticket. Want to link to an existing ticket? Too bad. Need to support relationships other than parent/child? Too bad. I want people to use and love Zendesk, so I decided to take a crack at my own version of the linked ticket app. I titled my app “Linkets.”

Read More

DNSReRoute - A Full SaaS Platform

May 21, 2017 - Categories: IT/Software Projects

19 minute read

Dec 28 2017 Update OpenShift deprecated their original offering, so the API backend is completely dead. All functionality in the single page app (besides the Auth0 integration) is now broken.

About a year ago, I had a use case for a simple redirect. I just needed to redirect developers from an old Jenkins DNS record (that pointed to an instance that was destroyed) to a new DNS record (pointing to the new, running Jenkins instance). Now this is a trivial task if you want to run NGINX or Apache, but becomes more challenging if you want to avoid that overhead. I tried hosting a simple JavaScript redirect using S3, but the bucket obviously didn’t match my DNS name, so that didn’t work. Route53 doesn’t support HTTP redirects. I was at a loss - how could something so trivial require a whole web server to accomplish?

Read More

BASH Hacks as First Class Commands

May 11, 2017 - Categories: How-to Guides,Utilities And Other Useful Things,IT/Software Projects

1 minute read

In my new job at Zendesk, I deal with a lot of Ruby projects that leverage bundler for dependency management. Specifically, right now I’m working with SparkleFormation, stack_master, and aws-vault. With that toolset, each command starts with a staggering 43 static characters that don’t change between commands, like this:

Read More

Dennis Nedry Failed Login

March 11, 2017 - Categories: How-to Guides,Utilities And Other Useful Things,IT/Software Projects

less than 1 minute read

This one’s a short read, as most of the code and the concept was adopted from the jQuery Raptorize plugin. Basically, I was admiring the Raptorize plug-in and thought how funny it would be to have Dennis Nedry pop up and deliver his famous line, “Ah ah ah, you didn’t say the magic word!” whenever you had a failed login. Thanks to the jQuery Raptorize plugin, the majority of the work was done. I just needed a picture of Dennis Nedry, an mp3 file for the audio, and tweak the code slightly. Then I put together a fake login page to demo the whole thing.

Read More