Skip to content

Instantly share code, notes, and snippets.

View mokagio's full-sized avatar
🛠️
Building stuff

Gio Lodi mokagio

🛠️
Building stuff
View GitHub Profile
@mokagio
mokagio / String+Random.swift
Created February 27, 2023 01:55
Two methods to create random strings in Swift
extension String {
enum RandomStringGenerationError: Error {
case secRandomCopyBytesFailed(status: Int32)
}
/// Returns a cryptographically secure string generated with characters from the given `Set<Character>` and with length
/// `length`.
///
/// - Complexity: O(n) where n is the given `length`.
// I find hard-wrapping better because it makes it easier to diff changes over
// long line **without** relying on the tool of choice supporting
// soft-wrapping. Change at the end of a "long" line
// Change at the end of a "long" line
-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequatypo.
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
// Change with 80 characters hard-wrap
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
@mokagio
mokagio / ExampleView.swift
Last active July 20, 2021 05:51
SwiftUI simple view body printout – Xcode 13 beta 2
import SwiftUI
struct ExampleView: View {
var body: some View {
VStack {
Text("Title").bold()
Text("Subtitle")
}
}
}
@mokagio
mokagio / Date+SyntaxSugar.swift
Created June 2, 2021 20:48
Swift Date with year, month, and day
extension Date {
static func with(calendar: Calendar = .current, year: Int, month: Int, day: Int) -> Date {
// Because the `calendar` value is non-nil, it's safe to force unwrap the `date` value
DateComponents(calendar: calendar, year: year, month: month, day: day).date!
}
}
@mokagio
mokagio / Fastfile
Created March 5, 2021 04:03
Fastlane, Ruby, constants, and functions
#
# Proper version
#
WRAP_EMOJI = "🌯"
lane :test do |options|
UI.message wrap_in_emoji("Hello, World!")
end
def wrap_in_emoji(string)
@mokagio
mokagio / repro-3708.sh
Last active June 11, 2020 05:30
Script to reproduce the behavior described in https://github.com/rubygems/rubygems/issues/3708
#!/bin/bash
# I run this only on macOS
set -ex
ISSUE=3708
ROOT_DIR=/tmp/repro-$ISSUE
rm -rf $ROOT_DIR
@mokagio
mokagio / md_footnotes.md
Last active August 4, 2020 21:00
Markdown Footnote
Lorem ipsum dolor sit amet, consectetur adipiscing elit[<sup id="footnote-id">1</sup>](#fn1).

### Footnotes
1. <span id="fn1"></span> [_consectetur adipiscing elit_](#footnote-id). Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Example

@mokagio
mokagio / tables.md
Last active August 31, 2023 00:14
How to do tables in GitHub flavoured Markdown

This:

heading 1 | heading 2 | heading 3
--- | --- | ---
abc | bcd | cde
def | efg | fgh

becomes this:

@mokagio
mokagio / Good.md
Created January 16, 2019 20:27
Companies doing Good Stuff
  • Neybox health tracking apps
  • Stile give teachers tools to teach better STEMs
  • Chargefox help locate charge stations for electric cars
Action Shortcut
Add a Cc ⇧⌘c
Mark as unread ⇧u
Undo z