Skip to content

Instantly share code, notes, and snippets.

View edwardmp's full-sized avatar
🚀

Edward Poot edwardmp

🚀
View GitHub Profile
blueprint:
name: Motion-activated Switch
description: Turn on a Switch when motion is detected.
domain: automation
author: edwardmp
input:
motion_entity:
name: Motion Sensor
selector:
entity:
require 'faraday' # HTTP Client
require 'faraday-cookie_jar'
require 'faraday_middleware'
require 'fastlane/version'
require 'logger'
require 'spaceship/babosa_fix'
require 'spaceship/helper/net_http_generic_request'
require 'spaceship/helper/plist_middleware'
require 'spaceship/ui'
require 'tmpdir'
~ $ fastlane env
[20:15:10]: Generating fastlane environment output, this might take a few seconds...
<details><summary>🚫 fastlane environment 🚫</summary>
### Stack
| Key | Value |
| --------------------------- | ---------------------------------------------------------------- |
| OS | debian_based stretch/sid |
| Ruby | 2.4.0 |
@edwardmp
edwardmp / bootstrap_errors_for_associations.rb
Last active November 29, 2016 16:52
Automatic bootstrap form validation on *_id fields when validates :association, presence: true is present
BootstrapForm::FormBuilder.class_eval do
def association_object(name)
name = name.to_s
if name.end_with?('_ids')
# Check for a has_(and_belongs_to_)many association (these always use the _ids postfix field).
association = object.class.reflect_on_association(name.chomp('_ids').pluralize.to_sym)
else
# Check for a belongs_to association with method_name matching the foreign key column
association = object.class.reflect_on_all_associations.find do |a|
@edwardmp
edwardmp / examplepayload.json
Created June 24, 2016 19:24
Example APNS payload with ttile
{
"aps":{
"alert":{
"body":"The status of flight KL123 scheduled 20:30 to London Heathrow has changed to 'boarding'. Boarding at 20:05.",
"title":"Boarding at 20:05"
},
"category":"openFlightCategory"
},
}
@edwardmp
edwardmp / eclipsejdtexample.java
Created June 9, 2016 17:20
Example Eclipse JDT AST visitation
package eu.sig.aevas;
import eu.sig.aevas.dependencymanager.maven.MavenDependency;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.dom.*;
import java.io.File;
@edwardmp
edwardmp / exercise.go
Last active March 13, 2024 20:41
A Tour of Go, exercise rot13Reader
package main
import (
"io"
"os"
"strings"
)
type rot13Reader struct {
r io.Reader
@edwardmp
edwardmp / gist:a0ffb3ace02ce4392b26
Created June 13, 2015 15:58
Working example of accepting self-signed SSL certificate in Swift
import UIKit
import Foundation
class ViewController: UIViewController, NSURLSessionDelegate {
override func viewDidLoad() {
super.viewDidLoad()
httpGet(NSMutableURLRequest(URL: NSURL(string: "https://example.com")!))
}
@edwardmp
edwardmp / gist:817a50d623310f159c88
Created May 22, 2015 16:08
Allow use of self signed SSL certificate when using NSURLSession
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler
{
completionHandler(NSURLSessionAuthChallengeUseCredential, [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]);
}
@edwardmp
edwardmp / gist:df8517aa9f1752e73353
Created May 22, 2015 16:06
Using NSURLSession with SSL public key pinning
/*
1. Adhere to the NSURLSessionDelegate delegate
2. Initialize NSURLSession and specify self as delegate (e.g. [NSURLSession sessionWithConfiguration:defaultConfigObject delegate:self delegateQueue: [NSOperationQueue mainQueue]];)
3. Add the method below to your class
4. Change the certificate resource name
*/
- (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential *))completionHandler
{
SecTrustRef serverTrust = challenge.protectionSpace.serverTrust;