What to write or search on github to get the code for what is written below:

Dennis Lee Bieber wlfraed at ix.netcom.com
Mon Jan 17 15:39:25 EST 2022


On Mon, 17 Jan 2022 01:55:15 -0800 (PST), NArshad <narshad.380 at gmail.com>
declaimed the following:


>This is due to the time factor

	And that opens another can of worms... Before this "assignment" was
given to you, surely someone made some sort of estimate of how long it
would take to produce, taking into account your (apparent) lack of
familiarity with any of the technology required.

	Python, Flask, and web-hosting (on Heroku) all appear to be a result of
stumbling onto a "Hello World" tutorial that does no persist ant data
storage and relies upon a free/hobbyist level account on the hosting
provider -- an obvious flag that this is not a well thought out project for
some actual customer/employer (it might qualify as an internship assignment
at some school looking to automate the reservation/check-out of text
books). The lack of understanding in how Python dictionaries are
manipulated doesn't leave one impressed either...

	In one respect, given the limited functionality stated, one gets the
impression of a class GROUP assignment, in which the individual functions
were divvied up to each group member to work, with pretty much no analysis
of suitable data storage, etc. (You only gave some sort of CONOPS for
"users" to "reserve" books; no CONOPS for unreserving books, an implication
that after reserving books the user will go to some desk [in library, in
store {unlikely if there is a return date for books}, some warehouse] and
receive a copy of the reserved book -- but no CONOPS for how this deck
validates that the user has reserved any particular book [no report printed
by user of reservations made during a session, no search function for desk
staff, etc.).

	The Excel requirement comes across as "this is how we've been doing it,
and we have a lot of data in the file we don't want to lose". In other
words -- one should have defined a migration path to replace the Excel
spreadsheet with something suited to a multi-user and/or web-based
application. That, or someone in the group has squashed any discussion on
data storage to force their biased viewpoint. (I've been on the fringe of
one such: in a department with over 80 VAX FORTRAN-77 programmers [some of
us quite skilled in working the internals of the language] and some 20-30
PDP Macro-11 programmers, the Macro-11 group was tasked with porting their
application to VAX systems. One person held out for the port to be done in
VAX Pascal "because colleges were teaching Pascal" at the time [TurboPascal
in all likelihood] totally ignoring the massive F-77 expertise available;
he also is rumored to have threatened to leave if Pascal was not chosen and
management caved-in. Even though VAX Pascal was much different from
TurboPascal [no development environment, though it did support separate
compilation and linking], it did not have advanced math
operations/functions -- just the ones found in Jensen&Wirth, try doing
orbital computations with a subset of trig functions -- requiring
programmers to import the F-77 runtime library for the missing functions. A
few years later the manager confessed that submitting to Pascal was a
mistake -- it didn't take long for the VAX Pascal project to be ported to
HPUX workstations using C and X-window system).


	I also note that during the course of this thread, the spreadsheet
appears to have gone from a somewhat logical "one-row per title"

TITLE	|	AUTHORs	|	INVENTORY		|	AVAILABLE	...
A Book		Someguy		10					9			..
Book 2		Who Dat		100					100			...
Popular		Madonna		30					1			...

to the illogical "one-column per title"

TITLE		A Book			Book 2			Popular
AUTHORs	Someguy		Who Dat		Madonna
INVENTORY	10				100				30
AVAILABLE	9				100				1
...

Consider that Excel only supports some 16K columns, but 1M rows, and
expanding each column to show, say a 200 character title (there are some
long book titles in the world) results in only two or three books being
visible at a time... And there is no "side scroll" page key. In contrast
the first layout would only need one column to be expanded, the rest can be
narrower, and one can use page-up/page-down to scroll through a lot of
books at a time. Oh, and while a cell can hold some 4K text -- Excel itself
can only display the first 255 of those. That's going to put a limit on how
many names you can fit in the reserved-by column (about 10 25char names)
and easily find while scrolling. More than that and you have use "Find"
operations from the menu.

Heroku-Specific	note: a recent web-page I encountered searching for
information for a different question indicates that Heroku does not support
SQLite3 and, by extension, ANY file-based dynamic data storage (so, no
Excel files either). An Heroku Python "dyno" [virtualized work container]
is initialized using a requirements file -- that file basically lists all
the 3rd party Python modules that need to be installed using "pip". If the
"dyno" is stopped (application shut down to upload modifications, or maybe
just to remove an application that has been idle for some hours) it, and
any data files, are just deleted -- when someone tries to connect to the
app again, a new "dyno" is spun up and loaded from scratch. One is supposed
to use one of the client server databases provided by Heroku for persist
ant storage (since those are not inside "dyno" container -- the app makes a
network connection to the database server.


-- 
	Wulfraed                 Dennis Lee Bieber         AF6VN
	wlfraed at ix.netcom.com    http://wlfraed.microdiversity.freeddns.org/


More information about the Python-list mailing list