What goes up must come down.
After 5 long months of using Setapp for my Mac app needs, they’ve decided to creep to iOS. To use an app in iOS, you’d have to register your iOS device as an “extra seat.” What used to work on iOS “for free” — such as Ulysses — will stop working unless you register your iOS device. So that’s $15 for my Mac, iPhone XS, and iPad Pro.
This new pricing model also made me give a hard look at what I’ve been getting out of Setapp:
This is also a good reflection of the lineup of Setapp’s offerings: there are a few very good niche apps you’d be willing to pay big bucks for; then there are the rest: small, “clever” tools that only shines with their fully skinned user interface.
I’m done 🙂️
Fuck their dickbars. Fuck their randomized CSS names. Fuck their putting things behind a paywall, and claiming that membership “is an optional subscription that is not required in order to read and write.” And most of all, fuck them for suggesting that you can continue to read an article after signing up for an account, only to make you find out that you will need to pay for this anyway. Fuck their model for measuring writers’ earning based on the time of readers spend reading.
And fuck the writers who just assume they can someday make big money from writing a “Publication” on Medium. Fuck the “writers” who create shit content, and fuck those who have decent materials but rather let them rot in the puddle of shit copy-and-paste or meme-infused content from other “writers.”
A few days ago, MX finally had his film rolls developed (at Kerrisdale Cameras), and we took a Saturday trip to Chen’s to have the negatives scanned.
What makes analogue photographs special — as I’ve come to realize — is how little they attach to a specific context. Context is long gone by the time the entire roll of film gets developed. Instead of “we took a hike up Crown Mountain and here are some photos,” analogue photos feel like “here’s a picture of me with the smile of triumph and fatigue.”
The special colour profile from the chemicals are quite secondary compared to that.
While IKEA is a treasure trove, I never managed to find a good storage solution for my kitchen sink — for the sponge, towel, dish soap, and the brush.
That was until I came across Joseph Joseph at a friend’s house. I ended up buying this sink caddy to put away the sponge and tower, and saved some previous countertop space. Another option for you may be the countertop caddy.
Joseph Joseph specialises in home living products in the kitchen and in the bathroom. Their well-thought-out products are meticulously designed, and are much less generic than the best offers from IKEA.
July 9th — We hit every green light during our time in Banff, and took Johnston Canyon off the list because of its closure. For the extra day, we drove back to B.C. and into Yoho National Park for the day.
July 10th — Stanley Glacier is a hiking trail in Kootenay National Park in B.C., just half an hour drive from Banff.
The beginning of the trail was very quiet — so quiet that we clapped our hands and chatted loudly to make sure not to make wildlife encounters. But soon there are people getting down, and we run into more groups along the trail.
It’s been a while since we were last on the Grouse: a time when the pandemic had yet to hit and the mountain was still fully covered in snow.
Then four and half months later, it’s July. Grouse gondola reopened after months of closure. As planned, we got up Grouse Mountain via the gondola, and started off the hike at around 11:30 am from the Chalet.
The first 1/3 of the trail was effortless and steady ascent along Alpine Trail. We kept a cadence of about 20 min per kilometre for the first half (2.7 km), up to the fork that leads to Goat Mountain. From there began the next 1/3 — sharp drop along the ridge into Crown Pass.
I didn’t end up paying for Hey.com after the free trial, but there are some of its features and philosophies that resonate with how I want my emails to look like. I’ll leave the reason why I didn’t pay for Hey in this footnote1, and will dedicate the rest of the post to share how I replicated Hey’s Focus & Reply feature with my Gmail account and Spark Email app.
What is this Focus & Reply feature anyway? For those of you who haven’t tried out Hey, Focus & Reply allows you to mark a number of emails to “reply later.” These emails will be removed from inbox to a pile named “Focus & Reply.” When you have a chunk of time to focus, you go into the pile, and tackle the email one by one. With each reply sent, the email is removed from the pile. It’s a great way to make sure you attend to emails that takes small efforts individually, but are mentally tolling as a collective.
So to sum, the features I’m replicating are:
I didn’t pay for Hey mostly because it’s a walled garden of its own — it doesn’t work with what’s out there: rule-based forwarding (I use it to automatically add package tracking numbers to Parcel App); other email clients that allow multiple email account to be managed together; my own email account, whether with gmail.com domain or this site’s tengl.net domain; and other server-side email add-ons such as Sanebox. I’m at Day 2 with Sanebox’s free trial and I’ll see how that goes. ↩
While developing a universal app with the updated SwiftUI framework, I found that
@Published decorators do not function as intended in objects inheriting from
What’s exactly the expected behaviour anyway? We know that —
ObservableObjectprotocol can have variables marked with
@Published. SwiftUI views that depends on an observable object instance will update when a published variable receives a new value.
Icefields Parkway is the 268km highway that connects Banff and Jasper National Parks. This shot was taken at the lookout about 40km north of Saskatchewan River Crossing on the Parkway.
Speaking of the falls, here’s Jasper’s famous Athabasca Falls —
… was the first actual hike we took for the trip. 2.5 hours and 6 kilometres long, the trail is exactly what it says it is in the name: it’s a valley, and there are five lakes. The lakes have different depths and display their own distinct hue of turquoise.
The hike was light and easy — no challenging terrains, lots of flats. After a short grind up the valley, there was a sight at every turn. Here’s Third Lake, unfiltered and untouched from my iPhone XS —
The hike was short enough that we managed to fit it in before the long drive down Icefields Parkway to Banff. It felt like the dessert of a five course meal: not as magnificent as Maligne Lake and Canyon or the falls, but something quite interesting to remember.
Parks Canada has placed Red Chairs around national parks and these are one of the many sets.
Maligne Lake was quiet for 6pm in the summer — too quiet. The sun would not set for another four hours; it was still high up, only softened by the clouds. There were patches of brown and crimson among the trees. Dead as they were, the trees made up for the warmth in the scene, balancing out the Red Chairs.
Maligne Lake was our second last stop in Jasper. We hadn’t hiked much; our legs weren’t sore yet. This was as close to vacation vibe as this trip would ever get. It’d be all adventure from here.
出来这两天好几个朋友问着类似的问题——国内的问 “这还敢出来玩？” 在 BC 省的问 “现在还敢去 Alberta？” 出来玩总要有游记，我琢磨了一下不如把疫情对出游的影响集中写在这里，省的之后东一榔头西一棒子写的也不完整。
虽然数据摆在每个人面前都是一样的，但是理解和接受程度见仁见智。现在 BC 省的每日新增病例大概是个位数，可能偶尔能碰到十几二十；Alberta 是一天四十五十。你可以说 Alberta 疫情比 BC 严重四五倍，也可以理解为两个省都得到了有效控制，新增病例数量级相同。
疫情期间出来玩，人少是肯定的。美加边境关得很严实，就算一周有 20 万人次从美国入境加拿大，这也是往年人流量的 10% 不到，况且绝大部分过境的人都是工作目的（最常见的就是货运司机），并非出门旅游。
When a business owner approaches me to set up a new ETL pipeline for their emerging dataset, I always ask one question: “What’s the unique identifier of this dataset?” This question gets paraphrased according to the business owner’s knowledge and understanding on data and database, and often times I help them identify a candidate (either a single-column primary key, or a multi-column composite key).
What I don’t do is I never take no for an answer.
The statement that “This dataset has no unique identifier” invites trouble1 — ETL pipelines exist to bring order into the chaotic data from various sources. If they are adamant about the data being without a unique identifier, follow up with a few more questions:
Chances are you will find that they have absolutely no clue themselves. Kindly ask them to come back later.
It was showering last Saturday. We went to pick up some camera and outdoor gears near Cambie and Broadway, and went for some brunch.
We strolled from the Henry’s Camera from Cambie St to the MEC on Main. A stroll along the seawall in Olympic Village turned out to be quite pleasant, and there were photos —
If you’ve been following along WWDC, it’s hard to miss the heated debate between HEY.com and Apple. I’ve known about HEY’s product plans early because I’ve been a longtime subscriber of Signal v Noise, the office productivity blog from the team behind HEY and Basecamp.
I’ve taken HEY for a spin and I’m now at my Day 6 on the 14-day trial. I’ve got to say the feelings are mixed — they nailed a lot of pain points of email, and have really reimagined a few things that no other teams dared to. But the product is still lacking in some aspects, and it’s ultimately still about email — the internet’s most unsexy offering that we are stuck with.
This asynchronous event footage could have been dry and could have been another WWDC keynote sans the audience. But thankfully it wasn’t. The camera movement, the lighting, the transitioning and virtual interactions between speakers all played out well. It made the video fun (fun enough) to watch and follow along.
Craig Federighi’s eye brows also helped a lot on the fun-ness. No crack jokes this year, though.
I wonder where Phil Schiller is. And Eddy Cue.
Apple’s kind enough to include a “pee break” session where it talked about privacy. Don’t get me wrong — privacy is an utterly important issue, but the session tells me nothing on what’s new for me to experience; rather, it says you get that automatically.
This pee break was quite literal for me. And it was a good pause from the non-stop information influx of any WWDC keynote. Except that in previous years, the information was spaced out by applause, cheering, people actually walking on and off stage, speakers saying thank you, and much slower pace of a live speech.