TLDR: Use for...of
instead of forEach()
in asynchronous code.
For legacy browsers, use for(...;...;...)
or [].reduce()
To execute the promises in parallel, use Promise.all([].map(...))
import time | |
import psutil | |
import multiprocessing as mp | |
from multiprocessing import Process | |
from ctypes import * | |
threadpin = CDLL(".\\threadpin.dll") | |
print(threadpin.thread_assign_to_processor) | |
def f(thread, duty, freq, q): |
#!/bin/bash | |
# A bash script to update a Cloudflare DNS A record with the external IP of the source machine | |
# Used to provide DDNS service for my home | |
# Needs the DNS record pre-creating on Cloudflare | |
# Proxy - uncomment and provide details if using a proxy | |
#export https_proxy=http://<proxyuser>:<proxypassword>@<proxyip>:<proxyport> | |
# Cloudflare zone is the zone which holds the record |
The beautiful thing about the web was that this article is outdated before I even started writing it. I am going to show how I was able to encapsulate SignalR functionality behind a simple service that works nicely in an Angular 2+ environment. I find myself frequently ruminating about the fact that Angular 2+ is more of an "environment" than a framework. It's not just a handful of libraries strewn together - it literally drives your development process - pretty much forcing you to introduce Node.js, TypeScript and a build tool (eg., Webpack) into your daily activities. It also strongly reinforces how you organize your files and what you name them. It's so painfully opinionated and I love it!
If you are working on an Angular 2+ application and you don't have a lot of services, you are doing something woefully wrong. One of the biggest parts of getting your head wrapped around Angular 2+ is familiarizing yourself with their new approach to dependency injection an
import os | |
import requests | |
import json | |
import time | |
environmentName = 'some-env' | |
serviceName = 'some-service' | |
newImage = 'docker:arkka/some-image:tag' | |
# Find stack based on their name |
#!/bin/sh | |
_DOMAIN="proxy.ssn.net" | |
_PORT=8080 | |
_IGNORE_PROXY="'*.ssn.net'" | |
_ENV_FILE_PATH="/etc/environment" | |
_APT_FILE_PATH="/etc/apt/apt.conf" | |
_MODE_MANUAL="manual" | |
_MODE_NONE="none" |
# alias radio='function __radio(){ r=`grep -v "#" radios_nacionales.txt | grep -m 1 -i $1 | cut -d" " -f1`; cvlc $r 2> /dev/null; }; __radio' | |
# podria utilizarse mplayer en vez de vlc | |
AMs Nacionales | |
http://cdn.instream.audio:9288/stream Radio Madre 530 | |
https://streaming1.hostingmontevideo.com:7019/; Radio Colonia 550 | |
http://server.laradio.online:25224/live.mp3 Radio Argentina 570 | |
http://playerservices.streamtheworld.com/api/livestream-redirect/CONTINENTAL_SC Continental 590 | |
https://streammax.alsolnet.com/radiorivadavia Rivadavia 630 |
#!/usr/bin/env python3 | |
# vim: sw=4 ts=4 et tw=100 cc=+1 | |
# | |
#################################################################################################### | |
# DESCRIPTION # | |
#################################################################################################### | |
# | |
# Decompressor/compressor for files in Mozilla's "mozLz4" format. Firefox uses this file format to | |
# compress e. g. bookmark backups (*.jsonlz4). | |
# |
While this gist has been shared and followed for years, I regret not giving more background. It was originally a gist for the engineering org I was in, not a "general suggestion" for any React app.
Typically I avoid folders altogether. Heck, I even avoid new files. If I can build an app with one 2000 line file I will. New files and folders are a pain.