Finding bugs in apps, an ongoing process.

Published:

When you create an app and you are the only user, bugs might go unnoticed for longer. The app has 1 major flaw at the moment, it cuts off the data rows to match the shortest column... not noticed in 11 of 14 games because they display properly.

The obvious cause... in either the classifier function or the follower function, a second run of the function is made for the bonus ball games, this is to have the right statistics appear for the range of balls, such that in the power ball the 5/69 will have a different expectancy than the 1/26. Well the issue is ALL of the columns are cut off after 26 rows... the stats screen still displays the correct information, but the table is cut off in ALL columns to the shortest row, the bonus ball.

To trace this, the flow of information needs to isolate the exact moment where the data is combined and written to the table.

It is not in the functions, they run twice.

It is not in the logic part of the screen display.

It is in the "game factory", where for bonus ball games it sets up both runs. I would not know this if I let AI write the code... this is why the project took a few months instead of a few hours.

The fix will be relatively simple, in the second run, pad the rows so it matches the larger row count of the white balls.

That of course means fixing it first on the windows side, then pushing the fix to Android.

Having been focused on the pick 3, pick 5 and match 6, I would not have noticed right away. All of the single runs work perfectly... the match 6 pads shorter columns with (none, none) on the followers and zero counts on the classifier.

That being found when looking at the Cash 4 Life screen while trying to figure out how to find the data for Millionaire 4 Life since the lazy PA lottery did not make a page for "year at a time" data. It only had 4 rows in both functions. Then checking power ball and mega millions, it was then obvious that the data cut off at the end of the bonus ball row.

At least the updater still works for the 13 remaining games, they did not screw that up...

PostgreSQL 18.3 does now run on my 10 year old laptop! Had to first uninstall PostgreSQL 11, the version I used in school. The latest R studio is now in place, as well as updating the python libraries to include the one for interacting with SQL and Biopython.

On that front I have some project ideas already...

1. A dashboard that tracks research and clinical trials for tackling type 1 diabetes (T1D).

2. An app that will compare samples of white blood cell components and beta cell components from datasets of people with and without T1D.

Nothing on the edge, just a place to get started... a "Hello Bioinformatics World" project.

Entry #638

Comments

Avatar hypersoniq -
#1
Fix was exactly in the spot I suspected and easy to squash that bug!
It was in the game_factory.py module that I used the zip() command to assemble the final table data . The default behavior was fine for all other games, but zip() cuts off all rows below the shortest... so now before combining all the rows, I use max(len(column)) in an if block to pad the shortest row with "none", which fixes the length issue without displaying "none" on the screen.

Back to stable!

Post a Comment

Please Log In

To use this feature you must be logged into your Lottery Post account.

Not a member yet?

If you don't yet have a Lottery Post account, it's simple and free to create one! Just tap the Register button and after a quick process you'll be part of our lottery community.

Register