profile
viewpoint
Max Howell mxcl @candor Savannah, GA https://mxcl.dev Creator of Homebrew. Open source all day every day.

mxcl/Path.swift 807

Delightful, robust, cross-platform and chainable file-pathing functions.

mxcl/Cake 550

A delicious, quality‑of‑life supplement for your app‑development toolbox.

mxcl/OMGHTTPURLRQ 339

Vital extensions to NSURLRequest that Apple left out for some reason.

mxcl/AppUpdater 202

Automatically update open source macOS apps from GitHub releases.

mxcl/Chalk 183

Terminal colors using Swift 5’s string interpolation extensions.

iainsmith/swift-docker 175

Build & test your swift packages using docker - `swift docker test`

mxcl/LegibleError 147

Beating `Error.localizedDescription` at its own game.

mxcl/Audioscrobbler.app 137

Minimal, robust iTunes scrobbling

mxcl/MBWebSocketServer 64

An objc draft 10 websocket implementation

mxcl/ChuzzleKit 49

A chuzzled object is nil if it is falsy, otherwise it has its falsy parts removed.

pull request commentmxcl/PromiseKit

Fixed NSError().isCancelled

I’m afraid you are wrong, ("SKErrorDomain", 2) == pair) is not a dependency, it's a string. By linking to StoreKit you are creating the dependency.

RomanPodymov

comment created time in 8 hours

issue closedmxcl/swift-sh

`swift sh edit script.swift` generates xcodeproj file incompatible with Xcode 11.6.

When trying to edit a script using swift sh edit script.swift an error dialog pops up in Xcode 11.6 (the latest stable version as of this writing) that says the project can't be opened because it was created using a "future version" of Xcode. The project at Opening the project in Xcode 12 beta 6, and resetting the Xcode project compatibility version to '11.4' fixes the issue, however the initial value shown is Xcode version '9.3' so this seemingly should be compatible without needing to adjust the setting in Xcode 12.

swift-sh version: 2.0.1 macOS: 10.15.6 Xcode: 11.6

closed time in a day

toastersocks

issue commentmxcl/PromiseKit

Guarantee done not working in sometimes

If done is not called the Guarantee is not resolved, re-visit your “sealing” logic.

CodingPub

comment created time in a day

created tagPromiseKit/PMKHealthKit

tag1.0.2

created time in 2 days

release PromiseKit/PMKHealthKit

1.0.2

released time in 2 days

push eventPromiseKit/PMKHealthKit

bellebethcooper

commit sha f625f91fd2be71f23dede94c151447743ec6d63b

Create Package.swift

view details

Max Howell

commit sha 7405e539dc3291156a355dbae88fe609d8ac8e1d

Merge pull request #6 from bellebethcooper/master Create Package.swift

view details

push time in 2 days

push eventmxcl/homebrew-made

Travis

commit sha f2449e63557a7790070ba6fcf5b85b12e524fe99

swift-sh 2.1.0

view details

push time in 2 days

issue commentmxcl/swift-sh

`swift sh edit script.swift` generates xcodeproj file incompatible with Xcode 11.6.

Supposedly fixed in 2.1.0, please confirm.

toastersocks

comment created time in 2 days

issue commentmxcl/swift-sh

Autocompletion when editing script in Xcode doesn't work

Supposedly fixed in 2.1.0, please confirm.

lukaskubanek

comment created time in 2 days

created tagmxcl/swift-sh

tag2.1.0

Easily script with third-party Swift dependencies.

created time in 2 days

release mxcl/swift-sh

2.1.0

released time in 2 days

push eventmxcl/swift-sh

Jared Sorge

commit sha af9fcb762d7ec64b60d7bba7d74b0a9c36f95388

Build setting to enable auto-complete in a script while editing

view details

Jared Sorge

commit sha 882438ec3f0c04ab12cbea723eaca0055ade3015

Explicitly set the object version for Xcodes < v12 to open a project file

view details

Jared Sorge

commit sha 44a5b31abdf57baaffc74d82614b41dc03450f34

CI Kick

view details

Max Howell

commit sha 57b310287651697cc0f23bce708ed374f9df94e8

Merge pull request #128 from jsorge/fix-edit-command Fixes for the Edit Command

view details

push time in 2 days

PR merged mxcl/swift-sh

Fixes for the Edit Command

This addresses issues #87 and #126.

Setting the explicit object version seems kind of gross but does protect against a dependency setting a version that is still pre-release.

