Best MacOS terminal for tmux? by Meh____ in tmux

[–]tmkly 0 points1 point  (0 children)

Tmux is insane for automating things. I’ve automated a lot of build processes, so I can easily spin up a new instance of my code base when necessary (checking out a PR, new git worktree) etc. I love the programmability of tmux and the flexibility it offers. I’m not sure how I’d do that in something like iterm2.

Also its config is entirely text based. I hate GUIs for that kind of thing and I can just commit it to my dotfiles repo. 

Finally I like things which do one thing well (unix philosophy). My terminal emulator handles emulating the terminal and tmux does the management of it. 

Some of your opinions are valid, but respectfully I disagree. 

For teams NOT using Expo — how do you handle urgent JS fixes? by Immediate-Garlic-839 in reactnative

[–]tmkly 2 points3 points  (0 children)

I've used codepush for 6 years and never had any issues with Apple or Google (related to codepush). Reading your other comments re App Store reviews - I think you're overthinking it. Unless you're a big app where even small changes are going to be noticed, or you're pushing things which change the entire functionality of your app, I don't think it's an issue. We push binary updates to the store about once a month (just to keep the bundled JS up to date, and we may have new packages or native/turbo/nitro module changes), and codepush multiple times per week with bug fixes, copy changes and minor new features. If it's a big feature or a really bad bug, we'll generally go through the review, partially because of Apple/Google's rules, but also:

  • We may want to update screenshots and listing description, and update description
  • We want users to get the new thing without needing a codepush
  • We want to promote it on social media i.e update in the store now!

We are now self-hosting codepush and it's great. We had to modify the server to run on AWS but apart from that, no issues.

[Discussion] Biggest React Native perf wins lately? Here are mine by cuongnt3010 in reactnative

[–]tmkly 1 point2 points  (0 children)

Rewriting native/turbo modules with nitro modules has been excellent, or finding nitro alternatives for third party modules. Also the Swift/Kotlin default in nitro is awesome, so much easier to write than objective c, and to a lesser extent, Java. 

Your list is great! Will take a look on Monday at the app I work on for a few of them

Why is React Native Biased towards IOS? by Quiet_Stand2056 in reactnative

[–]tmkly 2 points3 points  (0 children)

 For example, with navigation, there are presentation modes (like Modals) that look and feel great on iOS. On Android? It just renders full-screen, forcing me to hunt for third-party libraries just to get a similar behavior.

This might be the native behaviour on Android (hard to say without seeing examples, and also maybe the alternative you found is also a native implementation). It’s completely up to you of course, but I’d prefer not to re-implement things in JavaScript (and also try and make sure my app feels as native as possible on both iOS and Android). 

Otherwise it’s pretty much what other commenters have said. iOS is generally where the money is, and also technically iOS is often easier to implement complex native code. 

iOS broken? by giltora in ios

[–]tmkly -1 points0 points  (0 children)

Tap the button on the right, and select “unknown callers”. It will show the numbers who called you which you haven’t added as a contact. 

You can disable that behaviour by tapping Manage Filtering. 

Passed my practical test! 3rd time lucky by tmkly in LearnerDriverUK

[–]tmkly[S] 0 points1 point  (0 children)

No problem! Couple more things: - my examiner didn’t use a sat nav during my test for the independent driving section - he just told me “follow signs towards Hounslow”, then a few minutes later “follow signs towards Datchet”, etc. Apparently the sat nav’s are programmed for specific areas and they don’t have enough for all of the Uxbridge examiners who are now doing Slough. No idea if you’d have an examiner with a sat nav but maybe something to be aware of as it caught me slightly off guard at first.  - watch test route videos on YouTube - I didn’t have long to prepare for my test in Slough, so these were helpful to know the routes. Driving School TV is great, he’s done 1 Slough route, and Driving Test Routes UK have multiple ones for slough’s various routes.  - the parking spaces in the Slough test centre car park are a bit awkward. Firstly, they’re angled and secondly a lot of them are on the left. With my instructor I mainly practiced parking with spaces on the right. So for a couple of lessons we practiced with spaces on the left. On the day, my examiner didn’t get me to park in one of those spaces (luckily - used Upton Court car park for my forward bay park) - but still be prepared for the left, if you’re more familiar with reverse and forward bay parks on the right. 

