hyperbo.la :: lifestream
permalink

#django feature request and #patch accepted https://code.djangoproject.com/ticket/27541

permalink

Just freed up 350MB in my gmail by purging 35 emails. Did a search for size:5000000. removed emails with mp3s as attachments and event announcements with large images and pdfs #win

permalink

bastion is now in an ASG with an automatically bound (with user data) elastic IP. Yay fault-tolerant infra! #win #aws #terraform

permalink

Hit the 5 duplicate certs per week rate limit from let's encrypt by repeatedly rebuilding my vagrant box #fail

permalink

Yay refactoring! #python #django #win

permalink

Switched to building an ami with packer. Now an ASG roll takes 2 minutes #win #aws

permalink

Deployed hyperbola-wiki. Initial approach was to provision on boot with a user data script. This caused instances to take 15 minutes to come up (apt-get upgrade, compiling ruby) #fail

permalink

Provisioned a VPC, subnets in 3 AZs, and a bastion host #aws

permalink

Created an #aws account tonight

permalink

hyperbola-wiki is now fully deployed using #ansible. #vagrant made testing easy. #win

permalink

Added middleware to hyperbola app and wiki to inject a comment with the canonical hostname of the host that rendered the request. Debugging #win

permalink

Now have proper retina image support on lifestream and contact page. Generating @2x and @3x images. The flexibility of django-imagekit helped. This is a well-designed library. #django #ux

permalink

hyperbola, now with properly localized dates using window.Intl #win

permalink

Fourth most expensive query is selecting all lifestream items and pictures: a LEFT OUTER JOIN with ORDER BY DESC, LIMIT, and OFFSET. There is an index on the order by but MySQL prefers filesort. Table is only 500 rows though. #mysql

permalink

Most expensive queries on hyperbola are hashtag lookups because they use RLIKE. Top 3 queries are 4.3ms, 3.2ms, 2.1ms per query. #mysql

permalink

mucking around in settings.py I ended up doing a top-level import from debug_toolbar. Yay for staging. #fail https://github.com/hyperbola/hyperbola/commit/26c4e1d

permalink

diff of yesterday's backups and current backup confirm all that has been altered are filenames

permalink

I didn't notice this in dev because the front page of the lifestream is 20 of the same picture of Kendrick Lamar #fail

permalink

Fixing this required parsing a db dump (django fixtures much easier to read than mysqldump output) and manually running UPDATE queries in MySQL

permalink

Minor crisis when running the mangle media script. Resume and lifestream models have auto_now=True (an updated timestamp) and I have been using them as creation timestamps. Apparently there is an auto_now_add param I should use. #fail

permalink

just automated a spreadsheet (concatenating several columns) with filter #win filter(L6:L, L6:L<>"") vs manually updating ranges #automation

Photo for post 449.
permalink

DOMContentLoaded in less than 200ms on lifestream index #performance #cdn

permalink

Enabled cloudflare cdn on www.hyperbolacdn.com today. Took 4 clicks. #win

permalink

Some changes since moving to the new host: assets and user uploads served off of www.hyperbolacdn.com; TLS; frontend deps managed with bower

permalink

hyperbo.la staging and production are TLS enabled. Still have to turn on HSTS. #win #letsencrypt

permalink

❤️ Emoji: 🔥🔥🔥

permalink

Successfully migrated hyperbo.la and staging.hyperbo.la to a new host, hyperbola3. Ubuntu 16.04 and 8GB of RAM. Just shut down hyperbola1. #win

permalink

Did my first #aws prod deploy today #win