+6 -1

0 comment

1 changed file

jsorge

pr closed time in 2 days

pull request commentmxcl/PromiseKit

Fixed NSError().isCancelled

This makes PromiseKit depend on StoreKit, you did it correctly though, I guess it’s fine? Since it is a system library that is either there or not. It means all PromiseKit consumers will now trigger the loading of this library dynamically which increases memory usage and load time for all consumers of our library.

I dunno.

RomanPodymov

comment created time in 2 days

issue commentmxcl/PromiseKit

Type Mismatch: Signed to Unsigned

https://github.com/mxcl/PromiseKit/blob/f035696eb44587be4fbd7ffaa5c7ed96491d7f3b/Sources/PMKCallVariadicBlock.m#L43

I think Fortify is wrong. The function return type is id and this is some voodoo ObjC / C stuff here. id can basically be any type.

MatthewWakefield-PCC

comment created time in 8 days

pull request commentPromiseKit/PMKAlamofire

Fixes for Swift 5.3, Alamofire 5.2.2 - SPM + Carthage

Sorry, but as mentioned in #44, #45, #43 and some closed tickets, we cannot update Alamofire without breaking API compatibility.

Although at this point I'm starting to think: fuck it.

v7 will drop bundling the extensions with the main “pod” thus allowing them to be versioned separately.

rursache

comment created time in 10 days

PR opened mxcl/swift-sh

Xcode 12 beta 6 fixes
+6 -6

0 comment

1 changed file

pr created time in 20 days

push eventmxcl/swift-sh

Max Howell

commit sha 4e3b4a4716cf6bd3916625099e0bf3ca7e55b494

[deps] bump

view details

push time in 20 days

create barnchmxcl/swift-sh

branch : xcode-12-beta6

created branch time in 20 days

PR closed mxcl/PromiseKit

Add module stability by enabling library evolution support

Enabled the BUILD_LIBRARY_FOR_DISTRIBUTION flag introduced in Xcode 11 for supporting framework distribution for creating the XCFramework.

+2 -0

13 comments

1 changed file

yo2bh

pr closed time in 21 days

push eventcandor/sublimate

Max Howell

commit sha d24f4f27f1e1e77184485c28395e282e31eef4b6

100% coverage thanks

view details

push time in 23 days

push eventmxcl/PromiseKit

Travis

commit sha 273a97e030a3ee48012880cc7daf17ed5d41d38f

Updated docs for v6.13.3

view details

push time in 24 days

issue commentmxcl/PromiseKit

EmptyBox.seal crash

At this point one of you people needs to step up, report the bug, give the Swift team a test case and see what they say, there is no point in waiting on me, I have too much to do I am afraid and haven’t seen this bug personally.

stachon

comment created time in 24 days

issue commentmxcl/PromiseKit

EmptyBox.seal crash

I just re-examined the code in question and genuinely cannot see a valid concurrency issue that would indicate this is PromiseKit’s fault. The data structures are all manipulated atomically, even for forseeable “then called while promise is being sealed scenarios”.

stachon

comment created time in 24 days

pull request commentPromiseKit/StoreKit

In iOS14 comparing payment fails for successful purchase.

Hmm, CI didn’t run. Pretty sure this is a safe change though.

pkordal

comment created time in 24 days

created tagmxcl/PromiseKit

tag6.13.3

Promises for Swift & ObjC.

created time in 24 days

push eventmxcl/PromiseKit

Max Howell

commit sha aea48ea1855f5d82e2dffa6027afce3aab8f3dd7

Update PMKStoreKit to 3.1.4

view details

push time in 24 days

created tagPromiseKit/StoreKit

tag3.1.4

Promises for Swift & ObjC

created time in 24 days

release PromiseKit/StoreKit

3.1.4

released time in 24 days

push eventPromiseKit/StoreKit

Paweł Kordal

commit sha 4d00dd02700366b5011ba76177426de212e9adf5

In iOS14 comparing payment itself fails as object of payment is not always the same. In case of success for purchasing product, transaction is SKMutablePayment which is not equal to SKPayment.

view details

Max Howell

commit sha e26f6a55921ea671855093754686991b08ef97cc

Merge pull request #14 from pkordal/bugfix/iOS14AndProductIdentifier In iOS14 comparing payment fails for successful purchase.

view details

push time in 24 days

PR merged PromiseKit/StoreKit

In iOS14 comparing payment fails for successful purchase.

