hooksfordays

Joined 10 years ago

Karma
72
Submissions
27
Member since
Nov 23
My name's Joseph Roque

I'm an iOS Developer in Vancouver, Canada.

[GitHub] autoreleasefool [Twitter] autoreleasefool

View on Hacker News

Recent submissions

Comment · 2 years ago
Replying to verify I see the same app almost at the top of search result. Based in Canada and searching “Bitcoin Wallet”, it was the 2nd non-promoted result.

I have only 1 other app of this variety on my phone currently and haven’t used it or searched for anything crypto related including months.

Comment · 3 years ago
Comment · 3 years ago
Branch coverage means something different. If you have a function with 2 if statements, there are 4 branches. 100% code coverage could be 1 test and would run the code before + after the if statements, and enter each if statement block. 100% branch coverage would test this code 4 times: once without entering either if statement, once only entering the first, once only entering the second, and once entering both.
Comment · 3 years ago
Comment · 3 years ago
Shopify acquired Tictail, a Swedish e-commerce company that had their flagship app written in React Native. They worked on porting Shopify’s Shop app to React Native, with great success. Subsequently, a 12-16 week experiment took place during which a small team explored rewriting one of the larger apps in both Flutter, then React Native. React Native was settled on primarily due to pre-existing knowledge of React and React Native in the company.
Comment · 3 years ago
As someone who worked on the Shopify iOS and Android codebases, I would argue they weren’t all necessarily so broken. The flagship mobile app (the one primarily discussed in the article) was in good shape on iOS (and arguably better shape on Android). There was some fragmentation in architecture among teams, but overall things were reasonable and I didn’t personally find it difficult to jump into unfamiliar sections of the codebase..

Shopify’s other apps that migrated first were either much older, and therefore had much more tech debt, making the rewrite more enticing, or were much smaller in scope, making the rewrite much faster to get to feature parity. Once all the other apps had migrated or decided to migrate, it made a lot more sense to explore it in the flagship app discussed here.

Some disclaimers, I’m no longer at Shopify, and while I worked in the very early iterations of the port of the flagship app, I wasn’t necessarily a vocal proponent of migrating it to RN. I enjoy RN, but I enjoyed working on the native Shopify apps.

Comment · 3 years ago
I think the trolley problem is generally the other way around. 1 life is lost if you pull the lever, >1 if you don’t.

In your situation, you do the least harm by doing nothing. You want to create the moral quandary that taking action causes arguably less harm, but implies the action-taker now has some responsibility in the result.

That might also explain its contradiction at the end, since it’s probably had more examples of the trolley problem in the reverse of how you’ve described it to train on.

Comment · 4 years ago
Comment · 4 years ago
Interesting! Yeah, it’s maybe a little bold to claim we’re the cause for Amazon’s change, the timeline just lines up so well. Could be different laws, could also be that Shopify (Shop’s parent company) is still very US-centric and perhaps they didn’t feel as threatened by us or other similar products in Germany as they did in the US. I can’t say anything for sure, but it’s fun to hypothesize!
Comment · 4 years ago
Slightly unrelated, we noticed this happening _before_ we renamed the app in the App Store from Arrive to Shop, but after the rename happened in, I think, March of 2020, negative reviews about the missing Amazon data started flooding in. People associated the name/design change with the degraded experience, when really the experience had already been degraded for a couple months by that point. The initial rebrand only changed mostly superficial things, like colours and the name!
Comment · 4 years ago
Comment · 5 years ago
Many of the games are implemented by volunteers!
Comment · 5 years ago
“zmessenger-dev” is, I believe, the “alt account” they lost the login info to. Their main account, presumably tied to their identity, was used to author a commit that was pushed the DMCA’d repo. They later lost access to the alt (zmessenger) and so cannot remove the repo.

This is possible since GitHub attributes commits to certain accounts based on the email that authors the commit, so they used an email tied to their main account to author the commit. Only the email is actually attached to the commit though, GitHub just associates the account based on a lookup. They then push the commit to the repo using their ssh or password authentication for zmessenger, which they later lose, and so they can no longer alter the repository and remove the offending commit/email

Comment · 5 years ago
Agreed. I think naming generic types makes the most sense with multiple types, or when more specific names make sense. For example, if a generic argument must inherit from a certain type: `class SomeView<ViewState extends BaseViewState>` or some such.

`Element` is as non-descriptive as `T` in the author’s example and, IMO, doesn’t add any tangible benefit.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton