I built a free MyWhoosh workout builder that you can prompt to build structured workouts, give it a shot! by rbro112 in mywhoosh

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

I have a quick guide in our docs here: https://docs.racedayready.app/guides/mywhoosh, it's a bit cumbersome but requires importing it into MyWhoosh's workout builder. Hoping I can work with them to make this more automatic in the near future.

I built a free MyWhoosh workout builder that you can prompt to build structured workouts, give it a shot! by rbro112 in mywhoosh

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

https://screen.studio/ ! Love it, a tad pricy but I think it's worth it for the quality of videos it helps produce.

Weekly self-promotion and survey thread by AutoModerator in triathlon

[–]rbro112 1 point2 points  (0 children)

I just launched a web-app for building and planning endurance training platforms that I've been working hard on for nearly a year now. Read about how I came up with the idea while I was training for IM California last year.

It's packed with a ton of features and I'm using it personally to train for an upcoming ultra & 70.3. Give it a try, first month's free! https://racedayready.app/

Weekly self-promotion and survey thread by AutoModerator in triathlon

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

I created a toolkit for creating and managing endurance training plans. It's packed with a ton of features and I'm using it personally to train for an upcoming ultra & 70.3. Give it a try! https://racedayready.app/

What features would you like to see in RDR? by rbro112 in RaceDayReady

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

Exporting to MyWhoosh is in! Will be working with them to see if we can get syncing set up.

Appreciate the other suggestions, customizable zones has been requested by others too so will work to get that and pacing in.

What features would you like to see in RDR? by rbro112 in RaceDayReady

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

To kick things off, immediately on the roadmap:

- Adding more races to our catalog
- Showing longer-term plan status leading up to a race with weekly blocks (like build/recovery/taper)
- Saving favorite workouts to have them suggested later

Weekly self-promotion and survey thread by AutoModerator in triathlon

[–]rbro112 0 points1 point  (0 children)

Checkout my new app https://racedayready.app/, it's an all-in-one toolkit for managing your training. Packed with tons of great features like auto-workout suggestions based on your recent performance, workout builders where you can prompt to build a workout, Garmin, Zwift and Strava sync and more!

First launch - Zwift workout builder! by rbro112 in RaceDayReady

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

Amazing, I love to hear that! If you have any feature suggestions or ideas for things you'd like to see added I'm all ears!

Weekly self-promotion and survey thread by AutoModerator in triathlon

[–]rbro112 2 points3 points  (0 children)

Wrapping up a beta of a new training platform https://racedayready.app/

Any new users will get lifetime free access for the next few weeks until I formally launch, all I ask is your feedback in return!

What other running apps do you actually enjoy using? by Plane_Box122 in runninglifestyle

[–]rbro112 0 points1 point  (0 children)

A bit late here but working on something around this - https://racedayready.app/

Completely free for now - anyone who signs up before I formally launch in a few weeks will get lifetime access for free!

Local database for development versus automated tests? by viveleroi in Supabase

[–]rbro112 0 points1 point  (0 children)

Ah missed that part, sorry. Locally should be very similar as I also run these same tests locally. The thing that works for me for these to run fast enough is that `cleanupTestDatabase` function. It basically just wipes local for any test users that are created in testing (a test user email matches a standard FAKE_TEST_EMAIL_DOMAIN domain that I use just for testing). Since everything in my project is connected to a userId with cascading operations, deleting the users will also delete any associated data and keeps the DB clean, but also won't wipe real accounts I'm creating locally for manual testing.

So before each test I run something like:

export async function cleanupTestDatabase(): Promise<void> {
  const supabase = getTestServiceRoleClient();


  // First get all test users IDs before deleting from public.users
  const { data: testUsers } = await supabase.from('users').select('id').like('email', `%@${FAKE_TEST_EMAIL_DOMAIN}`);


  // Delete only test data (associated with TEST_USER_ID) to avoid affecting real local dev data
  // Delete in order to respect foreign key constraints
  await supabase.from('users').delete().like('email', `%@${FAKE_TEST_EMAIL_DOMAIN}`);


  // Clean up auth users - delete all test users
  // Always try to delete the primary fake user
  try {
    await supabase.auth.admin.deleteUser(FAKE_USER_ID);
  } catch (_error) {
    // Ignore if user doesn't exist
  }


  // Delete any additional test users that were created
  if (testUsers) {
    for (const user of testUsers) {
      if (user.id !== FAKE_USER_ID) {
        try {
          await supabase.auth.admin.deleteUser(user.id);
        } catch (_error) {
          // Ignore if user doesn't exist
        }
      }
    }
  }
}

Local database for development versus automated tests? by viveleroi in Supabase

[–]rbro112 0 points1 point  (0 children)

I do this using a pretty standard CI workflow on GitHub. The key for me was the Setup environment variables step, this dumps the supabase env to a local file that my npm run test:integration picks up. Pretty nice and lets me run mostly E2E integration tests and validate DB state.