In case of success for purchasing product (case .purchased), transaction's payment is SKMutablePayment which is not equal to SKPayment when compared.

+1 -1

1 comment

1 changed file

pkordal

pr closed time in 24 days

PullRequestReviewEvent

push eventmxcl/Path.swift

Max Howell

commit sha 891d70ec7cb448829acb8a2d73970b088fd9e5a7

Specify Swift 5.1 syntax for targets

view details

push time in 25 days

issue commentmxcl/Path.swift

How I can properly add Path to swift manifest file

.product(name: "Path", package: "Path.swift")
vkuznet

comment created time in 25 days

issue commentmxcl/PromiseKit

Use of undeclared type 'AnyPromise' with SPM

Sorry, your bug report is confusing and I do not know how to help.

VuduiOSDev

comment created time in 25 days

issue closedmxcl/Path.swift

How I can properly add Path to swift manifest file

Hi, I tried to add Path to dependencies of Package.swift file and I'm getting this error if I list "Path" as target.dependecies["Path"].

Updating https://github.com/mxcl/Path.swift
Resolving https://github.com/mxcl/Path.swift at 1.2.0
'MyCode' /Users/vk/Work/Languages/Swift/MyCode: error: dependency 'Path' in target 'SwiftMLExample' requires explicit declaration; reference the package in the target dependency with '.product(name: "Path", package: "Path.swift")'

If I list it as

.target(dependencies[.product(name: "Path", package: "Path")])

I get this error: unknown package 'Path' in dependencies of target.

Can someone show example of Package.swift file where Path is included in dependencies? I'm new to swift. Thanks, Valentin.

closed time in 25 days

vkuznet

issue commentmxcl/Path.swift

How I can properly add Path to swift manifest file

.target(dependencies[.product(name: "Path", package: "Path")])

Is not valid Swift, nor is it the correct syntax, I suggest letting Xcode do the completion for you.

.target(name: "Foo:", dependencies: [.product(name: "Path", package: "Path")])
vkuznet

comment created time in 25 days

startedapple/swift-syntax

started time in a month

issue commentmxcl/swift-sh

Xcode 12 beta 6 error message

I just ran all the tests with Xcode 12b6 and did not see this error. How are you seeing this?

Prince2k3

comment created time in a month

issue commentvapor/vapor

Vapor hijacks command line argument parsing

This isn't the ticket for discussing this (I apologize) but I'd prefer Vapor provide a way to parse a configuration out of CommandLine.arguments which can then be the default behavior when constructing the Application. eg. something like:

let app = Application(config: .extract(from: CommandLine.arguments)))
// ^^ this would be the parameter default at the declaration site

I dislike the “magic” Vapor does here—it makes me feel both anxious and out of control. Also it seems to throw a wrench into having my own custom arguments.

MaxDesiatov

comment created time in a month

Pull request review commenttuist/XcodeProj

