ng add @angular-eslint/schematics
npm install prettier prettier-eslint eslint-config-prettier eslint-plugin-prettier --save-dev 
Filename: .eslintrc.json
This gist will guide you through the setup of a wildcard Let's encrypt TLS certificate.
Letโs encrypt is one of a new kind of Certificate Authority. You can get a TLS certificate from them for your website free of charge and without any manual overhead. These certificates are trusted in most browsers that are out there and will show up as valid. Instead of sending Mails or even paper around you can call an API and prove your domain ownership with simple challenges. Basically you call the API with a hostname or domain name you need a TLS certificate for and you get back a challenge string that you need to put in a well known location on your http host or as a txt record in your dns system.
You can find many clients that manage the proces
| # How to determine if a bash variable is empty? | |
| # A variable in bash (and any POSIX-compatible shell) can be in one of three states: | |
| # | |
| # unset | |
| # set to the empty string | |
| # set to a non-empty string | |
| # Most of the time you only need to know if a variable is set to a non-empty string, but occasionally it's important to distinguish between unset and set # to the empty string. | |
| # | 
Hello  (<-- two spaces)
World
Hello
World
When hosting our web applications, we often have one public IP
address (i.e., an IP address visible to the outside world)
using which we want to host multiple web apps. For example, one
may wants to host three different web apps respectively for
example1.com, example2.com, and example1.com/images on
the same machine using a single IP address.
How can we do that? Well, the good news is Internet browsers
| package services | |
| import java.lang.reflect.Type | |
| import com.google.gson._ | |
| import org.joda.time.format.ISODateTimeFormat | |
| import org.joda.time.{DateTime, DateTimeZone} | |
| object Serializers { | 
| internal let DEFAULT_MIME_TYPE = "application/octet-stream" | |
| internal let mimeTypes = [ | |
| "html": "text/html", | |
| "htm": "text/html", | |
| "shtml": "text/html", | |
| "css": "text/css", | |
| "xml": "text/xml", | |
| "gif": "image/gif", | |
| "jpeg": "image/jpeg", | 
| import Foundation | |
| extension SequenceType { | |
| @warn_unused_result | |
| func any(@noescape predicate: (Self.Generator.Element) throws -> Bool) rethrows -> Bool { | |
| for element in self { | |
| let result = try predicate(element) | |
| if result { | |
| return true | |
| } | 
| import asyncio | |
| from contextlib import closing | |
| import aiohttp | |
| async def download_file(session: aiohttp.ClientSession, url: str): | |
| async with session.get(url) as response: | |
| assert response.status == 200 | |
| # For large files use response.content.read(chunk_size) instead. |