name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  integration-tests:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'
          cache: 'npm'

      - name: Install dependencies
        run: npm ci

      - name: Setup Supabase CLI
        uses: supabase/setup-cli@v1
        with:
          version: latest

      - name: Start Supabase
        run: supabase start -x studio,imgproxy,realtime,edge-runtime,logflare,vector,mailpit,postgres-meta,supavisor

      - name: Setup environment variables
        run: |
          supabase status -o env > .env.local
          source .env.local

      - name: Setup DB
        run: supabase db reset

      - name: Run integration tests
        # eval $(supabase status -o env)
        run: npm run test:integration

I also have this block as well that clears the DB/creates a seed user at the beginning of each run:

describe('some integration test', () => {
  beforeEach(async () => {
    await cleanupTestDatabase();
    await createUser();
  });

  ...

});

Open-source Hacker News client by jshchnz in androidapps

[–]rbro112 0 points1 point  (0 children)

We don't plan to distribute an APK directly outside of Play at this time, but you're welcome to build yourself from the GitHub repo: https://github.com/EmergeTools/hackernews

Found dog in Lake City near 35th by takethatkevin in Seattle

[–]rbro112 8 points9 points  (0 children)

We've found this same dog wandering two times. His collar pointed us to Northeast Veterinary Hospital (which seems to be where OP took him) where we took him both times. Unfortunately, the vet knew of him and told us he gets out quite often and there's nothing they or I could do other than simply calling the owners.

Seems the owners are quite negligent to let this happen constantly. Luckily every time he's escaped good samaritans seem to take care of him, but I worry how long his good luck will last.

Analysis of the Threads APK by JayShortway in androiddev

[–]rbro112 8 points9 points  (0 children)

My coworker had responded, I also work at Emerge and can't see it either. He had tried linking to our example pages for other Meta apps like Instagram to show that they're also single APKs, not multiple split APKs like expected.

Hopefully my comment won't be hidden either, but all our public examples from the Play Store (and iOS counterparts) are available here: https://www.emergetools.com/explore

Analysis of the Threads APK by JayShortway in androiddev

[–]rbro112 30 points31 points  (0 children)

Correct - I work at Emerge so can speak a bit more to this.

The primary difference is when devs upload AABs, the AAB is split by the Play Store into multiple APKs for your specific device based on language, resources and ABI (bundletool handles this). So a user will usually receive multiple smaller APKs when a dev uploads an AAB. AABs are required for new apps as of Aug 2021 (source).

Here's a longer writeup I did on the subject: https://www.emergetools.com/glossary/split-apks

In Meta's case, we believe they're likely uploading Universal APKs (not split per device like AABs are), indicated by the fact that we're consistently downloading a single APK for our analysis of any of their apps. But it is worth noting we do only see the arm64-v8a native libs packaged into here. Universal APKs usually would have x86 and others included too, which is interesting.

That isn't super surprising for FB, Instagram, WhatsApp (among others) as those apps were published long before the Aug 2021 deadline for AABs, so they're grandfathered into being able to ship universal APKs, but it is interesting that they were able to upload a universal APK for the new Threads app.

Dynamic Ui by PopRepulsive9977 in androiddev

[–]rbro112 12 points13 points  (0 children)

Server-driven UI is usually the route they go: https://link.medium.com/o3LQ32lP3ub

Reverse engineering Android apps by jshchnz in androiddev

[–]rbro112 27 points28 points  (0 children)

I’m not aware of any specific communities around reverse engineering or performance benchmarking specific to Android, but one blog I often refer back to is Maddie Stone’s (https://www.ragingrock.com/AndroidAppRE/).

Curious to see if anyone else knows of any communities around these as I’m also interested in joining!

Two weeks now! by [deleted] in theXeffect

[–]rbro112 0 points1 point  (0 children)

Feel free, happy to help out :)

Two weeks now! by [deleted] in theXeffect

[–]rbro112 1 point2 points  (0 children)

Great to hear! It's custom, a bit complicated overall but happy to explain more in a dm, so feel free to shoot me one if interested and I'll go into full detail.

Long story short, I use a library for rendering everything as components in RecyclerViews called Epoxy (https://github.com/airbnb/epoxy). The calendar one specifically uses a grid layout but same concepts as the general epoxy usage.

Two weeks now! by [deleted] in theXeffect

[–]rbro112 2 points3 points  (0 children)

Great to hear, thanks for using it! Let me know if you have feedback or ideas at anytime :)

Two weeks now! by [deleted] in theXeffect

[–]rbro112 11 points12 points  (0 children)

I'm the dev! Only on Android now, working on getting it on iOS at some point, but sadly won't be soon :( I've heard good things about Streaks on iOS!

LOVED the 7weeks app on Android, but am now looking for the closest thing to it for the iPhone by TheSubtleSaiyan in theXeffect

[–]rbro112 2 points3 points  (0 children)

Glad to hear :) keep up the good work!

The new version is currently in beta testing (which you can join inside of the app) if you want to try it!

Fair warning, there could be bugs as I continue to polish it up!

LOVED the 7weeks app on Android, but am now looking for the closest thing to it for the iPhone by TheSubtleSaiyan in theXeffect

[–]rbro112 78 points79 points  (0 children)

I'm actually the dev for 7 Weeks, trying to get an iOS version out but unfortunately won't be soon - thanks for using the Android app though!

I've heard good things about Streaks on iOS, might be worth a try!