Skip to content

Instantly share code, notes, and snippets.

View laminr's full-sized avatar

Thibault de Lambilly laminr

View GitHub Profile
@laminr
laminr / gist:571b4cc65dd734d4345209a3dca3cd4c
Created June 18, 2022 13:15 — forked from donaldallen/gist:9557256
Handle Daylight Savings Time (DST) in Javascript.
var today = new Date();
Date.prototype.stdTimezoneOffset = function() {
var jan = new Date(this.getFullYear(), 0, 1);
var jul = new Date(this.getFullYear(), 6, 1);
return Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset());
}
Date.prototype.dst = function() {
return this.getTimezoneOffset() < this.stdTimezoneOffset();
@laminr
laminr / email.js
Created October 5, 2020 18:32
Setting email and phone in Html tags
// <span data-email="contact"></span>
(function ($, domain) {
// updating email when needed
const elements = $("span[data-email]");
$.each(elements, function (key, value) {
var email = $(value).data('email');
value.innerHTML = email + "@" + domain;
});
@laminr
laminr / purgeAndroid.txt
Created July 3, 2020 17:39 — forked from tahmidsadik/purgeAndroid.txt
How to completely remove Android Studio from Mac OS X
How to Completely Remove Android Studio
Execute these commands from the terminal
rm -Rf /Applications/Android\ Studio.app
rm -Rf ~/Library/Preferences/AndroidStudio*
rm ~/Library/Preferences/com.google.android.studio.plist
rm -Rf ~/Library/Application\ Support/AndroidStudio*
rm -Rf ~/Library/Logs/AndroidStudio*
php bin/console server:dump
php bin/console server:dump --format=html > dump.html
// Launch Web server
php bin/console server:run
php bin/console config:dump-reference
php bin/console hautelook:fixtures:load
// Security
@laminr
laminr / mysql-docker.sh
Created April 29, 2019 12:36 — forked from spalladino/mysql-docker.sh
Backup and restore a mysql database from a running Docker mysql container
# Backup
docker exec CONTAINER /usr/bin/mysqldump -u root --password=root DATABASE > backup.sql
# Restore
cat backup.sql | docker exec -i CONTAINER /usr/bin/mysql -u root --password=root DATABASE
DELIMITER $$
CREATE FUNCTION `haversine` (lat1 DECIMAL(10,8), lng1 DECIMAL(10,7), lat2 DECIMAL(10,8), lng2 DECIMAL(10,7)) RETURNS DECIMAL(10,7)
BEGIN
DECLARE R INT;
DECLARE dLat DECIMAL(30,15);
DECLARE dLng DECIMAL(30,15);
DECLARE a1 DECIMAL(30,15);
DECLARE a2 DECIMAL(30,15);
DECLARE a DECIMAL(30,15);
DECLARE c DECIMAL(30,15);
#set ($USER = "user name")
#set ($COMPANY = "Company (R) $YEAR")
#set ($EMAIL = "[email protected]")
/**
* Created by ${USER} on ${DATE}.
* ${COMPANY}
* ${EMAIL}
*/
@laminr
laminr / CallReceiver.kt
Last active February 6, 2019 13:48 — forked from ftvs/PhonecallReceiver.java
Detecting an incoming call coming to an Android device. Remember to set the appropriate permissions in AndroidManifest.xml as suggested in the Stackoverflow link. Usage example in comments. Source: http://stackoverflow.com/a/15564021/264619 Explanation: http://gabesechansoftware.com/is-the-phone-ringing/#more-8
package com.foo.bar.receiver
import android.content.Context
import timber.log.Timber
import java.util.*
class CallReceiver : PhonecallReceiver() {
override fun onIncomingCallReceived(ctx: Context, number: String, start: Date) {
Timber.d("onIncomingCallReceived: $number")
@laminr
laminr / PreferenceExtension.kt
Created June 1, 2018 13:26
Kotlin extension for SharedPreferences
import android.content.Context
import android.content.SharedPreferences
import android.preference.PreferenceManager
/**
*
* GET/SET
* val protectAtStart = defaultPrefs(context)["key", "defaultValue"]
* defaultPrefs(context)["key"] = "myValue"
*