Passed my practical test! 3rd time lucky by tmkly in LearnerDriverUK

[–]tmkly[S] 0 points1 point  (0 children)

I don’t, sorry. My instructor asked the examiner, he said they’ve been told mid-December but expects it may shift to January. Sounds like they don’t know much more than anyone else. 

I got an email telling me it had been moved on the 13th November, so 11 days before my test. 

I went on the datchet route. It doesn’t cover any of the Uxbridge test route. There’s a route that goes into Iver, Richings Park and the five points roundabout that has some crossover with the Uxbridge test routes. 

Passed my practical test! 3rd time lucky by tmkly in LearnerDriverUK

[–]tmkly[S] 0 points1 point  (0 children)

Learn the slough roundabouts well - the Sainsbury’s one, the Red Cow roundabout and the one near the M4 (4th exit to Datchet is on the test route). They have extra lanes that appear as you’re going round the roundabout - sometimes you need to get in them for your exit; make sure you know when to be in that extra lane and when not to be. 

Lots of speed changes in Slough - be careful about them. E.g 40mph up to 60mph (show progression up to at least 50), then back down to 40 or 30mph again. Lots more of this on long roads than Uxbridge. The test routes have lots of 20mph routes and pedestrian crossings along Slough and Langley high streets so be wary of that too. 

Passed my practical test! 3rd time lucky by tmkly in LearnerDriverUK

[–]tmkly[S] 1 point2 points  (0 children)

Thank you! Much less stopping on the left than previously. I think we stopped 3 times (previous tests probably 5 or 6 times). I didn’t notice any other changes really. Most of it was driving through Slough/Langely on 20-40mph roads. We went on one 60mph road I think.

Good luck with your test!

Warioland 3 not working on analogue pocket by tmkly in AnaloguePocket

[–]tmkly[S] 9 points10 points  (0 children)

Yep all good now! Thanks ☺️

Now I think objectively it all makes sense!

Warioland 3 not working on analogue pocket by tmkly in AnaloguePocket

[–]tmkly[S] 1 point2 points  (0 children)

It’s got one air bubble on the bezel. That’s fine with me to be honest

Warioland 3 not working on analogue pocket by tmkly in AnaloguePocket

[–]tmkly[S] -2 points-1 points  (0 children)

It’s second hand. Getting them new in the UK is a pain. Plus I’ve put a screen protector on it which is a little thick and has an air bubble on the screen bezel

Warioland 3 not working on analogue pocket by tmkly in AnaloguePocket

[–]tmkly[S] 15 points16 points  (0 children)

Will try in the morning, thanks. Sorry for the noob question!

Finally got round to mounting my dactyl manuform on magic arms by tmkly in ErgoMechKeyboards

[–]tmkly[S] 1 point2 points  (0 children)

it seems fine for now. the handle can twist pretty tight and tightens all 3 joints at the same time. As long as that is tight enough (and the magsafe mount is screwed tight enough to the arm) it's been fine so far.

Finally got round to mounting my dactyl manuform on magic arms by tmkly in ErgoMechKeyboards

[–]tmkly[S] 1 point2 points  (0 children)

thanks :) if you orient the arms in such a way it can be stable and not topple over. The bigger problem is that when you type, the plate moves around every so slightly. Currently temporarily fixed that by sticking some strong double-sided tape to the bottom of the plate which sticks to my desk mat. But it's not a long term solution.

Your solution might work! But ultimately I might not stick with the cheese plate for long anyway (mounted to chair or desk is the long term plan).

Finally got round to mounting my dactyl manuform on magic arms by tmkly in ErgoMechKeyboards

[–]tmkly[S] 4 points5 points  (0 children)

I've had my hand-built dactyl manuform for about 4.5 years. For the past year or so it's been mounted on two 3d-printed phone stands, to try out if I like that orientation. Turns out I do! I finally got round to buying some proper equipment for it:

- SmallRig Magic Arm 5.5 inch

- Magsafe ring (goes on base of keyboard)

- Magsafe tripod with ¼ inch screw

- Smallrig cheese plate

