Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
foutre
Sep 4, 2011

:toot: RIP ZEEZ :toot:
Oh wow, that's so much simpler. Thanks, looks like Dash will be perfect for this, very much on board for it just handling a ton of that stuff for me.

Adbot
ADBOT LOVES YOU

CarForumPoster
Jun 26, 2013

⚡POWER⚡

foutre posted:

Oh wow, that's so much simpler. Thanks, looks like Dash will be perfect for this, very much on board for it just handling a ton of that stuff for me.

No prob! I'm excited to see what you make. I never really concepted of using plotly for playback of data vis in that way so I'm glad you asked the question.

Armauk
Jun 23, 2021


foutre posted:

I haven't done a ton of front-end stuff in the past, and have basically only used the MERN stack for those projects.
Have you considered using D3.js for drawing the actual map?

CarForumPoster
Jun 26, 2013

⚡POWER⚡

Dark Mage posted:

Have you considered using D3.js for drawing the actual map?

If he ends up sticking with Python you can render that map as a scatter plot over an image https://plotly.com/python/images/

Armauk
Jun 23, 2021


CarForumPoster posted:

If he ends up sticking with Python you can render that map as a scatter plot over an image https://plotly.com/python/images/

It seems like a lot of work to use Python for a front-end visualization tool. D3 is written in JavaScript, so that eliminates the need to use multiple languages do to one thing.

CarForumPoster
Jun 26, 2013

⚡POWER⚡

Dark Mage posted:

It seems like a lot of work to use Python for a front-end visualization tool. D3 is written in JavaScript, so that eliminates the need to use multiple languages do to one thing.

If he's using Dash, Dash is all python. You dont even write HTML. What you're prescribing uses multiple languages to do one thing. I posted an example app on the last post of the previous page to render a scatter plot using data from a CSV or API. After that all he'd need is to add a background image for the map, a callback for the "play" function, and probably a storage method like dcc.Store() to share data between callbacks if needed.

Armauk
Jun 23, 2021


CarForumPoster posted:

What you're prescribing uses multiple languages to do one thing.

I looked through your code and now understand what you mean about using Python to handle the data processing and rendering.

My initial suggestion was to consider keeping everything in JavaScript. The tech listed from the other projects foutre's investigated seemed like it could be done with JS:

quote:

From looking through similar projects, it seems like React + Canvas for the frontend, and then GraphQL on the backend is pretty standard.

Your Python-based solution is certainly an interesting route, and I'd be curious to see how foutre builds around it.

CarForumPoster
Jun 26, 2013

⚡POWER⚡

Dark Mage posted:


Your Python-based solution is certainly an interesting route, and I'd be curious to see how foutre builds around it.

I was curious to try so here's an actual prototype that works and puts moving scatter plots over a pubg map image and has playback. Took about 20 minutes.

code:
### This code renders a scatter plot w/animation using a callback loading data from a dataframe

# Your imports and stuff
import dash
import dash_html_components as html
import dash_core_components as dcc
import pandas as pd
import plotly.express as px
import requests
from dash.dependencies import Input, Output, State

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

### Higher up you have a graph with some ID and a button. This is kinda like your HTML template.

app.layout = html.Div([
    html.Button('Submit', id='btn-id-name', n_clicks=0),
    dcc.Graph(figure={}, id="graph-figure")
])


# Down lower youll have your callback. This updates your graph. 
# All callbacks are executed at runtime, thus I include an "else" for the button not being clicked
@app.callback(Output('graph-figure', 'figure'),
              [Input('btn-id-name', 'n_clicks')])
