Feeling Impactful

In my time working as an Apigee intern so far, the thing that I have loved the most is the opportunity to work on a really cool engineering problem that:
1. Will very likely be used
2. My partner and I designed and built almost entirely ourselves

While I can’t explain too much about my project until we release and open source the code, we are working on a new method for rate limiting APIs (to protect them against spammers and bots). Our mentors gave us the general project overview and were around to support us if we needed it, but allowed us the freedom to complete this project ourselves.

A couple weeks into our project it became apparent that the base algorithm that we had originally selected was not going to work well. It did exactly what we wanted, but took an exceedingly variable and arbitrary amount of time (from .1 to 5 seconds). This led me to doing a lot of research, reading too many white papers, looking at many codebases, and finally settling on something which seemed promising as a replacement.

As far as I could tell, the algorithm I found had never been implemented before in the real world. I am not sure why, as it is brilliant and was exactly what we needed. I decided to implement it.

I reached out to the author of the algorithm, the person who had written the white paper. Within 24 hours, he got back to me! He seemed intrigued by my use, and even provided me with some of the code he wrote in C for the paper. Here is a snippet of our later conversation:
“Hmmm… Java is quite slow… Not sure how the hash computation performs.

Good luck with the implementation!”

I implemented the algorithm and it seems to work perfectly. I can’t wait to finish, release, and open source our project. It was such a unique opportunity to get a response from the person who created the algorithm that my partner and I used in a project that we created. I look forward to the rest of my time here, and am excited to show everyone what we have been doing!

Thank you for everything, Apigee


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s