Skip to content

Instantly share code, notes, and snippets.

Avatar

Mrinal Wadhwa mrinalwadhwa

View GitHub Profile
View GetBinaryState (0 is OFF, 1 is ON)
curl -0 -v -X POST http://wemo:49153/upnp/control/basicevent1 -H 'SOAPACTION: "urn:Belkin:service:basicevent:1#GetBinaryState"' -H 'Content-Type: text/xml; charset=utf-8' -d @- << EOF
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:GetBinaryState xmlns:u="urn:Belkin:service:basicevent:1" />
</s:Body>
</s:Envelope>
EOF
@mrinalwadhwa
mrinalwadhwa / ecdh.py
Created Mar 5, 2020
Elliptic Curve Diffie-Hellman key exchange from scratch
View ecdh.py
#!/usr/bin/env python3
# The below code is an attemt to understand Elliptic Curve Cryptography
# by implementing Elliptic Curve Diffie-Hellman key exchange from scratch.
# DON'T USE THIS CODE IN YOUR APP!!
# It is not safe and is intended only as a learning tool.
import secrets
View Setup_Cosmos_Full_Node_In_Azure.md

Setup Cosmos Full Node In Azure

This gist contains two scripts

  • setup-cosmos-full-node-azure.bash which creates a vm in azure and then sets up a cosmos full node in that vm.
  • setup-cosmos-full-node.bash which sets up a cosmos full node locally on the machine it is running on.

How to use

Clone this gist and

@mrinalwadhwa
mrinalwadhwa / utc_iso8601_milli.rb
Last active Oct 21, 2019
Ruby: Convert to UTC time in ISO 8601 format with millisecond precision, padding of 3.
View utc_iso8601_milli.rb
def utc_iso8601_milli(time)
time.utc.strftime '%FT%T.%LZ'
end
utc_iso8601_milli Time.now
# => "2016-09-02T07:06:18.134Z"
utc_iso8601_milli Time.new(2002, 10, 31, 2, 2, 2, "+05:00")
# => "2002-10-30T21:02:02.000Z"
@mrinalwadhwa
mrinalwadhwa / ip.sh
Created Aug 3, 2016
Display external IP using OpenDNS.
View ip.sh
#!/usr/bin/env bash
##
## Usage: ip
## Display external IP using OpenDNS.
##
dig +short myip.opendns.com @resolver1.opendns.com
# REFERENCES
# http://www.commandlinefu.com/commands/view/5253/get-your-outgoing-ip-address
@mrinalwadhwa
mrinalwadhwa / usage.sh
Created Aug 3, 2016
Extract and display block of usage info
View usage.sh
#!/usr/bin/env bash
##
## Usage: usage [command|path]
## Assuming that a command script file starts with a block of usage info
## where each line in the block starts with two '##' characters. This script
## extracts and displays that block of usage info.
##
## Example:
## Given a file a_command with the following contents:
##
@mrinalwadhwa
mrinalwadhwa / ampersand.html
Created Jun 15, 2012
Ampersand — Goudy Bookletter 1911
View ampersand.html
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Ampersand</title>
<style>
@font-face {
font-family:"Goudy Bookletter 1911";
src:url('http://themes.googleusercontent.com/static/fonts/goudybookletter1911/v3/l5lwlGTN3pEY5Bf-rQEuIHkY3soKkPv_thL__S829Cw.eot#iefix') format('embedded-opentype'),
View BashStrict.sh
#!/usr/bin/env bash
# redsymbol.net/articles/unofficial-bash-strict-mode/
set -euo pipefail
IFS=$'\n\t'
# `set` is safer than relying on a hashbang like `#!/bin/bash -e`
# because that is neutralized when someone runs the script as `bash script.sh`
# Exit on error. Append `|| true` if we expect an error.
# set -o errexit
@mrinalwadhwa
mrinalwadhwa / afk-osx.sh
Created Aug 3, 2016
Lock Screen on MacOS
View afk-osx.sh
#!/usr/bin/env bash
##
## Usage: afk
## Lock Screen on MacOS
##
/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend
View clearfix.css
/* based on http://www.yuiblog.com/blog/2010/09/27/clearfix-reloaded-overflowhidden-demystified/ */
.cf:before,
.cf:after {
content: ".";
display: block;
height: 0;
overflow: hidden;
}
.cf:after {clear: both;}
You can’t perform that action at this time.