def some_func_name(n_clicks):
    if n_clicks:  # If you've clicked the button.
        # Could do a request or load a CSV here, I'm using their example data.

        df = px.data.gapminder()
        fig = px.scatter(df, x="gdpPercap", y="lifeExp",
                         animation_frame="year", animation_group="country",
                         size="pop", color="continent", hover_name="country",
                         log_x=True, size_max=55,
                         range_x=[100, 100000],
                         range_y=[25, 90])

        fig.add_layout_image(
            dict(
                source="https://i.ibb.co/cthV7vc/L7ENJGA.jpg",
                xref="paper",
                yref="paper",
                x=0,
                y=1,
                xanchor="left",
                yanchor="top",
                sizex=1,
                sizey=1,
                sizing="contain",
                opacity=1,
                layer="below")
        )
        fig.update_layout(template="plotly_white")

        return fig
    else:  # If you have NOT clicked the button.
        fig = px.scatter(pd.DataFrame([['A', 1], ['B', 2], ['C', 3]],
                                      columns=["X", "Y"]),
                         x="X",
                         y="Y")
        fig.add_layout_image(
            dict(
                source="https://i.ibb.co/cthV7vc/L7ENJGA.jpg",
                xref="paper",
                yref="paper",
                x='A',
                y=1,
                xanchor="left",
                yanchor="top",
                sizex=1,
                sizey=1,
                sizing="stretch",
                opacity=1,
                layer="below")
        )
        fig.update_layout(template="plotly_white")
        return fig

if __name__ == '__main__':
    app.run_server(debug=True)

CarForumPoster fucked around with this message at 01:44 on Jun 25, 2021

Armauk
Jun 23, 2021


Nicely done :bravo:

foutre
Sep 4, 2011

:toot: RIP ZEEZ :toot:
Woah, that's awesome. I think I really didn't understand what all was possible with plotly - seeing code like that is v helpful (esp the comments signposting the major sections!).

Right now I'm still setting up the backend stuff - figuring out queries, how I want to structure the data, etc. I think I might just make a quick toy dataset to see how well plotly/d3/etc work for this, and get a better sense of how I'll want to pull in the data. I have to admit at the moment I have more of a laundry list of stretch goals - ie, having a player's kills show up on a time line, adding win probabilities, etc. - when I should probably just work on getting some basic version working.

I'll start poking around with this and report back, I appreciate all the discussion/advice.

foutre fucked around with this message at 01:23 on Jun 25, 2021

fankey
Aug 31, 2001

I'm trying to use the Gmail REST API and am having problems getting the device code for authorization. I'm using Desktop credentials and have my client and secret id. I've made sure that I've added https://www.googleapis.com/auth/gmail.readonly to the Scopes and have enabled the Gmail APIs for my app but when I attempt to get the device code via https://accounts.google.com/o/oauth2/device/code it returns 400/invalid_scope. The really weird thing is that if I change the scope to https://www.googleapis.com/auth/calendar.readonly I get a valide device code response even though I don't even have that scope listed in my app Oath section. I've tried a bunch of other random scopes and the calendar.readonly is the only one that behaves this way which is odd since it's a sensitive scope.

Here's an example of the working scope
code:
curl -d "client_id=XXXXXXXX.apps.googleusercontent.com&scope=https://www.googleapis.com/auth/calendar.readonly" -X POST [url]https://accounts.google.com/o/oauth2/device/code[/url]
{
  "device_code": "bar",
  "user_code": "foo",
  "expires_in": 1800,
  "interval": 5,
  "verification_url": "https://www.google.com/device"
}
and the not working
code:
curl -d "client_id=XXXXXXXX.apps.googleusercontent.com&scope=https://www.googleapis.com/auth/gmail.readonly" -X POST [url]https://accounts.google.com/o/oauth2/device/code[/url]
{
  "error": "invalid_scope"
}
Any idea why the calendar scope works but the gmail one doesn't? Note the url tags don't actually exist in the curl calls but everytime I remove them they magically reappear...

astral
Apr 26, 2004

Forums poster Cugel the Clever brought up in the technical forum that the forums code highlighting is (a) poorly documented, and (b) woefully outdated. Anyone with experience with highlightjs have any particular style recommendations? Here's a list of styles in their CDN, though I'm sure we could consider any particularly amazing ones that aren't in the official CDNs. We'll need one for light mode and one for dark mode/YOSPOS.

