HNHacker News
TopNewBestAskShowJobs

hooksfordays

72 karma · joined November 23, 2016

My name's Joseph Roque

I'm an iOS Developer in Vancouver, Canada.

[GitHub] autoreleasefool [Twitter] autoreleasefool

submissionscomments
hooksfordays··on Scammed by the top result for 'Bitcoin wallet' in Apple App Store
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.

hooksfordays··on My speed cubing page
As a complete beginner, you don’t need to spring for a $50+ cube magnet GAN some other comments are recommending. You’ll get just as far with a YuXin[1] as a beginner, or a Valk[2], which was my primary cube for over a year, and carried me under an 18s average time. There may be better middle-of-the-road cubes since 2016 though!

[1] https://speedcubeshop.com/collections/3x3-speed-cubes/produc... [2] https://speedcubeshop.com/collections/3x3-speed-cubes/produc...

hooksfordays··on 100% test coverage
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.
hooksfordays··on How much are tech companies paying for talent?
It’s a very recent change, announced in September of 2022. You haven’t missed much! https://news.ycombinator.com/item?id=32708921
hooksfordays··on Migrating our largest mobile app to React Native
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.
hooksfordays··on Migrating our largest mobile app to React Native
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.

hooksfordays··on ChatGPT passes the 2022 AP Computer Science A free response section
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.

hooksfordays··on Tim Hortons app violated laws in collection of ‘vast amounts’ of location data
According to Apple’s support site[0] App Clips can request your location, and permission’s automatically revoked after 1 day, and only works while the apple clip is in use. So, better in theory.

[0] https://support.apple.com/en-us/HT212238

hooksfordays··on A short conversation with a bank
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!
hooksfordays··on A short conversation with a bank
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!
hooksfordays··on A short conversation with a bank
Another explanation I’m predisposed to, due to personal involvement: I was on the Shop[1] team when it was transitioning from Arrive to Shop, and shifting from a package tracking application to a shopping cart. If you gave the app access to read your emails, we’d scan for tracking #s but also parse through emails from Amazon to pull data about what you ordered straight into the app, so you could track everything from one place. Shortly after Shop started gaining major traction in late 2019/early 2020, Amazon started pulling more and more details from their order confirmation emails, and we were less and less able to provide actionable info on your Amazon orders until they finally put the entire order behind a login, and all we could tell you in the Shop app was you had placed an order at Amazon.

[1] https://apps.apple.com/ca/app/shop-package-order-tracker/id1...

hooksfordays··on Board Gaming in Figma
Many of the games are implemented by volunteers!
hooksfordays··on “The infringer is my alt account”
“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

hooksfordays··on Bad TypeScript Habits
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.

hooksfordays··on Out running this morning and a lady runs past me
As someone who is a runner, Strava has ingrained itself as the de facto running and biking social app. You can certainly use other (better) apps for tracking and insights, but there’s no replacement for its community offering. They’ve put themselves in a position that demands better thought and attention to details like this.
hooksfordays··on Supabase (YC S20) – An open source Firebase alternative
When FB/Twitter/whoever dropped it, they open sourced the platform completely — they just weren’t offering managed hosting anymore, and they weren’t maintaining it. This looks like a maintenance effort by the community that has formalized itself
hooksfordays··on Google Meet premium video meetings–free for everyone
It released a week or two ago, so if you've been using Zoom recently, you might not have noticed. It's under the overflow in the bottom right > change layout.

I'm on Firefox/Mac and has worked fine for me.

hooksfordays··on Show HN: Recordings of phone screenings for employment
Disclaimer: not a lawyer. The California Supreme Court ruled essentially that the stricter state's laws take precedence, in this case, California's Two-party consent law [1].

[1] https://en.wikipedia.org/wiki/Telephone_call_recording_laws#...

hooksfordays··on Ask HN: How to Make Money from Open Source Mobile App?
This is what I currently do with my app. The code is open source, it's free for anybody to build and install, the build steps are simply clone and build with Android Studio. I upload the debug .apk as a GitHub release with no valid keys (so no ads), but there are ads at the bottom of the screen on the play store version.

It makes a little change every month and I've not had any complaints about the ads, except to offer a pay-to-remove option, which I mostly just haven't gotten around to yet.

hooksfordays··on Getting any Facebook user's friend list and partial payment card details
No, I can still hide my friend’s list. Settings > Privacy > “Who can see your friends list?”
hooksfordays··on Show HN: Create React Native Apps with TypeScript and Ignite
Mostly off topic, but has anybody been able to get hot reload working with TypeScript and React Native? I’m not sure if I screwed something up along the way in my set up when I made the switch about 8 months ago, but I feel like hot reload worked for a bit, and then stopped. Or maybe, my memory is just overlapping between having hot reload with plain JS and not at all with TypeScript
hooksfordays··on A bot that tweets any time devs swear on GitHub
Problem is, this was developed 5 years ago, well before the developer joined Microsoft. I understand where you're coming from, but the article is misleading.
hooksfordays··on Show HN: Marta – A fast and minimalistic file manager for macOS
I'm very interested in getting started with this! One question, is there a way to change the key binding for switching active panes? Right now it seems like the only option is to use Tab and is the only key binding that doesn't appear to be configurable.
hooksfordays··on Ask HN: Stories about women who helped you to become a better programmer?
My first experience with programming was my 7th grade teacher, a woman who inspired me so thoroughly, I still try to make regular visits to see her when I'm in town (10 years later). She had my class use Adobe Flash to create animations for some of our projects, and for presentations, if we were so inclined. Doing so required a knowledge of ActionScript to start and stop the animation, and that was the first I had ever heard of programming.

From there, she pointed me towards a camp offered by our school to improve my animating skills, but the senior student leading the program happened to be quite efficient at ActionScript. Most of the other students in the camp were beginners, so while they learned to animate, I learned more extensive ActionScript, and that had me hooked.

hooksfordays··on Shopify’s Frenzy – Sell to the most loyal customers in a new way
Yes, the team did an AMA on /r/sneakers yesterday: https://www.reddit.com/r/Sneakers/comments/5e5d9a/ama_were_t...

Disclosure: I'm at Shopify, but not part of the Frenzy team.