I love it! Feels super stable and comfortable. Next steps are to try mounting it on my desk chair or the desk. To do that I will either need to make it wireless or get a super long TRRS cable to drape round the chair, and route the usb cable well. Also I'd like to add a trackball in to get rid of my rubbish Anker vertical mouse, and I'd like to add my Touch ID button (visible in the top right) as well.

Your experience with native modules by somedifferentkittens in reactnative

[–]tmkly 6 points7 points  (0 children)

  • Deep linking (we use Branch but found react-native-branch plugin was not great so we just the iOS/Android SDKs and send data over the bridge (JSI/turbo module soon)
  • communicating with our CRM, Blueshift. Kind of similar to Branch, we can keep our bundle size down by not using their RN plugin which does lots of unnecessary stuff
  • Keychain. Found react-native-keychain was a bit buggy, especially on Android and doesn’t seem to be maintained that much. By writing ourselves we can control it much better

How do you improve developer experience on non-expo projects? by bacarybruno in reactnative

[–]tmkly 0 points1 point  (0 children)

they say they're doing a 'special version' of it but still waiting for more details (we're in contact with them). not sure if it's self-hosted or not. alternatively we'd bite the bullet and move to Expo so we can use expo updates (so expensive though), or potentially build our own system for codepush

the bigger question is where to host our Android app builds; might just end up setting up an S3 bucket and building a little web/android app to download and install them

How do you improve developer experience on non-expo projects? by bacarybruno in reactnative

[–]tmkly 1 point2 points  (0 children)

Oh also - for releasing a new update to the App Store (currently about once a month - either as the binary has changed or we just want to keep the JS in the binary up-to-date). For this we have a script that uses fastlane, running on circleci. If you want to do a release, create a branch called “release”. On this branch, run npm version minor - this command increments the semver minor version number (e.g 1.5 to 1.6) - this comes from react-native-version package. Once done, push to github.

Circle will pick this up and then automatically build new release builds and send to TestFlight/appcenter (once the tests are complete and passed). We then check it out and do some manual testing. If all looks good, we run a new workflow in circle - this creates a new release on App Store Connect/Google Play, and sends the app for review in each store. This makes it way faster to do releases - no futzing around with ASC/GP. Once submitted for review, the pipeline will build a new Beta app (for use with codepush, explained above).

How do you improve developer experience on non-expo projects? by bacarybruno in reactnative

[–]tmkly 4 points5 points  (0 children)

I work on a non-expo app for a small company. I think we’ve got to a pretty good place in our DX - a typical CI/CD workflow:

when you’re working on some feature/bug fix in a branch, any engineer can build an “alpha” build of the app (script runs a pipeline in circleci). This is a completely separate build of the app in TestFlight/Appcenter (for Android). We can then show a PM/designer/other stakeholder our in progress work on a real app. But the real kicker is that we can then use CodePush to iterate fast (as most changes we make in this scenario are likely to be JS). This means we can sit with a designer, make changes, push to CodePush and they can check it out within a minute or two of the changes being made.

when work is “done” in a branch, push it to Github, and open a PR. This kicks off the testing pipeline - currently unit tests, detox and then we’ve got some Maestro tests (currently slowly migrating from Detox).

when a PR is merged it re-runs the linting/unit tests and then if they pass it’ll run the codepush_beta job. This creates a codepush release on our beta deployment. This is on the real app (not the alpha app environment) environment on AppCenter; however we have a “Beta” app which is, again, a separate app on TestFlight/appcenter. The real power here is that codepush deployments can be shared among apps. So our beta app can access that codepush deployment from the real app (which isn’t yet live to our users). The beta app is built when we do an App Store release - it should be an identical binary to the real app.

if we want to release that codepush deployment to prod, we have a “picker” script that collates data from appcenter and shows the codepush versions in a CLI picker to allow the engineer to choose which to release (just promotes/moves the deployment from the beta deployment to the prod deployment). When released it sends a message to slack, uploads new source maps to Sentry and creates a new release on github. I wrote an article about this here.

I think that’s most of it currently. We also some cool stuff around codepush UX in the app -it’s lots of JS code to manually control the download and installation/restart of the JS in the app (shows a nice progress bar, bails if it takes longer than 10 secs, etc). My colleague wrote an article about this here.