We don't have forum-specific announcements that pop up at the top of pages yet so I figured I'd mildly derail this thread instead since it's more likely to be in people's bookmarks. Anyway, feel free to post in the linked thread with any feedback. Thanks!

dupersaurus
Aug 1, 2012

Futurism was an art movement where dudes were all 'CARS ARE COOL AND THE PAST IS FOR CHUMPS. LET'S DRAW SOME CARS.'
Can't go wrong with monokai

boofhead
Feb 18, 2021

Has anybody used Google's memorystore for redis within docker? I've been referring to this doc for local dev work:

https://cloud.google.com/memorystore/docs/redis/connecting-redis-instance#connecting_from_a_local_machine_with_port_forwarding

Where basically you ssh into a VM instance and then port forward 6379 to the actual redis IP (which is within a google virtual private cloud, so only accessible via that vm instance).

And the following works on my local machine:

code:
gcloud compute ssh COMPUTE_VM_NAME --zone=ZONE -- -N -L 6379:REDIS_INSTANCE_IP_ADDRESS:6379
But when I try to run it in a docker container it says it can't bind to the address: [::1]:6379

I'm not super confident with docker so I'm not sure what's going wrong here.. I tried EXPOSE 6379 in the Dockerfile, and also tried defining the local container IP manually:

code:
gcloud compute ssh COMPUTE_VM_NAME --zone=ZONE -- -N -L ]0.0.0.0:6379:REDIS_INSTANCE_IP_ADDRESS:6379
and 127.0.0.1 and localhost, to no avail.

I feel like there's some limitation or complexity to docker networking that I'm missing.. I feel like I should be able to create the ssh tunnel within docker and connect to it from the same container using 0.0.0.0:6379 but it's just not working, and I can't figure out why. Does anybody have any tips?

E: i got it working. I split the redis tunnel into its own container and moved the RUN commands that set up the port forwarding into entrypoint.sh rather than the Docker file, and added a -g flag to the command

boofhead fucked around with this message at 12:02 on Jul 2, 2021

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
"Distributed hash tables" is in my interview topic queue. I can get the basic introduction all over the place but very little on where they fit in to help in a distributed system. I was getting an impression they're replacing more basic key-value stores, but I would think that would be spelled out if they were. Is it practically any different from a key-value store that can be distributed?

Mr Shiny Pants
Nov 12, 2012
Nope, but the distributed part is the interesting part. You need some way to find where a value might reside even though you connect to a host that might not have it. So you need a way to route requests or know which host is responsible for which keys. This locality also makes it possible to rebalance the key space if one host should leave the network.

I always thought Pastry was a nice design.

Hughmoris
Apr 21, 2007
Let's go to the abyss!
So I have a Logitech G602 wireless mouse that is suffering from an issue where it loses connection intermittently. Seems like it's not an uncommon problem, and it occurs enough so that I went out and just bought a new mouse. I've been reading too many "reverse engineering" articles, and I'd like to dive deeper in to the weeds to see if I can identify what is going on (and possibly fix it).

Is there a software stack, or direction I should start looking in, if I want to see logs/packets/errors of when the wireless USB disconnect occurs with the mouse? I'm on Windows 10. Not really sure where to start diving.

*Ehhh. After digging in to this a little more, sounds pretty drat involved for a beginner project. I'll think I'll just enjoy my new mouse and save the busted one as emergency backup.

Hughmoris fucked around with this message at 14:53 on Jul 12, 2021

Dawncloack
Nov 26, 2007
ECKS DEE!
Nap Ghost
I am studying a manual that describes some packets of information sent over radio, related to a device.



The fourth column is the format. And I can glean that those are fixed point variables. Am I wrong? I have been trying to google how to read those entries but I can't find anything. Should I understand that Fix 7.0 means a signed variable where the leftmost bit is the sign, the rest all significant bits? Then understand that UFix 3.5 means that the 3 leftmost bits are the whole digits, and the rightmost 5 are the fractional part?

It makes sense but I don't want to assume and then gently caress it up. Also, if I could get a reference that would make me very happy.

