Skip to content

Instantly share code, notes, and snippets.

@davidnknight
davidnknight / send_email.php
Created July 20, 2012 12:01
PHP Send Mail (Plaintext and HTML)
<?php
/**
* Send email
* @param string|array $email
* @param object $from
* @param string $subject
* @param string $message
* @param string $headers optional
*/
function send_email($email, $from, $subject, $message, $headers = null)
@UniIsland
UniIsland / SimpleHTTPServerWithUpload.py
Created August 14, 2012 04:01
Simple Python Http Server with Upload
#!/usr/bin/env python
"""Simple HTTP Server With Upload.
This module builds on BaseHTTPServer by implementing the standard GET
and HEAD requests in a fairly straightforward manner.
"""
@remcotolsma
remcotolsma / xmlsec.class.php
Created September 19, 2013 18:24
This class can be used to encrypt, decrypt, sign and verify data in XML documents using the XMLSec standards. It uses the XMLSec library tools developed by Aleksey Sanin and others to perform the basic cryptographic operations on XML documents to comply with the W3 Consortium XMLSec standards: http://www.w3.org/TR/xmlenc-core/ http://www.w3.org/…
<?
/*
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@krishashok
krishashok / NSDate+DateExtensions.m
Created December 17, 2013 10:09
Category on NSDate to get current time in current timezone (instead of GMT) and also set time component of date to midnight (useful in comparing dates for "same day" situations)
#import "NSDate+DateExtensions.h"
@implementation NSDate (DateExtensions)
+ (NSDate *) currentDateInSystemTimezone
{
NSDate* sourceDate = [NSDate date];
NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
NSTimeZone* destinationTimeZone = [NSTimeZone systemTimeZone];
@natmchugh
natmchugh / sha1.php
Last active August 10, 2018 15:08
Pure PHP implementation of SHA1from wikipedia pseudo code
<?php
/*
Note 1: All variables are unsigned 32 bits and wrap modulo 232 when calculating, except
ml the message length which is 64 bits, and
hh the message digest which is 160 bits.
Note 2: All constants in this pseudo code are in big endian.
Within each word, the most significant byte is stored in the leftmost byte position
*/
@NickBarreto
NickBarreto / iBooks popups which degrade nicely in other devices
Last active September 3, 2024 10:37
How to create popup footnotes in iBooks which degrade well for other EPUB3 readers
The only requirements for popup footnotes in iBooks are:
* Ebook has to be an EPUB3
* epub:type "noteref" and "footnote"
So you can link to a totally separate document, as you normally would for endnotes,
but include the attributes so the <a> link behaves differently in iBooks, instead triggering the popup.
Original reference link would look something like this (in a file called ch001.html):
<a epub:type="noteref" href="footnote.html#note1">1</a></div>
@airspeedswift
airspeedswift / RemoveDuplicates.swift
Last active January 22, 2021 22:34
Removing duplicates
// removes all but first occurrence from a sequence, returning an array.
// requires elements to be hashable, not just equatable, but the alternative
// of using contains is very inefficient
// alternatively, could require comparable, sort, and remove adjacent dupes
func uniq<S: SequenceType, E: Hashable where E==S.Generator.Element>(seq: S) -> [E] {
var seen: [S.Generator.Element:Int] = [:]
return filter(seq) { !seen.updateValue(1, forKey: $0).hasValue }
}
// TODO: a version that takes a custom comparator function, say for lexicographic deduping
@krzyzanowskim
krzyzanowskim / shift_bits_with_truncation
Last active October 9, 2019 20:17
Bit shifting with overflow protection using overflow operator "&"
//
// IntExtension.swift
// CryptoSwift
//
// Created by Marcin Krzyzanowski on 12/08/14.
// Copyright (C) 2014 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com>
// This software is provided 'as-is', without any express or implied warranty.
//
// In no event will the authors be held liable for any damages arising from the use of this software.
//
@rnapier
rnapier / gist:0f5611d0bf89a9645713
Last active August 29, 2015 14:05
Version 3 of Functional Wish Fulfillment
//
// Version 3 of pagesFromData from Functional Wish Fulfillment
// http://robnapier.net/functional-wish-fulfillment
//
import Foundation
func pagesFromData(data: NSData) -> Result<[Page]> {
return continueWith(asJSON(data)) {
continueWith(asJSONArray($0)) {
@natecook1000
natecook1000 / Set.swift
Last active July 13, 2024 21:09
Creating a Set Type in Swift
// The MIT License (MIT)
//
// Copyright (c) 2014 Nate Cook
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions: