For Gentoo Linux:
emerge bindAfter compiling the 4.19.66-gentoo kernel, udev renamed the network interfaces of my home linux Router / Firewall and my iptables setup stopped working due ip-conntrack kernel deprecations. I decided to move over to nftables, the new packet classification framework that replaces the existing {ip,ip6,arp,eb} tables infrastructure.
Even though nftables has been in the Linux kernel since 2014, the documentation is extremely sparse. As such this gist :)
Subjectively, using nftables setting up connections to my machine seems to be more responsive compared to using iptables. Connections seem to be made more quickly and ssh-ing into my machine seems more responsive. There always used to be a bit of a lag when I was using iptables, not anymore.
| @UIApplicationMain | |
| class AppDelegate: UIResponder, UIApplicationDelegate { | |
| ... | |
| func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { | |
| // Override point for customization after application launch. | |
| ... | |
| // Disable the NSLayoutConstraint warnings thast are cluttering |
Observing video playback inside a black-boxed WKWebView is difficult as you don't have direct
access to the video player.
Another complicating matter is that depending on the video, the video might be played using a HTML5
video player, while others might launch the native AVPlayerViewController for playback. While it might
be possible to detect HTML5 based playback by injecting custom JavaScript using a WKUserContentController, this is not the approach we will follow in the document as these depend on what HTML5 Video Player is involved and is, as such, not a generic solution.
| import Foundation | |
| import os.log | |
| NotificationCenter.default.addObserver(forName: nil, object: nil, queue: nil) { (notification) in | |
| os_log("Received notification: %@", log: .default, type: .debug, notification.name.rawValue) | |
| } |
| disabled_rules: # rule identifiers to exclude from running | |
| - anyobject_protocol | |
| - array_init | |
| - attributes | |
| - block_based_kvo | |
| - class_delegate_protocol | |
| - closing_brace | |
| - closure_body_length | |
| - closure_end_indentation | |
| - closure_parameter_position |
Worth a read for some more context.
Create the file in the root of the project (where your Package.swift file lives as well), and use the following contents:
/// Package.xcconfig| // | |
| // UXColor+Hex.swift | |
| // | |
| // Created by Jeroen Wesbeek on 15/06/2018. | |
| // Copyright © 2018 Jeroen Wesbeek. All rights reserved. | |
| // | |
| import Foundation | |
| #if os(iOS) || os(tvOS) || os(watchOS) |
Package.swift:
// swift-tools-version:4.0
import PackageDescription
let package = Package(
name: "SlackBot",
dependencies: [
// 💧 A server-side Swift web framework.| #!/usr/bin/env bash | |
| #source: https://9to5mac.com/2017/10/17/how-to-erase-macbook-pro-touch-bar-before-selling/ | |
| xartutil --erase-all |