Also, if I am right, how is the sign represented? That depends on the hardware isn't it ?

Cheers and thanks

HappyHippo
Nov 19, 2003
Do you have an Air Miles Card?
That seems right. Does the manual not define the terms? It looks similar to this format. If it is, keep in mind these numbers would be likely stored in two's complement format.

HappyHippo fucked around with this message at 16:53 on Jul 13, 2021

Dawncloack
Nov 26, 2007
ECKS DEE!
Nap Ghost
Aaaah maan! Thanks!

It's not defined, I am proofreading and improving the manual, and the engineers that wrote were probably "I understand it, so good enough."

And are now shocked that there are complaints.

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
As long as there's a reasonable discussion of what Fix X.Y means in the prologue to all this, yeah, that looks like a fine description of the packet format.

LongSack
Jan 17, 2003

I didn't see a dedicated Android thread, so apologies if I missed it.

Tried to get a simple "hello, world" app running in Android Studio (on Windows 10), and I have to say, so far at least, this is a hot mess. In order, here are the problems I am having just trying to get a simple app -- one scaffolded by the studio, mind you -- running:
  • Got told that SDK 31.0.0 was corrupt, I need to re-install it. "Fixed" this by changing back to 30.0.3
  • Would not download 30.0.3 because I had not accepted the license agreement. Fine, SDK manager worked me through that.
  • Would not build because apps targeting version 12 or later need to declare "android:export" explicitly. Note that it doesn't tell me where to declare that, or what value needs to be set. Stackoverflow nudged me in the right direction and I added it to the <Activity>...</Activity> section of the manifest.
  • Yay! now the app builds. Select the Pixel 3 emulator. But wait, the image isn't downloaded. Fine, go through the emulator manager and download the Pixel 2 and Pixel 3 images. Grab an Android TV image while I'm there, since the only real Android device I have access to is my Sony Bravia TV.
  • Yay! now the emulators start. Just need to debug the app and wait for it to appear ... and wait ... and wait ... and wait. Eventually the debugger just gives up.
  • Scour google and stackoverflow and every site I can find that even mentions the "Failed to connect to remote process" error message, and try all their suggestions: killing and restarting the server, adding "android:debuggable=true" to the manifest, but nothing works.
It shouldn't be this hard to get an app that was scaffolded by Android Studio -- which you'd think they'd get right -- to run.

So, anyone have any ideas why my app won't launch on any of the emulators? I should note that both Pixels are on release 28 and the TV is on release 30. I'm targeting release 31 in my app, but even changing that back to 30 hasn't worked. This is pretty frustrating.

Luna
May 31, 2001

A hand full of seeds and a mouthful of dirt


Not sure if PowerShell questions are considered programing related but I'd like to see if anyone can offer advice. This also is in Azure so that may further isolate me on this.

I'm trying to loop through all of my Azure subscriptions and pull automation account expiry date information. I can get this to work with single subscriptions but when I try it with multiple subs, it only returns data from the last sub processed. The issue seems to be keeping the subscription context through the lower loops. I have similar issues if I nest the loops or run them sequentially.

The inital ForEach loop works, it grabs all resource groups from all subscriptions. When I pass it the results on to the next ForEach, that is when it loses the context switching.

Any advice is appreciated.

code:
 
$Subscriptions = @('Sub1','Sub2','Sub3')

ForEach ($Sub in $Subscriptions){
   Set-AzContext $Sub
   $RGs += Get-AzResourceGroup

            ForEach ($RG in $RGs){
                $AAs = Get-AzAutomationAccount
            }
}

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Luna posted:

Not sure if PowerShell questions are considered programing related but I'd like to see if anyone can offer advice. This also is in Azure so that may further isolate me on this.

I'm trying to loop through all of my Azure subscriptions and pull automation account expiry date information. I can get this to work with single subscriptions but when I try it with multiple subs, it only returns data from the last sub processed. The issue seems to be keeping the subscription context through the lower loops. I have similar issues if I nest the loops or run them sequentially.

