Lifestream

Posts from November 2016

23:23 utc nov 30 2016 permalink

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

23:12 utc nov 27 2016 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

21:27 utc nov 26 2016 permalink

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

21:26 utc nov 26 2016 permalink

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

21:25 utc nov 26 2016 permalink

Yay refactoring! #python #django #win

10:21 utc nov 24 2016 permalink

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

10:20 utc nov 24 2016 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

10:19 utc nov 24 2016 permalink

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

10:18 utc nov 24 2016 permalink

Created an #aws account tonight

10:45 utc nov 20 2016 permalink

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

10:44 utc nov 20 2016 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

05:16 utc nov 18 2016 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

05:58 utc nov 17 2016 permalink

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

04:25 utc nov 17 2016 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

04:23 utc nov 17 2016 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

04:20 utc nov 17 2016 permalink

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

04:50 utc nov 16 2016 permalink

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

04:32 utc nov 16 2016 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

04:31 utc nov 16 2016 permalink

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

04:31 utc nov 16 2016 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_add_now [edit: auto_now_add] param I should use. #fail