fcsw.bsky.social
@fcsw.bsky.social
The database needed an interface that would protect it from user mistakes, and at the same time make it easier for users to input and search data.

This was going to take a few months. One year later and I've...reached a milestone.
December 6, 2025 at 3:09 AM
Also, LibreOffice runs on every operating system I know of. However, if other people were using the database, a quick-and-dirty user interface wasn't going to cut it.
December 6, 2025 at 3:09 AM
However, once I started, I realized that anyone wanting to collect lists of resources for any group could use the same model. If I avoided the Microsoft products I used to work with and developed this in LibreOffice, then the app would be free and the Dropbox distribution method would be free.
December 6, 2025 at 3:09 AM
To distribute the information, I could run reports once a month and place them in my Dropbox.
December 6, 2025 at 3:09 AM
As an ex-database developer, I thought I could hack together a well-normalized relational database and some quick-and-dirty input and search forms, and have something that I could use to collect and maintain web resources.
December 6, 2025 at 3:09 AM
When the doc reached eighteen pages, I realized that it was becoming a maintenance nightmare. Also, the longer it became, the harder it would be for anyone searching through it to find what they wanted.
December 6, 2025 at 3:09 AM
I wasn't able to contact the original compiler, so I took her list, removed web links that no longer pointed to anything useful, and started adding links that I had found. This became the document available in my Dropbox.
December 6, 2025 at 3:09 AM
Donald Trump got re-elected, and I knew that was bad for any marginalized group of people. I decided to revive a list of sex worker resources that a sex worker had compiled at the start of the pandemic.
December 6, 2025 at 3:09 AM
I've finished the data intake part of the app, along with a web page test form that automates checking for web pages that have changed. With all the preceding in mind, I'm going recap how I got here and what I'm doing.
December 6, 2025 at 3:09 AM
then there's no point in developing the app if I don't post about it on social media.

Aside from the two weeks it took me to set up the new computer, I've worked steadily on the application and I've reached an important milestone.
December 6, 2025 at 3:09 AM
and posting on social media about something I'm doing feels very weird. But since I'm developing an app for people who want to maintain lists of resources for specific groups of people, and since no one will know about it if I don't post about it,
December 6, 2025 at 3:09 AM
It's been a while since I last posted. In the interim there was illness and computer crashes that finally convinced me that I needed a new computer. To be honest, part of the break in posting was due to the fact that I'm an introvert,
December 6, 2025 at 3:09 AM
But if the app is checking 100+ URLs at 1 go, I want to avoid transferring that much data where ever possible.
September 7, 2025 at 7:11 AM
The script checks for 1 thing, & if it doesn't find that it looks for another thing, & if it doesn't find that it looks for another...

In the worst case, if no useful metadata can be found, the app will download the web page, count the characters, & compare that w/ a previous count.
September 7, 2025 at 7:11 AM
It doesn’t take long to collect 100+ URLs & I don’t believe anyone wants to manually check them all once a month, or even once a year.
=========================================

I've got 3778 lines of code, plus a tiny Python script to implement an http client to check for pages that have changed.
September 7, 2025 at 7:11 AM
The test form uses http HEAD requests to identify web pages that haven’t changed & don’t have to be checked by a person. This is experimental, but if it works, it will allow the person collecting resources to manage link rot by checking only a small portion of the URLs in the database.
September 7, 2025 at 7:11 AM
Web Page Test form-In progress. One of the big problems with a large collection of URLs is link rot. Over 4 years, the document that inspired this project had 10% of it’s URLs become useless for one reason or another.
September 7, 2025 at 7:11 AM
Service Area editor-Done. Very similar to the Address editor, but incorporates things like Metropolitan Statistical Areas that aren’t part of addresses. Data validation rules are different.

Data Entry form-Done. For all the data not collected in addresses & service areas.
September 7, 2025 at 7:11 AM
Lookup table editor-Done. User can add data & search categories to the lookup tables.

Address tree editor-Done. User can edit trees & see a tree diagram that incorporates the user’s edits on-the-fly.
September 7, 2025 at 7:11 AM
& make all parts of an address or service area searchable. The app also collects info on services provided, available times, contact info, who the services are provided to, & the URLs for the service providers’ web pages.

Current status
Table normalization-Done. Tables conform to all 7 normal forms
September 7, 2025 at 7:11 AM
Database & user interface for collecting resources for people in certain groups, e.g. neurodivergent, physically handicapped, drug user, etc. Addresses & service areas are stored in trees in order to accommodate variations in addressing schemes within the US & in other countries,
September 7, 2025 at 7:11 AM
I've been working on this for 9 months. When I started I thought it would take 2-3 months. Now I'm hoping to finish by 2026, but I'm not sure I'll make it.

A summary of the project & progress.
September 7, 2025 at 7:11 AM
Postscript: Today I logged onto X w/capital letters. I don't know if the capital letter ban was the reason I couldn't log on for 3 months, or if it was just an over-night anomaly. X is still unreliable and unnecessary. I will post there when I can & not worry about it when I can't.
#SocialMedia
June 4, 2025 at 9:35 PM