The inital ForEach loop works, it grabs all resource groups from all subscriptions. When I pass it the results on to the next ForEach, that is when it loses the context switching.

Any advice is appreciated.

code:
 
$Subscriptions = @('Sub1','Sub2','Sub3')

ForEach ($Sub in $Subscriptions){
   Set-AzContext $Sub
   $RGs += Get-AzResourceGroup

            ForEach ($RG in $RGs){
                $AAs = Get-AzAutomationAccount
            }
}

It looks like you're redefining $AAs with each loop. So when everything finishes, $AAs is holding whatever the last value was.

nielsm
Jun 1, 2009



Luna posted:

code:
 
$Subscriptions = @('Sub1','Sub2','Sub3')

ForEach ($Sub in $Subscriptions){
   Set-AzContext $Sub
   $RGs += Get-AzResourceGroup

            ForEach ($RG in $RGs){
                $AAs = Get-AzAutomationAccount
            }
}

PowerShell code:
$Subscriptions = @('Sub1','Sub2','Sub3')

$AutomationAccounts = $Subscriptions | ForEach-Object {
    Set-AzContext $_
    Get-AzResourceGroup | Select-Object -ExpandProperty ResourceGroupName | Get-AzAutomationAccount
}

# do stuff with $AutomationAccounts here
This is untested, just based on some documentation lookups. I made it a ForEach-Object loop because it effectively makes the body an anonymous function, and you can return data from functions just by evaluating commands that output objects and not store that output in a variable. The pipeline output of the ForEach-Object becomes the output from all the Get-AzAutomationAccount calls.

nielsm fucked around with this message at 22:00 on Jul 16, 2021

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

LongSack posted:

I didn't see a dedicated Android thread, so apologies if I missed it.

Tried to get a simple "hello, world" app running in Android Studio (on Windows 10), and I have to say, so far at least, this is a hot mess. In order, here are the problems I am having just trying to get a simple app -- one scaffolded by the studio, mind you -- running:
  • Got told that SDK 31.0.0 was corrupt, I need to re-install it. "Fixed" this by changing back to 30.0.3
  • Would not download 30.0.3 because I had not accepted the license agreement. Fine, SDK manager worked me through that.
  • Would not build because apps targeting version 12 or later need to declare "android:export" explicitly. Note that it doesn't tell me where to declare that, or what value needs to be set. Stackoverflow nudged me in the right direction and I added it to the <Activity>...</Activity> section of the manifest.
  • Yay! now the app builds. Select the Pixel 3 emulator. But wait, the image isn't downloaded. Fine, go through the emulator manager and download the Pixel 2 and Pixel 3 images. Grab an Android TV image while I'm there, since the only real Android device I have access to is my Sony Bravia TV.
  • Yay! now the emulators start. Just need to debug the app and wait for it to appear ... and wait ... and wait ... and wait. Eventually the debugger just gives up.
  • Scour google and stackoverflow and every site I can find that even mentions the "Failed to connect to remote process" error message, and try all their suggestions: killing and restarting the server, adding "android:debuggable=true" to the manifest, but nothing works.
It shouldn't be this hard to get an app that was scaffolded by Android Studio -- which you'd think they'd get right -- to run.

So, anyone have any ideas why my app won't launch on any of the emulators? I should note that both Pixels are on release 28 and the TV is on release 30. I'm targeting release 31 in my app, but even changing that back to 30 hasn't worked. This is pretty frustrating.

Was waiting for someone else to answer. Does Android Studio actually see the emulators after they're started up? It could be some dumb adb bullshit where you need to turn it off and on again (rare but it happens).

If you attempt to run instead of debug, what happens?

Hughmoris
Apr 21, 2007
Let's go to the abyss!

LongSack posted:

I didn't see a dedicated Android thread, so apologies if I missed it.
...

If you don't have much luck in this thread, here is the Android thread:
https://forums.somethingawful.com/showthread.php?threadid=3491072&pagenumber=67#lastpost

LongSack
Jan 17, 2003

