Dear All,
After some discussion on the forum, I have decided to do a ‘build’ thread. In this thread, you will follow along, and participate, with the creation of an application to help Fly Tyers keep organized. As we go along, you will probably learn more than you wanted to know about Fly Tying. I understand that is part of building a good app. This may also totally fail. I am used to that. It is like acid off a ducks back.
These kinds of ‘build’ threads are very common in the world of moving atoms, but not so much here in the moving electrons world. This is probably due to the difficulty of presenting the development of a coding project in a linear fashion.
And that non-linearity of construction belies the idea that coding is a strictly logical process. It is far more like composing than constructing. So the challenge here trying to have a narrative thread to the composing process.
Galloups’s Sunken Ant, size 18. Tied by TPW
My coding background: I am a hobby developer. I have written apps in XOJO for molecular phylogenetic analysis using methods that I developed during my time as an academic. I’ve also used Perl, C++, and MatLab. That was 10 years ago and did not involve databases. Basically, I am not a total NOOB, but pretty close.
I will be developing the project on a Mac using the latest version of XOJO. The other tools (apps) I think I will use are DBKit, SQLite, SQLiteStudio, OmniGraffle, BBEdit, Perl, and perhaps some XOJO plugins.
Next, a couple of conventions I will use.
Questions to the community will be in bold.
As in:
Then I decided to quadruple the framistam using the biquadFold function.
Should I have used the triFoldQuanternary function?
//Code Inserts will be formatted as code, like
Var Foolish As New CircularReference
Foolish=CircularReference(CircularReference)
If Foolish then
Var AAAHHH As String="AAAAH, I'M FALLING"
AAAAHHH=AAAAHHH+" oh geez"
End If
Foolish=nil
Variables that are mentioned in the text will be italicized. As in, Eggs was decremented by two every time Earl came by for ‘coffee’.
Enough Housekeeping.
So, first is the mission:
•Create an Application that helps Fly Tyers spend more time at the fly tying bench and less time searching for old stuff, new stuff, or materials
Second is:
•Start creating and getting something that is sort of useful and kinda works.
The most basic part of this would be a database of flies and a basic database interface. This will be my first task.
As a first step, I will create create a very simple SQLite database, which I will call WTFdb.Sqlite3
SQLite3 database: WTFdbAlpha.sqlite3
Database table: t_Fly
Database Columns: PRIMARY KEY ID_Fly As Integer , FlyName As String, FlyPhoto As String
This database will be stored inside the folder for this project.
FlyPhoto is a string to store the file path to the FlyPhoto. Thus when I get a photo, I will get get the filepath, resolve that to a FolderItem, then load picture(f). All photos will be stored in a single location to be determined. For now, the photos will be stored in a folder inside the project folder.
Is this the best way to go, or should I store the photos as BLOB directly in the database.
Next I will create a basic UI and use a slightly modified version of DBKit to load data from the WTFdbAlpha.
Any comments, criticisms or wacky ideas are completely appreciated.
TPW Bedraggled Emerger Size 14
Next is the basic user interface.
PS. If anyone wants a few of the flies I will show, send me a pm. Limit 6.