Forum Rules and Etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.

Rule 1: Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.

Rule 2: Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.

Rule 3: Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.

Rule 4: "PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.

Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Rule 5: Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.

Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.

New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.

Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

PHP/JavaScript programming help wanted for manx

  • Filter
  • Time
  • Show
Clear All
new posts

    PHP/JavaScript programming help wanted for manx

    You may know about the manx documentation database. What you may not realize is that the entire implementation of this web site is open source on github.

    I work on it when I find slices from my bucket of "copious spare time".

    After VCFMW there was some discussion of making some improvements to manx. I will eventually get to them, but it would go faster if some other people were to help out.

    The code is heavily unit tested and in the past week or so I've been modernizing the code to PHPUnit 6, which simplifies some of the testing.

    The future needs are not particularly difficult, but as I say it would go faster with some help.

    Take a look at the github repository and if you think you're up for it, let's talk about how you can help.

    @LegalizeAdulthd | Computer Graphics Museum | Terminals Wiki | Manx Documentation Database

    I've been doing a bunch of work on the develop branch recently. In general, the PHP community infrastructure has advanced significantly since I started coding this application around 2010. When I started coding this, the PHP community didn't have a package manager and finding high quality libraries for writing a PHP application was difficult if you didn't work in this space on a daily basis. I've spent some time catching up to "community norms" for PHP applications and have tried to make the code base more modern and normative instead of home brew and full of NIH/DIY-isms.

    The next release will be 2.0.7, a minor release containing some bug fixes and one feature: automatic ingestion of most bitsavers docs.

    Here's an overview of work that's been done on develop for the next release:
    • Added continuous integration builds that validate that the tests stay working (modernization)
    • Switched to using composer for PHP package management (modernization)
    • Updated to use PHPUnit mock objects instead of hand-crafted test doubles in the unit tests (modernization)
    • Eliminated a bunch of code and database duplication between processing of and IndexByDate.txt files for automatic ingestion (refactoring)
    • Switched from home-brew dependency injection to using Pimple\Container (modernization)
    • Resurrected all the open issues from the old codeplex project and injected them into github (open bugs, community)
    • Fixed some small bugs that were open on codeplex (open bugs)
    • Added a wiki page that gives an overview of the code architecture (community)

    Remaining work to do:
    • I have a little bit more testing and bug fixing to do on develop (mostly around the IndexByDate processing) (refactoring)
    • Ingest changes to IndexByDate files more efficiently (performance)
    • Automatically ingest documents from IndexByDate files (feature)

    The main thing that is lacking in the application right now is editing existing data when authenticated as a logged-in user. This will be more important with automatic ingestion of bitsavers documents based on the IndexByDate.txt processing.
    I'm looking at the Slim framework to make it easier to write pages for editing data. In general, I think the way to move forward with new features is to expose REST API endpoints through Slim and then have front-end JavaScript that performs the operations via AJAX calls. Slim also has facilities for rendering pages from templates, which will make it easier for writing new pages in a sane manner. Some edit pages and corresponding endpoints will end up forming the next release, tentatively named 2.1.0.
    Last edited by legalize; October 23, 2019, 08:36 AM.
    @LegalizeAdulthd | Computer Graphics Museum | Terminals Wiki | Manx Documentation Database


      I added a couple wiki pages describing the support for an IndexByDate.txt and inferring document metadata from document URLs.
      @LegalizeAdulthd | Computer Graphics Museum | Terminals Wiki | Manx Documentation Database


        Spent a part of the weekend doing some more hacking on this. I made good progress on automatic ingestion of documents from the IndexByDate.txt file. It's looking like 2.0.7 might release next weekend.
        @LegalizeAdulthd | Computer Graphics Museum | Terminals Wiki | Manx Documentation Database


          A basic implementation of automatic document ingestion has been created and is undergoing testing. It still needs some tweaking to identify documents whose titles begin with something that looks like a part number.
          @LegalizeAdulthd | Computer Graphics Museum | Terminals Wiki | Manx Documentation Database


            I've been testing the automatic ingestion and I need to improve the recognition of part numbers from the URLs. Because different companies use different forms of part numbers, I'm thinking of a set of regexes associated with a company and/or subdirectory to match part numbers from file names. If the pattern matches, then it's assumed to be a part number and is used for adding the document. Otherwise, I'm just getting too many bogus documents added.

            As a result, it looks like 2.0.7 won't ship this weekend, maybe next weekend. When developing heuristics like this, you just have to test repeatedly against the typical dataset so you can improve the heuristic. Due to the open-ended nature of the test/revise cycle, it's hard to say when it will be good enough to deploy, but we're getting much closer.
            @LegalizeAdulthd | Computer Graphics Museum | Terminals Wiki | Manx Documentation Database


              Work has been a little crunchy lately, so 2.0.7 is making progress, but has slipped a few weeks. It turns out that ingesting documents from bitsavers IndexByDate.txt is possible, but with lower accuracy than I would like, so will need some improving over time by building up heuristics for various directories in bitsavers. This likely means that a human will curate a pattern for a directory allowing all the docs in that directory to be ingested, instead of curating the ingestion of each individual document.

              I'm going to keep the limited ingestion I have now as part of 2.0.7, fix the remaining open issues for the 2.0.7 milestone and then work on improving the automatic ingestion for 2.1.0.
              @LegalizeAdulthd | Computer Graphics Museum | Terminals Wiki | Manx Documentation Database


                A bunch of smaller issues were fixed today, bringing 2.0.7 much closer to release. One minor enhancement and one bug fix left and 2.0.7 will be ready for deployment.
                @LegalizeAdulthd | Computer Graphics Museum | Terminals Wiki | Manx Documentation Database


                  OK, all the issues relating to milestone 2.0.7 have been completed and the development branch has been merged to master. I'll probably deploy this to the production server this weekend. Basic automatic ingestion from bitsavers is present, but I'm not happy with the results of the heuristic when deployed globally. So I'm going to continue to improve this for 2.1.0 to increase the accuracy of the extracted metadata.
                  @LegalizeAdulthd | Computer Graphics Museum | Terminals Wiki | Manx Documentation Database


                    Version 2.0.7 has been deployed and is live.

                    I'm continuing development with milestone 2.1.0. There are two main goals: 1) improve the heuristics of automatic document ingestion from bitsavers and 2) make the site mobile friendly.

                    I added goal 2) when browsing the site on my phone and noticing that the font sizing was pretty hideous and not very useful
                    @LegalizeAdulthd | Computer Graphics Museum | Terminals Wiki | Manx Documentation Database


                      I've split some work from milestone 2.1.0 to produce milestone 2.2.0 and milestone 3.0.0. This will let me deploy improvements to the document curation process more quickly.

                      Milestone 2.1.0 improves the document curation user interface to make it more amenable to manually curate documents from the IndexByDate.txt file. This was basically a feature request from Silent 700 some time ago. (ChiClassicComp also creates an IndexByDate.txt like bitsavers to aid in assisted/automatic document ingestion.)

                      Milestone 2.2.0 will be improvements for automatic document ingestion. (This is all busted right now anyway because blew up.)

                      Milestone 3.0.0 will focus on mobile friendly rendering.
                      @LegalizeAdulthd | Computer Graphics Museum | Terminals Wiki | Manx Documentation Database