Volmarias posted:

Was waiting for someone else to answer. Does Android Studio actually see the emulators after they're started up? It could be some dumb adb bullshit where you need to turn it off and on again (rare but it happens).

Yes, it sees the emulators and knows they’re running. And I’ve tried stopping/starting the server with no luck.

quote:

If you attempt to run instead of debug, what happens?

That’s a good question, ill try it tomorrow.

Hughmoris posted:

If you don't have much luck in this thread, here is the Android thread:
https://forums.somethingawful.com/showthread.php?threadid=3491072&pagenumber=67#lastpost

Thanks!

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

LongSack posted:

Yes, it sees the emulators and knows they’re running. And I’ve tried stopping/starting the server with no luck.

That’s a good question, ill try it tomorrow.

Thanks!

The mechanism used to install the app and start it (adb) is pretty darn stable. If you can see the device on the list, and it doesn't say "offline" or something, you can install an app. Debugging occasionally is less than stellar. For whatever reason my current setup thinks that the phone has no processes whatsoever when I want to attach a debugger, but I'm also doing whackadoodle tunneling stuff so it's probably on me.

Verisimilidude
Dec 20, 2006

Strike quick and hurry at him,
not caring to hit or miss.
So that you dishonor him before the judges



I’m a react developer and my company decided it wanted an app with some basic functionality. I’ve built an app with react native that works great on the simulator, but when I use it on TestFlight on a physical device certain things seem to break here and there. The app is stable, but clearly there’s a disconnect between the simulator and device. Unfortunately no one on our team is experienced with mobile development (myself included) and I’m not entirely sure how to resolve these more specific problems. Does anyone have advice on this subject? The simulator is iOS and the device is iOS, and the app if anything seems better on android.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Verisimilidude posted:

I’m a react developer and my company decided it wanted an app with some basic functionality. I’ve built an app with react native that works great on the simulator, but when I use it on TestFlight on a physical device certain things seem to break here and there. The app is stable, but clearly there’s a disconnect between the simulator and device. Unfortunately no one on our team is experienced with mobile development (myself included) and I’m not entirely sure how to resolve these more specific problems. Does anyone have advice on this subject? The simulator is iOS and the device is iOS, and the app if anything seems better on android.

