Thoughts on Per

I haven’t posted here in a little while, thus breaking the streak that I was intending to maintain. I don’t feel too bad about this, because I’ve been working on other stuff in the meanwhile, but it’s nice to be writing again. Specifically, in light of the coming App Store purge, I’ve been working on a big update to Per. While I’m not especially concerned that Per, in its current form, is at risk of being culled, it has been a long time since it was updated.

Read more →

iPhone Unplugged

It’s widely expected that the next iPhone will be announced tomorrow during the scheduled Apple Event. For months now, the rumour mill has been telling us that the most controversial change Apply is making to its flagship product is the removal of the headphone jack. At this point, it seems like a certainty. The headphone jack in its current form has existed for decades, but Apple is notorious for advancing physical I/O past its status quo: witness the current MacBook with its single USB-C port, and recall the Lightning and 30-pin connectors on iOS devices, the adoption of Thunderbolt on current Macs, the even introduction of USB on the original iMac.

Read more →

Split iPhone

I noticed this earlier in the year, but my iPhone is coming apart at the seams near the volume buttons. At first, I figured I’d managed to bend the phone, but upon closer inspection, both the back of the case and the screen are bulging outward—which is not the failure mode you’d expect for a bent phone. The gap at the seam is nearly 2mm, such that light from the screen leaks, but it’s nowhere near as bad as I’ve seen doing an image search.

Read more →

Light writing

Literally writing with light, or photography, as it’s more commonly known. I used to think that I loved photography. I think I still do, I just… never really do it anymore. At one point I had a whole mess of expensive camera gear, with the fancy full-frame digital SLR and red-ring’d lenses. And the fast primes—oh, I loved those. Studio strobes? Yup. Speedlights? Several. Fifty pounds of camera gear that stayed home because, I convinced myself, I couldn’t be arsed to carry fifty pounds of camera gear around with me.

Read more →

Swift, UnitTemperature, And Humidex

Last week, I wrote about weather apps that use the Dark Sky forecast API for weather data lacking the Canadian humidex. Those that do tend to be riddled with ads and all kinds of content that, well, I don’t care about. And naturally, I started thinking about how I use weather apps. All I really want from my is a couple of things: Current conditions, including humidex/ windchill values; Forecast conditions with highs and lows for today and tomorrow, again including humidex and windchill; Probability of precipitation for the next hour, with alerts of impending rain.

Read more →

How about that heat?

In other news, Iā€™m totally ready for this sweltering summer to be over. — Angelo Stavrow (@AngeloStavrow) August 4, 2016 I don’t deal well with heat brought on by humidity. Which makes a Montreal summer pretty tough to deal with. Temperatures will routinely go over 30°C, but when combined with high humidity, it’ll feel even hotter. Like, three-showers-a-day-ain’t-enough hot. Grimy, unpleasant, swampy hot. And most weather apps out there don’t get it.

Read more →

The Give-A-šŸ’© Manifesto

WHEREAS IT IS AGREED THAT There exist THINGS which one MUST DO; and There exist THINGS which one WOULD ENJOY DOING; and The above-listed THINGS may be MUTUALLY EXCLUSIVE; IT IS RESOLVED THAT Where a THING is ENJOYED and MUST BE DONE, one shall REVEL for one can easily give a šŸ’© about it; and Where a THING is ENJOYED but whose execution is NOT REQUIRED, one shall strive to MAKE THE TIME for it, for it is good to do things one gives a šŸ’© about; and Where a THING is NOT ENJOYABLE but MUST BE DONE, one shall give a šŸ’© about executing the THING with CARE AND ATTENTION; and Where a THING is NOT ENJOYABLE and is NOT REQUIRED, one shall strive to ELIMINATE IT from the list of things one invites into their lives, for one should strive to fill their lives with things one gives a šŸ’© about.

Read more →

Wallet-based business cards

Fun little morning project. šŸ“‡šŸ“² (Barcode is blurred because Iā€™m not quite done yet. šŸ™ƒ) pic.twitter.com/4eXh5NdTCP — Angelo Stavrow (@AngeloStavrow) May 14, 2016 A couple of months ago I played a little bit with PassKit and Wallet after finding this little tutorial on adding a business card to Passbook (now named Wallet). A Wallet pass is pretty easy to create—just fill some metadata into a JSON file, create a Pass Type ID certificate in your Apple Developer account, and then run a signing utility.

Read more →

Using XCTAssertThrowsError in your Swift tests

There’s a new kid on the XCTest block, and its name is XCTAssertThrowsError. I haven’t been able to find much on its usage aside from its original discussion on the swift-evolution mailing list and a Stack Overflow question, so here’s a little bit of a discussion on how I’m using it in a new project of mine. Swift introduced some pretty neat error handling in 2.0, and Natasha the Robot provided a nice guide on how to throw an error in your code.

Read more →

Posting to Hugo on GitLab Pages from iOS

In moving this blog to a static site generator, one concern was whether I’d still be able to work on and/or publish a post from my phone. I tend to do a fair bit of mobile drafting while I’m in the subway or waiting in line, and will sometimes publish content when I’m away from my computer. YOLO. Requirements It’s a given—since that’s how the site has been setup—that you need a GitLab.

Read more →

Angelo Stavrow

Montreal, Canada
Email me

Tinkerer with a strong interest for development, of both the personal and software persuasion; easily defeated with spatulas. Equal measures enthusiasm and concern for tech's effect on the world. He/him.