Here’s what Heroku says about dyno memory usage: Dynos are available in 1X or 2X sizes and are allocated 512MB or 1024MB respectively. Dynos whose processes exceed their memory quota are identified by an R14 error in the logs. This doesn’t terminate the process, but it does warn of deteriorating application conditions: memory used above quota will swap out to disk, which substantially degrades dyno performance. If the memory size keeps growing until it reaches three times its quota, the dyno manager will restart your dyno with an R15 error.
2 min read
It’s easy to let CSS get out of hand and it’s hard to really take advantage of the cascade. Here I’ll explain some techniques that help stem CSS bloat. When you aren’t disciplined with your CSS, it’s easy to end up in a situation where it’s hard to… know what parts of the site a particular rule is acting upon know whether a given rule is ever used be confident your changes won’t clobber something on the other side of the site define rules with appropriately specific scopes find all the rules acting on a particular element A well-defined CSS structure addresses some of these problems.
3 min read
I don’t know the purpose of a rant about a hosting provider except to vent my own frustrations, so I’ll keep this quick. Here’s a step-by-step list of the reasons this blog is not on Bluehost: During checkout, I was never shown a total amount for my order - just a monthly price. It wasn’t clear whether I would be paying up front or be charged monthly. I left a field empty, and when the page reloaded to ask me to fix it, I was also switched back to the most expensive hosting plan.
2 min read
If you’re attacking a problem that just isn’t coming together, stop and take a step back. The feeling of “GAH WHY IS THIS SO HARD” is a preemptive code smell, alerting you that you’re about to write bad code. My most recent TOO HARD experience was with table_print, my gem that prints objects as tables. I had Law of Demeter violations all over the place, spaghetti-coding myself into a ball I knew was not going to be maintainable.
2 min read