Skip to content

Instantly share code, notes, and snippets.

View emanuelet's full-sized avatar

Emanuele Tonello emanuelet

View GitHub Profile
@emanuelet
emanuelet / rtoc.js
Last active September 29, 2023 22:22
Convert RRULE string to Cron expression (with output for Bull Repeated jobs)
const moment = require('moment-timezone')
const logger = require('tracer').colorConsole()
const { RRule, RRuleSet, rrulestr } = require('rrule')
function untilStringToDate(until) {
const re = /^(\d{4})(\d{2})(\d{2})(T(\d{2})(\d{2})(\d{2})Z?)?$/
const bits = re.exec(until)
if (!bits) throw new Error(`Invalid UNTIL value: ${until}`)
@emanuelet
emanuelet / btcpayserver_install_env.sh
Last active July 14, 2021 10:50 — forked from rockstardev/btcpayserver_install_env.sh
Setting up BTCPayServer development environment on Linux (Ubuntu)
# Installing prerequisites for BTCPayServer development on Ubuntu
# https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install?initial-os=linux
wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo add-apt-repository universe
sudo apt update
@emanuelet
emanuelet / ExampleFragment.java
Created April 11, 2016 04:41
Populating ListView (or RecyclerView) based on Firebase cross-referenced results with a Geofire node
public class ExampleFragment extends Fragment implements GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener,
ResultCallback<LocationSettingsResult>,
SharedPreferences.OnSharedPreferenceChangeListener {
private Callbacks mCallbacks;
private Snackbar snackbar;
public interface Callbacks {
/**
@emanuelet
emanuelet / cronrrule.js
Created May 10, 2021 05:05
Convert Cron expression to RRule string
const parser = require('cron-parser')
const { RRule } = require('rrule')
const logger = require('tracer').colorConsole()
const maps = {
dayofmonth: 'bymonthday',
dayofweek: 'byweekday',
}
module.exports = {
@emanuelet
emanuelet / app.js
Created March 4, 2021 08:18
Jit bug reproduction
'use strict'
const environment = process.env.NODE_ENV || 'development'
const isProd = environment.includes('production')
const config = require('config')
const path = require('path')
const AutoLoad = require('fastify-autoload')
const mercurius = require('mercurius')
const gqSchema = require('./graphql/schema')
@emanuelet
emanuelet / MainActivity.java
Created April 10, 2016 05:50
Integrating Facebook Comments Plugin with Android Webview
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@Bind(R.id.commentsView)
WebView comments;
@Bind(R.id.webview_frame)
FrameLayout mContainer;
private String url = "http://www.example.news";
@emanuelet
emanuelet / script.sh
Created December 6, 2019 04:36
Fetch all the Google App Engine IP Ranges
dig +short -t TXT _cloud-netblocks1.googleusercontent.com | grep -Po 'ip4:\K\S+' >> ips.txt
dig +short -t TXT _cloud-netblocks2.googleusercontent.com | grep -Po 'ip4:\K\S+' >> ips.txt
dig +short -t TXT _cloud-netblocks3.googleusercontent.com | grep -Po 'ip4:\K\S+' >> ips.txt
dig +short -t TXT _cloud-netblocks4.googleusercontent.com | grep -Po 'ip4:\K\S+' >> ips.txt
dig +short -t TXT _cloud-netblocks5.googleusercontent.com | grep -Po 'ip4:\K\S+' >> ips.txt
@emanuelet
emanuelet / JacksonParser.java
Created March 20, 2018 15:44
Working JacksonXML Parser for Hawk 2+
import android.text.TextUtils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectReader;
import com.orhanobut.hawk.Parser;
import java.io.IOException;
import java.lang.reflect.Type;
@emanuelet
emanuelet / ExampleAdapter.java
Last active September 16, 2017 12:20
Generic List Adapter for Firebase
/**
* This class is an example of how to use FirebaseListAdapter. It uses the ExampleObject class to encapsulate the
* data for each individual chat message
*/
public class ExampleAdapter extends FirebaseListAdapter<ExampleObject> {
@InjectView(R.id.example_list_item)
TextView exampleView;
public DealListAdapter(Query ref, Activity activity, int layout) {
super(ref, ExampleObject.class, layout, activity);
@emanuelet
emanuelet / gist:539e8cfe3d7c450c063d
Last active April 11, 2016 14:13
Codeship Setup Commands for Android Gradle Build
wget http://dl.google.com/android/android-sdk_r24.3-linux.tgz
tar xvzf android-sdk_r24.3-linux.tgz
rm android-sdk_r24.3-linux.tgz
export ANDROID_HOME=$PWD/android-sdk-linux
export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH"
echo "y" | android update sdk --no-ui --all --filter tools,platform-tools,build-tools-22.0.1,android-22,extra-google-m2repository,extra-google-google_play_services,extra-android-support,139
cd -
touch local.properties
echo "sdk.dir=$ANDROID_HOME" >> local.properties
# ./gradlew clean