Skip to content

Instantly share code, notes, and snippets.

briancroom /
Last active Mar 11, 2020
How to create a Swift modular library

I am trying to determine if it is possible to build a Swift dynamic library which is itself composed of one of more private modules, without needing to expose to that fact to outside users. My hope was that I could build the private module as a static library, which would be linked into the primary (dynamic) library. The dylib could then be deployed together with its swiftmodule and swiftdoc and be imported, with the private module and its symbols not being exposed at all.

Unfortunately, what I'm currently observing seems to indicate that the private module's swiftmodule also has to be available for the primary library to be successfully imported.

This can be reproduced as follows. I have the following directory structure:


public func log(_ message: String) {
syafiqfaiz /
Last active Sep 27, 2022
How to copy production database on AWS RDS(postgresql) to local development database.
  1. Change your database RDS instance security group to allow your machine to access it.
    • Add your ip to the security group to acces the instance via Postgres.
  2. Make a copy of the database using pg_dump
    • $ pg_dump -h <public dns> -U <my username> -f <name of dump file .sql> <name of my database>
    • you will be asked for postgressql password.
    • a dump file(.sql) will be created
  3. Restore that dump file to your local database.
    • but you might need to drop the database and create it first
    • $ psql -U <postgresql username> -d <database name> -f <dump file that you want to restore>
  • the database is restored
Grokzen / Symmetrical ManyToMany Filter Horizontal in Django
Last active Sep 21, 2022
Symmetrical ManyToMany Filter Horizontal in Django Admin
View Symmetrical ManyToMany Filter Horizontal in Django
# Based on post from:
# Only reposting to avoid loosing it.
When adding a many-to-many (m2m) relationship in Django, you can use a nice filter-style multiple select widget to manage entries. However, Django only lets you edit the m2m relationship this way on the forward model. The only built-in method in Django to edit the reverse relationship in the admin is through an InlineModelAdmin.
Below is an example of how to create a filtered multiple select for the reverse relationship, so that editing entries is as easy as in the forward direction.
### pizza/ ###
spookylukey / gist:fc9fa268de67fd19a567
Last active Aug 29, 2015
How to post code snippets (especially Python) into comment systems that don't preserve whitespace
View gist:fc9fa268de67fd19a567
#!/usr/bin/env python
# How to post code snippets (especially Python) into comment systems
# that don't preserve whitespace.
# Save this as a script called 'convert_leading_spaces_to_nonbreaking'
# in your PATH and do "chmod +x" on it.
# In Linux, you can then use it by installing xsel and doing:
natecook1000 / NSTimer+Closure.swift
Last active Aug 1, 2019
Scheduled NSTimer with a Swift closure
View NSTimer+Closure.swift
extension NSTimer {
Creates and schedules a one-time `NSTimer` instance.
- Parameters:
- delay: The delay before execution.
- handler: A closure to execute after `delay`.
- Returns: The newly-created `NSTimer` instance.
natecook1000 / randomInt.swift
Created Oct 9, 2014
Random integers without shuttling between UInt32 and Int
View randomInt.swift
func arc4random_uniform<T: SignedIntegerType>(max: T) -> T {
let max32: Int32 = numericCast(max)
return T(Int64(arc4random_uniform(UInt32(max32))))
func arc4random_uniform<T: UnsignedIntegerType>(max: T) -> T {
let max32: UInt32 = numericCast(max)
return T(UInt64(arc4random_uniform(max32)))
BurntCaramel / example.playground
Created Jul 13, 2014
Using enum for getting/setting value and modification date – Inessential · Swift Structs and valueForKey:
View example.playground
import Swift
import Cocoa
// Properties you need as an enum - problem of key value coding is it allows you to type *anything*, typos compile fine.
enum SyncObjectPropertyName {
case Archived
case Title
// Protocol shared both for local and server
jiaaro / script.bash
Created Apr 24, 2013
Embed Python in a bash script
View script.bash
export FOO=100
python - <<END
import os
print "foo:", os.environ['FOO']
jiaaro / simpleTarget.js
Last active Dec 16, 2015
Partially de-obfuscated simpleTarget() from
View simpleTarget.js
// library function…
// o.lib.targeting.simpleTarget(ship, pos)
// mostly deobfuscated/deminified
function simpleTarget(ship, pos) {
var i, r, h,
torque = 0,
thrust = 0,
dir = o.lib.targeting.dir(ship, pos);