- Install Dependencies
npm init npm install --save-dev ts-node typescript tslib express @types/express
- Create
server.tsin root folder of your app.
| # 05_aiohttp.py | |
| from aiohttp import web | |
| from aiohttp.web_log import AccessLogger | |
| from asyncio import CancelledError | |
| from contextvars import ContextVar | |
| import asyncio | |
| import logging | |
| import secrets |
| '''Example of a custom ReST directive in Python docutils''' | |
| import docutils.core | |
| from docutils.nodes import TextElement, Inline | |
| from docutils.parsers.rst import Directive, directives | |
| from docutils.writers.html4css1 import Writer, HTMLTranslator | |
| class foo(Inline, TextElement): | |
| '''This node class is a no-op -- just a fun way to define some parameters. | |
| There are lots of base classes to choose from in `docutils.nodes`. |
| import fpdf | |
| from PyPDF2 import PdfFileWriter, PdfFileReader | |
| overlay_pdf_file_name = 'overlay_PDF.pdf' | |
| pdf_template_file_name = 'base_PDF_template.pdf' | |
| result_pdf_file_name = 'final_PDF.pdf' | |
| # This section creates a PDF containing the information you want to enter in the fields | |
| # on your base PDF. |
| import React from 'react'; | |
| import { storiesOf } from '@storybook/react'; | |
| import { action } from '@storybook/addon-actions'; | |
| import InlineMonacoEditor from './InlineMonacoEditor'; | |
| export const LINES = [ | |
| 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', | |
| 'Aenean aliquet, nulla eget auctor porttitor, lacus urna', | |
| 'posuere purus, at suscipit orci sapien quis est. Curabitur', |
HackerNews discussed this with many alternative solutions: https://news.ycombinator.com/item?id=24893615
I already have my own domain name: mydomain.com. I wanted to be able to run some webapps on my Raspberry Pi 4B running
perpetually at home in headless mode (just needs 5W power and wireless internet). I wanted to be able to access these apps from public Internet. Dynamic DNS wasn't an option because my ISP blocks all incoming traffic. ngrok would work but the free plan is too restrictive.
I bought a cheap 2GB RAM, 20GB disk VM + a 25GB volume on Hetzner for about 4 EUR/month. Hetzner gave me a static IP for it. I haven't purchased a floating IP yet.
| #!/usr/local/bin/python | |
| """Replacement for htpasswd""" | |
| # Original author: Eli Carter | |
| import os | |
| import sys | |
| import random | |
| from optparse import OptionParser | |
| # We need a crypt module, but Windows doesn't have one by default. Try to find |
| # From https://stackoverflow.com/questions/29547218/ | |
| # remove-silence-at-the-beginning-and-at-the-end-of-wave-files-with-pydub | |
| from pydub import AudioSegment | |
| def detect_leading_silence(sound, silence_threshold=-50.0, chunk_size=10): | |
| ''' | |
| sound is a pydub.AudioSegment | |
| silence_threshold in dB | |
| chunk_size in ms |
| mkdir heroku | |
| cd heroku/ | |
| virtualenv --no-site-packages env | |
| source env/bin/activate | |
| pip install bottle gevent | |
| pip freeze > requirements.txt | |
| cat >app.py <<EOF | |
| try: | |
| import gevent.monkey |