• Managing Projects and Ideas

    Occasionally I’ll think of shiny projects and start chasing them or try to remember them for later. Now when I think of something, I’ll put it in my project repository. Project Repository I’m using a single repository to manage all the projects and ideas to backlog and track. The single repo allows my projects that span across different platforms to have single source of management. Another benefit is the ability to customize the issue template.
  • Purging CloudFront Caches

    I had a image uploaded that had some information I didn’t mean to post. I made the change but it was already cached in CloudFront. To remove it so it will pickup the updated image, I had to invalidate it (Web Distributions only). First I had to create a .json file with the path to the image in the bucket: { "Paths": { "Quantity": 2, "Items": [ "/YOUR/PATH/TO/THE/FILE/IN/S3.jpg", "/YOUR/OTHER/PATH/TO/THE/FILE/IN/S3/*" ] }, "CallerReference": "removing image with info" } Then run this command line with the CloudFront distribution id and the path to the .
  • Receiving smylee.com emails using AWS SES

    I setup email receiving for patty at smylee.com using Amazon SES. During this project I learned that in order to decrypt messaging using SES built-in encryption, you must decrypt using an Encryption Client available only in AWS SDK for Java and Ruby. http://docs.aws.amazon.com/kms/latest/developerguide/services-ses.html#services-ses-decrypt Because of this restriction, in this code, during the s3 event message to sqs phase, the lambda function encrypts the file at rest and removes the original.
  • Updated Hugo Site Automation Generator

    I’ve decided to finally go back and revamp my original hugo setup which can be found in the Hugo Site Auto Generated by Lambda post. The issue with that previous setup was if I had multiple posts (markdown files), the S3 event would trigger the lambda function as many times as the number of files uploaded, when I only needed it to run once after all were uploaded. My new plan was to publish the markdowns to github and have a lambda function trigger to pull the files and put into S3.
  • Configuring the Terminal Prompt

    I was recommended this tool to help you know what git branch you are working on from the terminal prompt. https://github.com/jimeh/git-aware-prompt Configurations I added the configuration to my settings in: vi ~/.bash_profile # http://stackoverflow.com/questions/10406926/how-to-change-default-virtualenvwrapper-prompt export GITAWAREPROMPT=~/.bash/git-aware-prompt source "${GITAWAREPROMPT}/main.sh" #/Users/patty/.virtualenvs/postactivate export PS1="\n\u@\h\n[\w]\n\[$txtcyn\]\$git_branch\[$txtred\]\$git_dirty\[$txtrst\]\$ " export SUDO_PS1="\n\[$bakred\]\u@\h\n\[$txtrst\][\w]\n\$ " Then in virtualenvs postacivate I added: vi /Users/pattyr/.virtualenvs/postactivate # This hook is sourced after every virtualenv is activated if [ "${_OLD_VIRTUAL_PS1:0:2}" == "\n" ]; then PS1="\n\[$txtylw\](`basename \"$VIRTUAL_ENV\"`)\n\[$txtrst\]${_OLD_VIRTUAL_PS1:2:${#_OLD_VIRTUAL_PS1}}" fi Before After
  • Halloween 2016

    My costume this year was a La Calavera Catrina. My mom invited me her friend’s painting party that was theme día de muertos and figured that would be my costume this year. The costume was pretty simple, I had the skirt and belt already and made the blouse to match. I also made the headband and belt “buckle” with lots and lots of glue. 😛 Makeup design was was taken from a sticker that Raul has on our mini fridge.
  • Notes from September Projects

    Worked on an odoo setup in saltstack in September. It runs on Debian and Prostgres both of which I’ve never used before. It’s not difficult to find what you’re looking for if you know the equivalent in it’s respective program. These are my notes on the things I learned. Some of it might not make sense out of context. Redirect a domain locally https://gist.github.com/soheilhy/8b94347ff8336d971ad0#step-9-optional----redirecting-based-on-host-name on local machine (mac) edit sudo nano /etc/hosts add the the domain name(s) to the localhost ip 127.
  • Solar Panel API Setup

    Description When I saw Enphase allows API connection to the data generated by the solar panels, I had to do something with it. This guide will describe how I setup and collect data to display on the Solar Data page. Because I have a limit on Enphase’s API calls, I collect the data from my solar panels through the API two times a day via a scheduled Lambda function which stores it in a DynamoDB database.