For Gentoo Linux:
emerge bind
After 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 |