Skip to content

Instantly share code, notes, and snippets.

Avatar
👋

Massimiliano Marcon mmarcon

👋
View GitHub Profile
@mmarcon
mmarcon / mongosh-fle-local-kms.js
Last active Feb 17, 2021
Simple mongosh script to insert a document into MongoDB with Client-side Field-level Encryption and a local KMS.
View mongosh-fle-local-kms.js
// To run this script you can start the shell with `mongosh --nodb`
// Wrap everything into a function so we don't
// affect the shell's scope
(function insertTestData() {
// Config DB and Collection names
const dbName = '<TEST_DBNAME>';
const collectionName = '<TEST_COLLNAME>';
const mongoDBConnectionString = '<MONGODB_CONNECTION_STRING>';
@mmarcon
mmarcon / mongosh-fle-gcp-kms.js
Last active Feb 17, 2021
Simple mongosh script to insert a document into MongoDB with Client-side Field-level Encryption and KMS in GCP.
View mongosh-fle-gcp-kms.js
// To run this script you can start the shell with `mongosh --nodb`
// Wrap everything into a function so we don't
// affect the shell's scope
(function insertTestData() {
// Config DB and Collection names
const dbName = '<TEST_DBNAME>';
const collectionName = '<TEST_COLLNAME>';
const mongoDBAtlasConnectionString = '<MONGODB_ATLAS_CONNECTION_STRING>';
View sales.mongodb.js
// MongoDB Playground
// To disable this template go to Settings | MongoDB | Use Default Template For Playground.
// Make sure you are connected to enable completions and to be able to run a playground.
// Use Ctrl+Space inside a snippet or a string literal to trigger completions.
// Select the database to use.
use('mongodbVSCodePlaygroundDB');
// The drop() command destroys all data from a collection.
// Make sure you run it against proper database and collection.
@mmarcon
mmarcon / gist:1323584
Last active Oct 3, 2019
iOS extend SQLite by adding functions
View gist:1323584
/*
Target: iOS, iOS5
Let's say you have a SQLite DB to index a number of files, resources, or items in general.
You want to perform a full-text search on this item. Example:
TABLE: Item
----------------------------------------------------------------------
ID | Name | Description
@mmarcon
mmarcon / CollectionUtils.java
Created Sep 22, 2013
Maps are not Parcelable and this is an issue in Android when they need to be passed to activities and services via Intents. The corresponding Map-like object in Android is the Bundle. Bundle is a more generic container, it doesn't enforce types via generics and isn't supported natively by JSON deserializers such as Gson. This utility class expos…
View CollectionUtils.java
package es.cloudey.pagespeed.util;
import java.util.HashMap;
import java.util.Map;
import android.os.Bundle;
import android.os.Parcelable;
public class CollectionUtils {
public static Bundle toBundle(Map<String, ? extends Parcelable> input) {
@mmarcon
mmarcon / youtube-helium.js
Last active Nov 11, 2016
A bookmarklet to convert youtube video links into links that can be opened with Helium on macOS (http://heliumfloats.com/)
View youtube-helium.js
[].slice.apply(document.querySelectorAll('.yt-lockup-title a.spf-link')).forEach(l => {const h = l.getAttribute('href'); l.setAttribute('href', `helium://https://www.youtube.com${h}`)})
@mmarcon
mmarcon / MFArrayList.java
Created Sep 22, 2013
An extension of the ArrayList class that allows mapping and filtering similarly to Array.prototype.map and Array.prototype.filter in JavaScript.
View MFArrayList.java
package es.cloudey.webanalyzer.util;
import java.util.ArrayList;
import java.util.Collection;
public class MFArrayList<E> extends ArrayList<E> {
private static final long serialVersionUID = 7281673743494991943L;
public MFArrayList(){
@mmarcon
mmarcon / DateUtil.java
Last active Dec 23, 2015
milliseconds to pretty date in Java
View DateUtil.java
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class DateUtil {
public static String getDate(long milliSeconds) {
DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss.SSS");
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(milliSeconds);
return formatter.format(calendar.getTime());
View tabs2spaces.sh
find . -name "*.php" | while read line; do expand -t 4 $line > $line.new; mv $line.new $line; done
@mmarcon
mmarcon / fetch.php
Created Apr 30, 2012
Download and unarchive a whole Github repository
View fetch.php
<?php
function unzip($file) {
$zip = zip_open($file);
if (is_resource($zip)) {
$tree = "";
while (($zip_entry = zip_read($zip)) !== false) {
echo "Unpacking " . zip_entry_name($zip_entry) . "\n";
if (strpos(zip_entry_name($zip_entry), DIRECTORY_SEPARATOR) !== false) {
$last = strrpos(zip_entry_name($zip_entry), DIRECTORY_SEPARATOR);
$dir = substr(zip_entry_name($zip_entry), 0, $last);