#Every Single Option Under The Sun
- optimization level options
- automatic crashing options
- debug info options
- swift internal options
- swift debug/development internal options
- linker-specific options
- mode options
#Every Single Option Under The Sun
| extension String { | |
| func size(withAttributes attrs: [String:AnyObject], constrainedTo box: NSSize) -> NSRect { | |
| let storage = NSTextStorage(string: self) | |
| let container = NSTextContainer(containerSize: NSSize(width: box.width, height: box.height)) | |
| let layout = NSLayoutManager() | |
| layout.addTextContainer(container) | |
| storage.addLayoutManager(layout) | |
| storage.addAttributes(attrs, range: NSMakeRange(0, storage.length)) | |
| container.lineFragmentPadding = 0.0 | |
| let _ = layout.glyphRangeForTextContainer(container) |
So... this is obviously totally, 100%, like for. real. not. supported. by. Apple. …yet?
But still... I thought it was pretty badass. And, seeing how there's already a Swift buildpack for Heroku you could move some slow code into Swift can call it as a library function. But, you know, not in production or anything. That would be silly, right?
Now, having said that, the actual Python/Swift interop may have bugs. I'll leave that as an exercise to the reader.
Build a Manic Time alternative.
The application would be in two parts:
| #!/usr/bin/env xcrun swift -O | |
| /* | |
| gen.swift is a direct port of cfdrake's helloevolve.py from Python 2.7 to Swift 3 | |
| -------------------- https://gist.github.com/cfdrake/973505 --------------------- | |
| gen.swift implements a genetic algorithm that starts with a base | |
| population of randomly generated strings, iterates over a certain number of | |
| generations while implementing 'natural selection', and prints out the most fit | |
| string. | |
| The parameters of the simulation can be changed by modifying one of the many |
| enum JSON: Decodable { | |
| case bool(Bool) | |
| case double(Double) | |
| case string(String) | |
| indirect case array([JSON]) | |
| indirect case dictionary([String: JSON]) | |
| init(from decoder: Decoder) throws { | |
| if let container = try? decoder.container(keyedBy: JSONCodingKeys.self) { | |
| self = JSON(from: container) |
| enum JSON: Decodable { | |
| case bool(Bool) | |
| case double(Double) | |
| case string(String) | |
| indirect case array([JSON]) | |
| indirect case dictionary([String: JSON]) | |
| init(from decoder: Decoder) throws { | |
| if let container = try? decoder.container(keyedBy: JSONCodingKeys.self) { | |
| self = JSON(from: container) |
| --- PSQL queries which also duplicated from https://github.com/anvk/AwesomePSQLList/blob/master/README.md | |
| --- some of them taken from https://www.slideshare.net/alexeylesovsky/deep-dive-into-postgresql-statistics-54594192 | |
| -- I'm not an expert in PSQL. Just a developer who is trying to accumulate useful stat queries which could potentially explain problems in your Postgres DB. | |
| ------------ | |
| -- Basics -- | |
| ------------ | |
| -- Get indexes of tables |
| enum JSONValue: Codable, Equatable { | |
| struct JSONValueDecodingError: Error { | |
| let message: String | |
| } | |
| case boolean(Bool) | |
| case number(Double) | |
| case string(String) | |
| case array([JSONValue?]) | |
| case object([String: JSONValue?]) |