git repository -> S3 based website
- Create a git repository for your html/css/js files
- Add a buildspec.yml to tell AWS CodeBuild what to do
- Create a new CodeBuild project to do your builds
- Create a CodePipeline based on your CodeCommit repo that triggers whenever you push to the repo (skip the Deploy stage)
Push changes and sit back and watch the magic. (Note if you’re using CloudFront then you will need to wait to see the changes or invoke an invalidation – which you could also do as a post-build step!)
buildspec.yml (at root of repository)
version: 0.2 #env: #variables: # key: "value" # key: "value" #parameter-store: # key: "value" # key: "value" phases: #install: #commands: # - command # - command #pre_build: #commands: # - command # - command build: commands: # - command # - command post_build: commands: - aws s3 sync . s3://[dest-bucket] --exclude .gitignore --exclude buildspec.yml --exclude .git/ # - command #artifacts: #files: # - location # - location #name: $(date +%Y-%m-%d) #discard-paths: yes #base-directory: location #cache: #paths: # - paths<span id="mce_SELREST_start" style="overflow:hidden;line-height:0;"></span>
Also, don’t forget to let your CodeBuild service role have the necessary permissions on S3 to avoid the build failing (it’ll need List, Get and Put permissions on the destination bucket).
If you wanted to kick-off a CloudFront invalidation as part of the build process you could add something like:
aws cloudfront create-invalidation --distribution-id [your_CF_ID] --paths /*.html
This is how the soft-practice.com serverless website works 🙂
For over 6 years now I’ve been going to Chi Wai Kung Fu! A few years ago I achieved a lifelong ambition to become a Black Belt in Kung Fu. Now I’m a second Dan and a brown belt in Dacayana Eskrima as a bonus!
Chi Wai is great, my whole family go there 🙂
My two boys started when they were little and now are both black belts. It’s done them a huge amount of good, it’s far more than just self-defense (and that’s important by enough to justify it). They’ve learned respect, discipline, control, confidence and a positive attitude founded in the fact that they’ve worked hard at something to achieve their goals. Not always achieving first time, but through persistence and hard work they’ve got there in the end! There’s a saying that a “Black belt is just a white belt that never gave up”, that’s something they’ve learned from Chi Wai.
My wife even does Kung Fu, and is heading towards her black belt this year. As a result I’m running out of wall space to hold all of our certificates. I’m also finding home practice sessions hurt a lot more!
The Chi Wai system mixes traditional kung fu with practical self-defence including weapons and group
attacks. Because the club has a full time dojo there’s lessons for separate age groups every day (except for Sunday, even ninjas need a rest).
It’s a great family run club with a genuine family atmosphere. It’s friendly and welcoming and manages to keep that positive environment consistently. A lot of that is down to the excellent instructors but it’s also down to the people and families that train there.
It’s fantastic to have a family activity where we can all be at different levels, but all encourage each other and train together as the kids get older. As my eldest son’s gone from little kid to adult sized teenager he’s now fighting with the adults and enjoys putting me in arm locks in Black Belt lessons 🙂
If you’re in the Cheltenham, UK area then get yourself, your kids and your auntie to Chi Wai Kung Fu! You can even ask Amazon Alexa about it:
Or learn how to do the intro bow from my buddy the modelling guy:
I’ve recently migrated to Amazon Music from Spotify and local media servers. It’s actually pretty good although getting my playlists migrated was a pain.
Uploading seemed to cause a lot of duplicates, so then creating playlists from the recently imported or added files caused a lot of duplicates in the playlists. I listen to playlists on shuffle so this annoyed me because it means the probability of duplicated tracks is higher and you miss out on the other files. I found a way around it though!
- Create your playlists however you want.
- On Windows, install the local Amazon Music app.
- In the Amazon Music Windows App you can select all of the files in a playlist, right click and add to a new playlist
- The app will popup and tell you how many duplicates there are and ask if you’d like them to be filtered out.
- Delete the original playlist
- Rename the new playlist.
- Rejoice in a lack of duplicates.
For Spotify playlists I used STAMP from FreeYourMusic – ok but expensive.
It managed most of the files on my wife’s spotify playlists fine, and produced a file of songs it couldn’t match. Some made sense because they were misnamed, or not part of Amazon Music so needed manual uploading from our local collection. However, across several thousand tracks it failed to match about 60 it should have.
Also, the CSV to Amazon Music doesn’t appear to work in STAMP on Android. STAMP support upgraded me to a multi-platform license and it worked on windows. Still, it saved me hours despite being over-priced and not perfect.
I’m a big fan of Amazon Alexa. I bought a dot to experiment with and it’s so useful I have it in several rooms now. Alexa can control my smart lighting (courtesy of lightwaverf kit), play music, order food, order some amazon stuff, manage my shopping and to-do lists amongst other things, but she’s got a few drawbacks.
Here’s what I’d like to see Alexa tackle next:
- Conversation flow – the ability to add contextual follow up questions, without every command being “Alexa, do a thing…” It sounds trivial but when you’re having entire conversations with Alexa it’s a bit weird to have to use the wake word for every sentence.
- Multiple commands in one e.g. “Alexa, turn on the kitchen lights and start playing the cooking playlist” rather than “Alexa, turn on the kitchen lights” and “Alexa, start playing the cooking playlist”
- Unstructured search – Alexa’s great at facts but Amazon have decided not to make her opinionated. She’s great at “what is a hoover?” and “what is 12 miles in kilometres?”.
- She can answer: “Who played harry potter in harry potter and the philosopher’s stone?”
- But can’t do things like “who played Harry Potter in the movies”. In contrast google can answer that question with a quick snippet about the cast. I read a blog that said they didn’t want to make a decision for users about simply returning the first search hit rather than making an informed choice – but if I’m making a voice search that’s exactly what I want. If I want to get a range of views and select my search result I’ll use a text interface. Returning “cards” with links to Bing isn’t good enough – just read me the top hit from <insert search engine here>
- Intercom – I want to be able to send a voice message from one Alexa device to another to create an intercom system in my house (e.g. “Alexa, send a message to the living room telling the kids to turn the TV volume down”)
- Delayed reminders – Alexa’s good at setting alarms but I want her to remind me with a message not just beeping (e.g. “Alexa, at 6pm remind me it’s time to order a taxi”). At the moment, that sentence will result in “Time to order a taxi” on the to do list. Or I can set an alarm for 6pm which beeps. I want a voice message at a specific time.
- Alarms – play music not just beeps. (e.g. “Alexa, wake me up at 7am with my Spotify Wake Up playlist”)
- Local DLNA integration. Alexa’s great at streaming music from the internet but doesn’t currently see home DLNA music as a streaming source. Which is odd, I can see how to program a skill to do discovery (similar to the current smart home discovery, or just built into that) and the rest is the same. Amazon, if you read this I’ll do it for you at a reasonable price.
- Chromecast e.g. Alexa, play Netflix: Game of Thrones”
- Order a Dominos. Yep, I know it can do this in the US so why not in the UK? Dominos allow ordering via chatbot in Facebook Messenger so this is easy to do from a coding point of view. Dominos, if you’re listening…
- IFTTT integration. C’mon Amazon, IFTTT say they’re waiting for you do to something. This unlocks millions of possibilities.
- Add things to my Amazon Wish List e.g. “Alexa, add a Raspberry Pi to my Amazon wish list” only adds it to my (local) shopping list.
- Remove things from todo or shopping lists by voice. Also, email me my lists.
- Custom volume schedules. In the morning I want Alexa to be nice and quiet, in the evening I want her volume to be a lot higher. Perhaps what I really need is her to automatically adjust her volume based on the ambient noise. After all she’s listening all the time anyway.
- Proactive notification. I realise it would be annoying if any skill could push notifications to my Alexa (I don’t want random ads being spoken in my house) but I’d like to be able to whitelist some apps so I can get alerts at certain times of day from specific apps (e.g. order status on ordered food, package tracking, breaking news, birthday reminders).
- I want a big Echo with a screen for my kitchen too.
I realise many of these are about integrating outside of the Amazon ecosystem which is perhaps why they’ve been reluctant to do so. But with Google Home, an MS and Apple assistants turning up soon the winner is likely to be the most useful all round. At the moment that’s Alexa, but by being more open to integrations it’ll be hard to beat.
What do you want Alexa to be able to do?
My 7 year old son recently had a school assignment to write a non-chronological report on a critter of his choice from the Amazon Rainforest. He choose the most interesting picture which was the Esaltamontes to research. The problem is there were no google hits at all for “esaltamontes”. Persevering, translating and trying similar critter searches we eventually found some information on the beastie in question. So, in case anyone else is trying to find info here’s my son’s report.
The Esaltamontes is one of thirty million insect types in the Amazonian Rainforest.
There are four names for it they are Esaltamontes, Spiny katydid, Longhorned grasshopper and Bush cricket.
Esaltamontes are the prey of birds, bats and other insects. The sharp thorns of this cricket
warn predators to stay away. Although the katydids are only 2.5 to 3 inches in length, scientists have observed these small insects successfully fending off monkeys and birds by batting at them with their spiny front legs.
Believed by scientists to be omnivorous, spiny katydids probably eat flower parts, insects and seeds.
Male spiny katydids, native to the tropical rain forests of Central and South America, attract females by singing a high pitched whistling song throughout the night. The females listen by moving their feet forward (ears are located part way down the front legs). Most tropical katydids sing only sporadically, spiny katydids sing their high pitched whistling song for most of the night.