I can confirm there's differences between iOS device and simulator, but without any specifics about the issues you're running into (please share if you're able!), my advice is to test on device early and often. Also remember there is a wide variety of screen shapes and sizes, though the simulator does a reasonable job including all of those.

Normally I'd say plug it in and attach a debugger to poke around, but React Native might have its own tooling? TestFlight sounds like a painfully slow addition to your code -> test loop, you shouldn't need it just to run local dev builds.

If it helps, used couple-years-old devices can be had relatively cheap and still run latest iOS.

LongSack
Jan 17, 2003

Volmarias posted:

The mechanism used to install the app and start it (adb) is pretty darn stable. If you can see the device on the list, and it doesn't say "offline" or something, you can install an app. Debugging occasionally is less than stellar. For whatever reason my current setup thinks that the phone has no processes whatsoever when I want to attach a debugger, but I'm also doing whackadoodle tunneling stuff so it's probably on me.

If anyone cares, I found a workaround: Use Visual Studio 2019 and Xamarin. Works very well on all the emulators I have installed. Might change when I try to hook up a live device, but for now all is good.

Verisimilidude
Dec 20, 2006

Strike quick and hurry at him,
not caring to hit or miss.
So that you dishonor him before the judges



pokeyman posted:

I can confirm there's differences between iOS device and simulator, but without any specifics about the issues you're running into (please share if you're able!), my advice is to test on device early and often. Also remember there is a wide variety of screen shapes and sizes, though the simulator does a reasonable job including all of those.

Normally I'd say plug it in and attach a debugger to poke around, but React Native might have its own tooling? TestFlight sounds like a painfully slow addition to your code -> test loop, you shouldn't need it just to run local dev builds.

If it helps, used couple-years-old devices can be had relatively cheap and still run latest iOS.

Is there an easier way to get an app out there for other people in my organization to test it, without Test Flight? That would make testing the app much easier.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Verisimilidude posted:

Is there an easier way to get an app out there for other people in my organization to test it, without Test Flight? That would make testing the app much easier.

They could side load it with xcode? Not sure how that's easier than a link.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Verisimilidude posted:

Is there an easier way to get an app out there for other people in my organization to test it, without Test Flight? That would make testing the app much easier.

No, that's a good use of TestFlight. I was thinking you were maybe skipping Xcode for local development on a device, which is not an ideal use of TestFlight.

Basically I'm not getting any sense of what your process is, so it's hard to figure out what to say. It sounds like you're developing a React Native app, but you didn't run it on a device until sending it to your org via TestFlight, at which point you found unspecified issues that don't appear in the simulator?

Verisimilidude
Dec 20, 2006

Strike quick and hurry at him,
not caring to hit or miss.
So that you dishonor him before the judges



pokeyman posted:

No, that's a good use of TestFlight. I was thinking you were maybe skipping Xcode for local development on a device, which is not an ideal use of TestFlight.

Basically I'm not getting any sense of what your process is, so it's hard to figure out what to say. It sounds like you're developing a React Native app, but you didn't run it on a device until sending it to your org via TestFlight, at which point you found unspecified issues that don't appear in the simulator?

More strangely than that, I ran it on my physical device but no issues presented themselves until we sent the app through to test flight. We’ve since figured out the issue and are continuing development, but I’m worried about this kind of stuff happening again in the future and would like to arm myself with mobile dev best practices as much as I can.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Verisimilidude posted:

More strangely than that, I ran it on my physical device but no issues presented themselves until we sent the app through to test flight. We’ve since figured out the issue and are continuing development, but I’m worried about this kind of stuff happening again in the future and would like to arm myself with mobile dev best practices as much as I can.

That is strange indeed, what was the issue and fix?

It's good practice to double-check the TestFlight (or App Store) build to make sure it works right before you send it out, but I don't expect to see surprises like that. That'd make me suspicious about different build environments. For example, maybe the TestFlight build comes from CI but you did a local debug build for your device? Could your dependencies be resolving to different versions on different machines? Stuff like that.

Newf
Feb 14, 2006
I appreciate hacky sack on a much deeper level than you.
I've encountered a minor mystery which *someone else* might be able to solve at a glance instead of me dumbly looking under lots of rocks for clues:

Adding `127.0.0.1 cbc.ca` to my hosts file does not prevent me from loading cbc.ca (Canada's public broadcaster, and one of my reflex go-to-with-idle-mind urls).

What's up with that? And how can I effectively bar myself from refreshing my local news?

Slimy Hog
Apr 22, 2008

Newf posted:

I've encountered a minor mystery which *someone else* might be able to solve at a glance instead of me dumbly looking under lots of rocks for clues:

Adding `127.0.0.1 cbc.ca` to my hosts file does not prevent me from loading cbc.ca (Canada's public broadcaster, and one of my reflex go-to-with-idle-mind urls).

What's up with that? And how can I effectively bar myself from refreshing my local news?

Have you restarted your computer and/or cleared your DNS cache?

Adbot
ADBOT LOVES YOU

Newf
Feb 14, 2006
I appreciate hacky sack on a much deeper level than you.

Slimy Hog posted:

Have you restarted your computer and/or cleared your DNS cache?

I haven't done much, but other sites that were similarly purged (theonion, hackernews) took effect instantly. Will give it a go.

I suspect there's something wonky in the DNS resolution of CBC.ca because a firefox extension I installed some time back aiming for the same effect also failed to redirect from the site.

edit: I now believe that firefox itself has cached DNS records. There are URLs that I can load via the location bar's autocomplete, but which then fail to load with an F5 refresh
edit2: firefox > about :networking > DNS > [Clear DNS cache] did the trick. I have dumbly looked under the correct rock!

Newf fucked around with this message at 13:26 on Jul 23, 2021

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply