start new:
tmux
start new with session name:
tmux new -s myname
function convertMS(ms) { | |
var d, h, m, s; | |
s = Math.floor(ms / 1000); | |
m = Math.floor(s / 60); | |
s = s % 60; | |
h = Math.floor(m / 60); | |
m = m % 60; | |
d = Math.floor(h / 24); | |
h = h % 24; | |
return { d: d, h: h, m: m, s: s }; |
/* | |
Copyright 2013 Cameron MacFarland | |
Licensed under the Apache License, Version 2.0 (the "License"); | |
you may not use this file except in compliance with the License. | |
You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software |
from bottle import route, run, request, static_file | |
import subprocess | |
""" | |
Get DEVICE_ID by running script and connecting to the url with your mobile device | |
python unlock.py | |
Bottle v0.11.2 server starting up (using WSGIRefServer())... | |
Listening on http://192.168.77.102:8888/ |
Suppose we want to add support for a new iOS 8 API in our framework that replaces an older iOS 7 API. There are a few problems we might face:
These three problems require three different technical solutions:
respondsToSelector:
)__IPHONE_OS_VERSION_MAX_ALLOWED
macro#!/bin/bash | |
function build-and-run { | |
build "$1" && $2 | |
} | |
function build { | |
clear | |
# run $1, pipe output to stdout then strip colour and put in .build_results | |
$1 2>&1 | tee >(perl -np -e 's/\x1b\[[0-9;]*m//g' > .build_results) |
*update: TBC, but this new might affect how easy it is to use this technique past August 2024: Authy is shutting down its desktop app | The 2FA app Authy will only be available on Android and iOS starting in August
This gist, based in part on a gist by Brian Hartvigsen, allows you to export from Authy your TOTP tokens you have stored there.
Those can be "standard" 6-digits / 30 secs tokens, or Authy's own version, the 7-digits / 10 secs tokens.
export const fetchAsBlob = url => fetch(url) | |
.then(response => response.blob()); | |
export const convertBlobToBase64 = blob => new Promise((resolve, reject) => { | |
const reader = new FileReader; | |
reader.onerror = reject; | |
reader.onload = () => { | |
resolve(reader.result); | |
}; | |
reader.readAsDataURL(blob); |
Resigning an iOS ipa for the app store | |
Introduction | |
Friday, October 18, 2019 | |
For the release of company iOS applications to the Apple app store we need to resign those apps with our appropriate distribution certificate. This is the process you need to follow, as-of-this-writing, to properly re-sign an foo.ipa to upload to Apple using the Application Loader. | |
This writing is making the assumption that the foo.ipa bundle that you has been created appropriately and that is only needs to be resigned. |