It's now here, in The Programmer's Compendium. The content is the same as before, but being part of the compendium means that it's actively maintained.
My name is Ivo and I am an Italian agile software developer who loves coding and solving problems in a simple yet creative fashion. During my years of web development I have grown a strong passion for fronted development which led me to a good understanding of its underlaying technologies. I love hacking the hell out of web apps and getting a grasp of cutting edge technologies in order to keep up with time and deliver the best user experience possible.
While user experience still plays a big role in what I enjoy doing, I've learnt how important it is to write stable yet maintainable and scalable backend solutions. Even though I started out with PHP, I soon naturally came closer to the NodeJS environment while still embracing more "elegant" technologies such as Ruby or Java either adopting frameworks or by implementing architectures from scratch.
I discovered the Agile Manifesto and eXtreme Programming back while joining XPeppers in 2013 and I’ve tried my best to apply either values and prin
Hi! I'm Pietro 👋
I am a passionate coder, I like to build products that can change the life of people.
I am a coach and a trainer, I feel proud and happy when I can help my teammates get better every day at their jobs.
I am an agile developer, I try to embody the agile and lean principles in my professional life.
I love refactoring, testing and eating an elephant solving big problems one bite at a time, with tiny and safe steps.
My preferred programming languages are Kotlin and Ruby, but the one I know best is Java.
The people I owe the most are Kent Beck, Joe Rainsberger and Martin Fowler 🙏
I'm currently studying The Agile Fluency model by James Shore and Diana Larsen, and I found this talk, which is almost a perfect transposition of the great article published by the very same authors on Martin Fowler's blog: http://martinfowler.com/articles/agileFluency.html. This post is indeed the starting point if you want to deepen this topic. Or you can check out my notes here...
Here's the video: https://vimeo.com/68327316
The promise of Agile is simple and compelling: a team that effortlessly surfs the wave of business possibility, changing direction to meet the needs of a changing market. So why do so few teams achieve that ideal? Lack of fluency. Agile may be simple, but it's far from easy, and it takes years of practice to do well. We'll look at four phases of Agile fluency, what you can expect from each phase, and how to increase your team's fluency so you can achieve what Agile promises.
>"Essentially, all models are wrong, but
#!/bin/sh | |
# Make sure to: | |
# 1) Name this file `backup.sh` and place it in /home/ubuntu | |
# 2) Run sudo apt-get install awscli to install the AWSCLI | |
# 3) Run aws configure (enter s3-authorized IAM user and specify region) | |
# 4) Fill in DB host + name | |
# 5) Create S3 bucket for the backups and fill it in below (set a lifecycle rule to expire files older than X days in the bucket) | |
# 6) Run chmod +x backup.sh | |
# 7) Test it out via ./backup.sh |
Intro | |
Mindset, best practices, etc. | |
The future of TV vs Mobile, different rates of innovation | |
Apps: Media (Netflix, youtube, HBO, etc.) -> optimised for the apple tv | |
Zoova, fitness | |
Gilt shopping | |
Games, disney infinity (like console gaming) | |
Does not commute | |
Alto adventure | |
Madeira , digital comic book |
'use strict'; | |
// Licensed under a CC0 1.0 Universal (CC0 1.0) Public Domain Dedication | |
// http://creativecommons.org/publicdomain/zero/1.0/ | |
(function() { | |
// A cache for core files like CSS and JavaScript | |
var staticCacheName = 'static'; | |
// A cache for pages to store for offline |
Prerequisites : the letsencrypt CLI tool
This method allows your to generate and renew your Lets Encrypt certificates with 1 command. This is easily automatable to renew each 60 days, as advised.
You need nginx to answer on port 80 on all the domains you want a certificate for. Then you need to serve the challenge used by letsencrypt on /.well-known/acme-challenge
.
Then we invoke the letsencrypt command, telling the tool to write the challenge files in the directory we used as a root in the nginx configuration.
I redirect all HTTP requests on HTTPS, so my nginx config looks like :
server {
export default class Timer { | |
constructor(tick) { | |
this.tick = tick; | |
} | |
start() { | |
this.decreaseCounterLoop(); | |
} | |
stop() { |