Faster path operations

 let package = Package(     ],     dependencies: [         .package(url: "https://github.com/tadija/AEXML", .upToNextMinor(from: "4.4.0")),-        .package(url: "https://github.com/kylef/PathKit", .upToNextMinor(from: "1.0.0")),+        .package(url: "https://github.com/michaeleisel/PathKit", .branch("master")),

I'm sure the speed isn’t as good as your fork. Though I would want benchmarks on how the pathing library impacts the speed of this project in use personally. Ultimately I am not involved enough in this project to deserve a say on this PR.

michaeleisel

comment created time in a month

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commenttuist/XcodeProj

Faster path operations

 let package = Package(     ],     dependencies: [         .package(url: "https://github.com/tadija/AEXML", .upToNextMinor(from: "4.4.0")),-        .package(url: "https://github.com/kylef/PathKit", .upToNextMinor(from: "1.0.0")),+        .package(url: "https://github.com/michaeleisel/PathKit", .branch("master")),

This will indeed cause conflicts, if this is to happen the fork needs a separate module name.

As an aside, since PathKit is not maintained (and is rubbish IMO) may I suggest my pathing library? It's better.

michaeleisel

comment created time in a month

issue openedtechnote-space/auto-cancel-redundant-job

`##[error]File not found: '/home/runner/work/_actions/technote-space/auto-cancel-redundant-job/gh-actions/lib/main.js'`

Describe the bug: バグの概要

Running the action for the latest version (1.4.3) results in the error:

##[error]File not found: '/home/runner/work/_actions/technote-space/auto-cancel-redundant-job/gh-actions/lib/main.js'

Operating environment: バグが発生した環境

ubuntu_latest activated for pull-request flows.

Additional context: 補足

Dependabot submitted a PR for us to update from @v1 to @v1.4.3 and we get this error, I notice that the CI for this project has the same error.

created time in a month

push eventcandor/sublimate

Max Howell

commit sha d2dc1ee74e5275057ed04ec16d4ddd6b2958ccc6

Missing coverage

view details

push time in a month

push eventcandor/sublimate

Max Howell

commit sha bb9582879ad50392a044e2d821e27ae3a369844b

Missing coverage

view details

push time in a month

push eventcandor/sublimate

Max Howell

commit sha e858d975aef68a3a2f6169a3cbb9cd6d17196b94

Missing coverage

view details

push time in a month

delete branch candor/sublimate

delete branch : decodingAllModel

delete time in a month

delete branch mxcl/setup-xcode

delete branch : patch-1

delete time in a month

GollumEvent

created tagcandor/sublimate

tag1.9.0

A DX improvement layer for Vapor 4

created time in a month

push eventcandor/sublimate

Max Howell

commit sha 8668b52aa497591ca9863d0f19df684e1b107318

[deps] bump

view details

Max Howell

commit sha 1bd59138e55e0cddb0353dd4c2503a7b0025f3a5

Add missing `application`

view details

push time in a month

GollumEvent

created tagcandor/sublimate

tag1.8.0

A DX improvement layer for Vapor 4

created time in a month

push eventcandor/sublimate

Max Howell

commit sha 3ea9ade4a0c996296f2346fec100b4680b7050d9

Add missing `logger`

view details

push time in a month

push eventmxcl/Path.swift

Deployment Bot (from Travis CI)

commit sha 3fcf38fb837caf306240078bc2fa1523309fa3c7

Deploy mxcl/Path.swift to github.com/mxcl/Path.swift.git:gh-pages

view details

push time in a month

delete tag mxcl/Path.swift

delete tag : deploy-1.2.0

delete time in a month

release mxcl/Path.swift

1.2.0

released time in a month

created tagmxcl/Path.swift

tag1.2.0

Delightful, robust, cross-platform and chainable file-pathing functions.

created time in a month

created tagmxcl/Path.swift

tagdeploy-1.2.0

Delightful, robust, cross-platform and chainable file-pathing functions.

created time in a month

delete branch mxcl/Path.swift

delete branch : deploy-1.2.0

delete time in a month

issue commentvapor/fluent-kit

Partial models

I wonder about the ergonomics of the property being a Future<Model> instead. With async/await on the way with Swift 6 (hopefully) it would be quite elegant in use. The model could still be eager loaded as well, you just care less about it in practice. And no more fatals.

Making the developer have to declare partial models seems acceptable also, but less pleasant in use overall.

Though admittedly we only use Sublimate so futures don’t irk us in an ergonomics sense.

tanner0101

comment created time in a month

push eventcandor/sublimate

Max Howell

commit sha affe05d4fab3b787d3f562e17b2ccf3b251cd3ff

Update README.md

view details

push time in a month

create barnchmxcl/Path.swift

branch : deploy-1.2.0

created branch time in a month

push eventmxcl/Path.swift

Max Howell

commit sha 6461a550c639aa264747b6054e878eaa7887e06e

Add `Path.source()`

view details

Max Howell

commit sha 142d4bc1118602f3679c777d2e0da89c227cd918

Merge pull request #64 from mxcl/Path.source() Add `Path.source()`

view details

push time in a month

PR merged mxcl/Path.swift

Add `Path.source()`
+72 -23

0 comment

5 changed files

mxcl

pr closed time in a month

PR opened maxim-lobanov/setup-xcode

Clarify `latest`
+2 -0

0 comment

1 changed file

pr created time in a month

push eventmxcl/setup-xcode

Max Howell

commit sha a8dacfbcc1557ecc580c842d53b4b74225df1b10

Clarify `latest`

view details

push time in a month

fork mxcl/setup-xcode

Set up your GitHub Actions workflow with a specific version of Xcode

fork in a month

issue commentmaxim-lobanov/setup-xcode

README isn’t clear on definition of latest

Yeah no need for a default setting, I just wanted clarification, since latest often means “latest stable release”.

Having latest-stable would be useful, but I understand that is a maintenance burden for you.

mxcl

comment created time in a month

push eventmxcl/Path.swift

Max Howell

commit sha 6461a550c639aa264747b6054e878eaa7887e06e

Add `Path.source()`

view details

push time in a month

push eventmxcl/Path.swift

Max Howell

commit sha cf7a8ab4be1082e753a5e700b0db74c75f9a3973

Add `Path.source()`

view details

push time in a month

push eventmxcl/Path.swift

Max Howell

commit sha 4762f53f2bf616ba6adc21a8c6a72063600f4e5f

Add `Path.source()`

view details

push time in a month

push eventmxcl/Path.swift

Max Howell

commit sha 588445f623c8ba022ea4e1688d51aca0a38d5833

Add `Path.source()`

view details

push time in a month

push eventmxcl/Path.swift

Max Howell

commit sha e48535c7a7513c3789604b14f979cf1245f2d121

Add `Path.source()`

view details

push time in a month

issue openedmaxim-lobanov/setup-xcode

README isn’t clear on definition of latest

Is the latest version the GitHub Actions default, or is it (eg. right now) Xcode 12 beta?

created time in a month

PR opened mxcl/Path.swift

Add `Path.source()`
+53 -10

0 comment

4 changed files

pr created time in a month

create barnchmxcl/Path.swift

branch : Path.source()

created branch time in a month

push eventcandor/sublimate

Max Howell

commit sha 048bfd9112c9d3b8a528e6d41fc218d41e4b7010

[ci] Publish releases

view details

push time in a month

GollumEvent

release candor/sublimate

1.7.0

released time in a month

push eventcandor/sublimate

Max Howell

commit sha 4fd264f38c32c5d015bc094c8893d82bf0e481e3

Add more `first(with:)` options

view details

push time in a month

created tagcandor/sublimate

tag1.7.0

A DX improvement layer for Vapor 4

created time in a month

push eventcandor/sublimate

Max Howell

commit sha 20b7e95a31c1b298dc1da7e6289239bb95b9f2d9

Add missing `first(or:)`

view details

Max Howell

commit sha 06f7cea3ce71e7bc9f066bf96cf1e2a5eede20c3

Add more `first(with:)` options

view details

push time in a month

delete branch candor/sublimate

delete branch : add-query

delete time in a month

push eventcandor/sublimate

Max Howell

commit sha 8176a8631b78b2d60d06b0a8b88cde5cff43d854

Add `rq.query`

view details

Max Howell

commit sha 0dba8a3cc9921146a01bfaff0132f6cea51ad969

Merge pull request #11 from candor/add-query add query

view details

push time in a month

PR merged candor/sublimate

add query

Add rq.query

+4 -0

1 comment

2 changed files

mxcl

pr closed time in a month

push eventcandor/sublimate

Max Howell

commit sha 46461c04c144dbc4ccaef5c56f4a25460decd962

Merge pull request #10 from candor/decodingAllModel These were added in FluentKit 1.7.0

view details

Max Howell

commit sha 8176a8631b78b2d60d06b0a8b88cde5cff43d854

Add `rq.query`

view details

push time in a month

PR opened candor/sublimate

add query
  • These were added in FluentKit 1.7.0
  • Validate tests better
  • Add rq.query
+4 -0

0 comment

2 changed files

pr created time in a month

create barnchcandor/sublimate

branch : add-query

created branch time in a month

GollumEvent

created tagcandor/sublimate

tag1.6.0

A DX improvement layer for Vapor 4

created time in a month

release candor/sublimate

1.6.0

released time in a month

push eventcandor/sublimate

Max Howell

commit sha 61ee5fc8bacaa35fcc90b53a5290f4a5cbfde61a

These were added in FluentKit 1.7.0

view details

Max Howell

commit sha e6e7efdbd4ff4050608709718341c8beb88e5db0

Validate tests better

view details

Max Howell

commit sha 46461c04c144dbc4ccaef5c56f4a25460decd962

Merge pull request #10 from candor/decodingAllModel These were added in FluentKit 1.7.0

view details

push time in a month

PR merged candor/sublimate

These were added in FluentKit 1.7.0
+50 -5

1 comment

3 changed files

mxcl

pr closed time in a month

push eventcandor/sublimate

Max Howell

commit sha e6e7efdbd4ff4050608709718341c8beb88e5db0

Validate tests better

view details

push time in a month

PR opened candor/sublimate

These were added in FluentKit 1.7.0
+46 -1

0 comment

3 changed files

pr created time in a month

create barnchcandor/sublimate

branch : decodingAllModel

created branch time in a month

more