Daniel Green's Homepage

About Me

My name is Daniel Green. I am a programmer from the western USA. In 2008, I created camelcamelcamel.com, the Internet's most camel-themed Amazon price tracker, and here in the far-distant future I am very gratefully still running... continue reading


Samsung ViewFinity S9 Smart Calibration

Smart Calibration option not appearing in Samsung's smartthings app on iOS or Android? Use a Samsung phone. Google Pixel and iPhone did not work for me, but the Samsung Galaxy did...... continue reading

Misc Tech Desk  

SASS Variables in Compiled SCSS?

I recently noticed some SASS variables in the compiled CSS output of our Rails app.  I looked all over the place, trying to determine how I broke compilation, to no avail. The answer ended up being obscure but rather simple:... continue reading

SASS SCSS Ruby on Rails  

DynamoDB Storage Overhead and Billing

Today we learned that DynamoDB has a per-item storage overhead of at least 100 bytes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/CapacityUnitCalculations.html).  Depending on your item size, this can significantly increase your storage costs.  And, conveniently, AWS... continue reading

AWS DynamoDB Billing Storage Overhead  

Rails, Sidekiq, and the Database Connection Pool

Update: The creator of Sidekiq, Mike Perham, quickly and correctly pointed out that standard ActiveRecord use inside Sidekiq should include automatic connection pool checkins when jobs are complete. I failed to realize that using ActiveRecord::Base.connection checks out a... continue reading

MySQL Ruby on Rails Sidekiq  

Amazon's URL Shortener Domains

Amazon recently updated their mobile app's "share" feature to use shortened URLs.  Here are the domain names I'm aware of. * a.co * amzn.to * amzn.eu * amzn.asia Probably more to come eventually!... continue reading


RDS Gotcha - Backup Retention

If you have your RDS backup retention period set to a non-zero value, then change it to zero, all of your automatic snapshots get deleted...at least when deploying via CDK. Easy to imagine that causing trouble!... continue reading


RDS Gotcha - Replication

When we migrated from our datacenter rack to AWS, most of our stress revolved around our 2TB MySQL database.  With a database this size, one does not simply mysqldump your way into Mordor.  Our final migration plan required us to... continue reading


The dangers of restoring RDS instances from snapshots

When restoring an RDS instance from a snapshot, AWS unavoidably lazy loads the entire database on-demand. This leads to a huge performance penalty until the entire database has been accessed at least once. This is fine if your database is... continue reading


Avoiding "Storage-optimization" state when restoring RDS instance from snapshot

This seems somewhat obvious in hindsight, but the always lovely AWS support taught me that the "Storage-optimization" state occurs – during restore, anyway – when the snapshot's IO provisioning doesn't match that of the newly restored... continue reading


AWS RDS MySQL restore stalling

When working with RDS, I would occasionally find my web console-initiated restores-from-s3 stall out indefinitely with no errors of any kind.  Confused, I ran to AWS Support, who told me that I should not specify "root" as the... continue reading