RSSAmplifier

Blog

jpterry.com

Recent content on jpterry.com

/RSS feed ↗11 posts

Latest posts

My Projects

Project list coming soon…

Exploring Ruby Ractors

Ruby Ractors Adventure “I paid for 10 cores, I’m gonna use 10 cores!” I set out today for a silly explore hoping to waste some CPU with a whole bunch of ractors doing math, but I find that YJIT is pretty amazing. Ruby 3.0.0 came out in December 2020, more than 4 years ago now, and with it came Ractors (and Fiber Scheduler but that’s another episode). Ractors promised a way…

Fixing a TPM BitLocker Key

System firmware updates amongst other boot changes can cause a TPM based Bitlocker key to become invalid. When you attempt to boot into windows you’ll get a blue screen asking to unlock the drive. Hopefully you have a copy of your bitlocker recovery key. Sometimes you can find this on your microsoft account. Enter the key into the blue window and boot into windows. Now if you don’t fix…

Hello, I'm John!

👨‍💻 Principal Engineer with 15+ years of diving deep into mission-critical systems. I architect high-scale SaaS platforms that create real value. My passion lies in exploring, learning, and truly understanding all aspects of systems and technology. 🏠 Based in California, I’ve been working remotely for more than a decade—fully remote since 2019, before it was cool. I’ve led technical…

Secure, static, hosting w/ S3, CloudFront, and ACM

Static html is cool; TLS is cool I think static sites are a great idea for public facing sites. It is a very simple solution to getting content online, with very few downsides. It is relatively secure, maintainable, scalable, and best of all, cheap. There are many tools for creating a static site. I’m using Jekyll, but there are several options to choose from. Once you have your static site…

My favorite git alias

When I use git I constantly need to understand the shape of the history graph. And the best way to understand graphs is to visualize them. Maybe you already know about git log --graph --oneline --decorate, but that is a lot to type. Add this alias to your .bash_profile, or .zshrc. I call it glga for “git-log-graph-author”, you can call it what you want. alias glga='git log --graph…

Thats a good looking sandwich

Ingredients From the bottom up: Roast beef Roast turkey Honey ham Sharp cheddar cheese Roma tomato Wild arugula Shot with iPhone 5s.

custom emojis for slack

I really love slack and had a few free moments to create some custom emojis to compliment the standard set.

iptables rule to limit tcp connections per ip address

A vps hosting a service I maintain came under a DOS attack today. The malicious client was opening as many tcp connections as they could. And eventually the service would hit the ulimit of open file descriptors and fail. Of course the service should be more resilient, but this iptables rule solved the problem right away. It will block an individual IPv4 address from opening any more than 25…

NeoPhonic

Today I am releasing NeoPhonic to the world. It’s a half finished iOS drum machine app. It uses OpenAL for sound playing. You can find the github repo here. Update 2014-02-07: I never got around to publishing this post. I intended to spice it up a little more but that was more than a year ago, so I’m releasing it as is.

passing objects to methods as blocks in ruby

Lambda’s can come in handy when you need to apply a similar mutation to a collection of objects. Here’s an example of a simple operation but the block can be as complicated or generic as you need. ints_to_floats = lambda { |i| i.to_f } (0..5).map(&ints_to_floats) #=> [0.0, 1.0, 2.0, 3.0, 4.0, 5.0] The urnary ampersand calls the :symbol’s #to_proc method and passes it as a block…