Skip to content

Instantly share code, notes, and snippets.

@chrisballinger
chrisballinger / show_on_github.sh
Last active March 21, 2018 22:11
Opens a local file on GitHub (macOS)
#!/usr/bin/env bash
set -e
FILE_PATH="${1}"
FILE_DIR="$(dirname "${FILE_PATH}")"
cd ${FILE_DIR}
GIT_ROOT="$(git rev-parse --git-dir)/.."
REMOTES="$(git remote -v)"
GITHUB_REPO="$(sed 's/.*github.com:\(.*\).git.*/\1/' <<< "${REMOTES}" | head -1)"
GITHUB_PATH="$(/usr/local/bin/grealpath --relative-to="${GIT_ROOT}" "${FILE_PATH}")"
GITHUB_URL="https://github.com/${GITHUB_REPO}/blob/develop/${GITHUB_PATH}"
@chrisballinger
chrisballinger / dino.rb
Last active April 11, 2024 11:12
Homebrew formular for dino.
class Dino < Formula
desc "Modern Jabber/XMPP Client using GTK+/Vala "
homepage "https://dino.im"
## TODO: This is not really a version, but a dummy that's not going to work.
# url "https://github.com/dino/dino/archive/0.0.tar.gz"
# sha256 "a951b50559671ab30e74304ddc66c943405c8ad1bcbe4d77bef647a081fd0dbb"
head do
url "https://github.com/dino/dino.git"
Incident Identifier: 6DFD9061-7147-422C-876C-2929D148418E
CrashReporter Key: 198c663abe575c4280231dd26697796d750f7a31
Hardware Model: iPhone9,4
Process: ChatSecure [24039]
Path: /var/containers/Bundle/Application/4B3E8D39-6189-413E-BA9E-630C40183E9B/ChatSecure.app/ChatSecure
Identifier: com.chrisballinger.ChatSecure
Version: 4.0 (54)
Code Type: ARM-64
Parent Process: ? [1]
-[GCDAsyncSocketConnectionTests testTransferFromClient]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2015-08-25 20:16:59.366 xctest[817:4024] [Server] Closed connection: (null)
2015-08-25 20:16:59.368 xctest[817:4024] [Server] Closed connection: (null)
2015-08-25 20:16:59.371 xctest[817:4024] [Server] Closed connection: (null)
2015-08-25 20:16:59.392 xctest[817:4024] [Server] Closed connection: Error Domain=NSPOSIXErrorDomain Code=61 "Connection refused" UserInfo=0x7a06fea0 {NSLocalizedFailureReason=Error in connect() function, NSLocalizedDescription=Connection refused}
2015-08-25 20:17:29.367 xctest[817:4024] *** Assertion failure in -[_XCTestCaseImplementation addExpectation:], /SourceCache/XCTest_Sim/XCTest-7701/XCTestFramework/Classes/XCTestCase.m:1257
2015-08-25 20:17:29.416 xctest[817:4024] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'API violation - creating expectations while already in waiting mode.'
*** First throw call stack:
(

Keybase proof

I hereby claim:

  • I am chrisballinger on github.
  • I am chrisballinger (https://keybase.io/chrisballinger) on keybase.
  • I have a public key whose fingerprint is 69D7 DE0D A7A5 1730 73FB DD8D ACEF D02A 50F7 D255

To claim this, I am signing this object:

#!/usr/bin/python
# Public Domain
def strxor(a, b): # xor two strings of different lengths
if len(a) > len(b):
return "".join([chr(ord(x) ^ ord(y)) for (x, y) in zip(a[:len(b)], b)])
else:
return "".join([chr(ord(x) ^ ord(y)) for (x, y) in zip(a, b[:len(a)])])
def scan_for_letter(character):
@chrisballinger
chrisballinger / gist:7239932
Last active February 27, 2024 22:21
French Encryption Import Compliance

Starting in the first week of July, apps that meet the following criteria are required to comply with French Encryption Laws/Regulations if you intend to distribute your app in France.

This requirement applies to apps that use, access, implement, or incorporate:

  1. Any encryption algorithm that is yet to be standardized by international standard bodies such as IEEE, IETF, ISO, ITU, ETSI, 3GPP, TIA, etc. or not otherwise published; or
  2. Standard (e.g., AES, DES, 3DES, RSA) encryption algorithm(s) instead of or in addition to accessing or using the encryption in iOS and/or Mac OS X

Apple will require you to upload a copy of your approved French declaration when you submit your app to the App Store. Relevant French encryption regulations can be found at:

@chrisballinger
chrisballinger / gist:6733678
Created September 27, 2013 19:10
ffprobe output
*** broken file ***
[STREAM]
index=1
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=Main
codec_type=video
codec_time_base=1/180000
codec_tag_string=[27][0][0][0]
@chrisballinger
chrisballinger / gist:6566091
Last active December 23, 2015 02:19
ffmpeg arm64 compilation errors
CC libavformat/aacdec.o
In file included from libavformat/a64.c:23:
In file included from ./libavcodec/bytestream.h:31:
In file included from ./libavutil/intreadwrite.h:25:
In file included from ./libavutil/bswap.h:38:
./libavutil/arm/bswap.h:55:41: error: invalid operand for instruction
__asm__ ("eor %1, %0, %0, ror #16 \n\t"
^
<inline asm>:2:14: note: instantiated into assembly here
bic x9, x9, #0xFF0000
@chrisballinger
chrisballinger / gist:3430478
Created August 22, 2012 23:16
libotr-4.0.0-rc1 build error
mbp:OTRKit chrisbal$ ./build-all.sh
Skipping libgpg-error...
Skipping libgcrypt...
Building libotr...
Using libotr-4.0.0-rc1.tar.gz
Building without ccache
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no