Supabase - ~52K stars
- Designed explicitly as an open source firebase alternative
- Typescript based
- Docker support
Appwrite - ~32K stars
- Written in JavaScript and PHP
- Docker based
- Realtime support across all services
'use strict'; | |
var node = require('@remix-run/node'); | |
node.installGlobals(); |
# "Проверка" | ConvertTo-Encoding windows-1251 koi8-r | |
# Get-Content notes.txt | ConvertTo-Encoding "windows-1251" "koi8-r" | Set-Content decoded.txt | |
function ConvertTo-Encoding ([string]$From, [string]$To){ | |
Begin{ | |
$encFrom = [System.Text.Encoding]::GetEncoding($from) | |
$encTo = [System.Text.Encoding]::GetEncoding($to) | |
} | |
Process{ | |
$bytes = $encTo.GetBytes($_) | |
$bytes = [System.Text.Encoding]::Convert($encFrom, $encTo, $bytes) |
import { NextResponse } from "next/server"; | |
import { getLowestPrice, getHighestPrice, getAveragePrice, getEmailNotifType } from "@/lib/utils"; | |
import { connectToDB } from "@/lib/mongoose"; | |
import Product from "@/lib/models/product.model"; | |
import { scrapeAmazonProduct } from "@/lib/scraper"; | |
import { generateEmailBody, sendEmail } from "@/lib/nodemailer"; | |
export const maxDuration = 300; // This function can run for a maximum of 300 seconds | |
export const dynamic = "force-dynamic"; |
alias fan-auto='systemctl start supermicro-fan-auto.timer' | |
alias fan-full='systemctl stop supermicro-fan-auto.timer && sleep 5 && sm fan full' | |
alias fan-pue2='systemctl stop supermicro-fan-auto.timer && sleep 5 && sm fan pue2' | |
alias fan-optimal='systemctl stop supermicro-fan-auto.timer && sleep 5 && sm fan optimal' | |
alias fan-heavyio='systemctl stop supermicro-fan-auto.timer && sleep 5 && sm fan heavyio' | |
alias fan-standard='systemctl stop supermicro-fan-auto.timer && sleep 5 && sm fan standard' |
/** | |
* memoizes a function using localStorage as the cache | |
* @param {function|Promise} fn function or promise you wish to memoize | |
* @param {Object} [options] additional configuration | |
* @param {number} [options.ttl=0] time to live in seconds | |
* @param {Boolean} [options.backgroundRefresh=false] whether the cache should be refreshed asynchronously, | |
* Note: new results won't resolve until next execution | |
* @return {Promise} Promise object represents memoized result | |
*/ | |
function memoizeLocalStorage( |
// 1. The Interface | |
// --> Two ways to do it, | |
``` | |
@Multipart | |
@POST("the_endpoint") | |
suspend fun postImage( | |
@Part profile_photo: MultipartBody.Part, | |
@Part ("profile_photo") requestBody: RequestBody |
#!/usr/bin/env bash | |
# Show info and run flatpak apps with fzf | |
# flatapp [arguments] | |
flatpak_preview() { | |
app="$(echo "${1}" | awk -F'\t' '{print $2}')" | |
flatpak info "${app}" | |
} | |
export -f flatpak_preview |
23.21.150.121:3478 | |
iphone-stun.strato-iphone.de:3478 | |
numb.viagenie.ca:3478 | |
s1.taraba.net:3478 | |
s2.taraba.net:3478 | |
stun.12connect.com:3478 | |
stun.12voip.com:3478 | |
stun.1und1.de:3478 | |
stun.2talk.co.nz:3478 | |
stun.2talk.com:3478 |
#!/bin/bash | |
# | |
# Generates thumbnail contact sheets of all video files in current working directory. | |
# | |
# Script defaults to writing PNG contact sheets to the same folder, using the original | |
# video filename as the basename for the contact sheet | |
# | |
# More details: https://trac.ffmpeg.org/wiki/Create%20a%20thumbnail%20image%20every%20X%20seconds%20of%20the%20video | |
# | |
# NOTE: 'montage' requires that Ghostscript be installed, in order to be able to generate titles |