Shop OBEX P1 Docs P2 Docs Learn Events
OBEX on GitHub - Page 2 — Parallax Forums

OBEX on GitHub

2

Comments

  • Cluso99Cluso99 Posts: 18,069
    emiljt wrote: »
    I actually like that Parallax puts stuff on GitHub. Its very well established, works great, and its pretty much the standard when it comes to hosting open source code. GitHub also comes with a lot of useful tools most open source projects are accustom to like issue tracking, builds, etc.

    Whether Parallax hosts their own git servers or uses GitHub, people seem to want a frontend to it, so why add creating a new backend to the bill?

    Edit: I missed the GitLab comment, which is also a great option. Having said that, I would still say GitHub is less work for Parallax than running their own GitLab instance.
    Parallax had a perfectly good OBEX for P1 but that has been abandoned :(

    Git and friends is hardly easy to navigate, and it's certainly not for the major Parallax audience.

    Even I find git overly complex, and I've been a programmer/designer for almost 50 years. I see why some programmers need git, particularly those with multiple developers, but quite frankly I don't want/need git.
  • Cluso99,
    I think OBEX was abandoned because of maintenance needs. It was constantly overrun with spam attacks.
    It was also pretty lacking in many ways for containing source code and versions.

    With a reasonable front end on the github back end, you will not need to deal with git/github at all.

  • I have to admit that, after struggling with it over the past two months, I hate git. It's totally opaque to all but the most nerdy fanboys. I can't even get stuff done using the rote procedures I thought I had learned, let alone grok its big picture. So my plea to Parallax is this: just don't. I know you're understaffed due to P2 expenses and need to shift support to a known third-party platform But git is not it. It never will be. Find something else. Please.

    -Phil
  • If it ain't Git, what is it going to be?

    Can you guys help us find the right solution?

    OBEX, no. Can't maintain it anymore - don't have the staff.

    Ken Gracey
  • github as the backend will be fine. We just need a frontend to make it easy for people like Cluso, PhiPi, and others that don't get or don't want to learn git.
    The frontend can just be a friendly simple face presenting the data, and once working will require less maintenance than hosting your own everything.

    The only other solutions require you to host and maintain it all yourself, or they are similar to git and will be hated as much by the same people.

  • Capt. QuirkCapt. Quirk Posts: 872
    edited 2020-04-30 04:30
    This site is my goto for arduino libraries.
    I don't know how much work is involved, but it is a
    great site for organizing the chaos.

    Arduino Library List


    Bill M.

    I have a lot of time available, but no skills.
  • @"Capt. Quirk" that's very similar to what I've got in mind for the frontend I'm working on. I've taken a look as well at the original OBEX to make sure it has similar features and ease of use. The language I work in the most right now is Rust, so I'm also looking at crates.io a lot for ideas.
  • Cluso99Cluso99 Posts: 18,069
    edited 2020-04-30 08:34
    This site is my goto for arduino libraries.
    I don't know how much work is involved, but it is a
    great site for organizing the chaos.

    Arduino Library List


    Bill M.

    I have a lot of time available, but no skills.
    That looks very nice :smiley:

    Is there any area/forum to support the files/objects/projects?
    I guess there could be a forum section here to support each object.
  • Cluso99 wrote: »
    This site is my goto for arduino libraries.
    I don't know how much work is involved, but it is a
    great site for organizing the chaos.

    Arduino Library List


    Bill M.

    I have a lot of time available, but no skills.
    That looks very nice :smiley:

    Is there any area/forum to support the files/objects/projects?
    I guess there could be a forum section here to support each object.

    I agree, it does look nice.

    It's good to be able to see the different webpages and download files on my old PC. For example, I can access both zip files at https://www.arduinolibraries.info/libraries/adafruit-liquid-crystal but anything at https://github.com is not accessible to me.
  • It would be nice to have a front end that gathered all the objects up so you can see what you are looking for.

    The problem will be that in order to update or put your objects in it your going to need your own git repository and have to check it out so you can update or add a new object to it. Then you will have to push it back and create a pull request to get it updated in the main repository. Those step get be an issue for the casual user.

    I for one don't have a problem with GitHub and have used it for a few years now. I still have to lookup how to do stuff since I don't use it on a regular basis and I am always concerned that I going to do the wrong thing and I have done the wrong thing many times. Once you do the wrong thing they can't be undone except to delete and start over. The product wants to track what changed and build history even if the story is bad.

    Mike
  • yetiyeti Posts: 818
    edited 2020-04-30 16:23
    iseries wrote: »
    The product wants to track what changed and build history even if the story is bad.
    —▷ https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History
  • I use the Apache Netbeans 11.3 IDE [for my Java/C/C++ projects (trying to get Ada to work)] and it has GIT capabilities built-in. When Parallax moved their OBEX to GitHub I created an account and a private repository for the Parallax-Serial-Terminal clone I'm working on. The IDE seamlessly integrated the project with its remote repository. I was hoping the various Propeller IDEs would do the same. Kind of like a "remote" file system. I tried to grab some of the parallaxinc/propeller stuff but I was only able to clone everything from the top level like others have mentioned here. The "cloning" feature is looking for a repo.git file which I'm assuming is only at that level. Someone mentioned each "library" would probably have to be a separate repository. I was able to clone everything into Netbeans where I can navigate the files and open them in an editor. Maybe I should work on compiling within Netbeans? Hmmm...
  • yetiyeti Posts: 818
    edited 2020-04-30 19:00
    https://stackoverflow.com/questions/600079/how-do-i-clone-a-subdirectory-only-of-a-git-repository/39317180#39317180
    $ cat ./git-download 
    #!/bin/bash
    ##
    ## probably some more chars need to be made URL-safe
    ##
    folder=${1// /%20}
    folder=${folder/tree\/master/trunk}
    folder=${folder/blob\/master/trunk}
    svn export $folder
    
    $ ls -l
    total 4
    -rwxr-xr-x 1 yeti yeti 181 Apr 30 18:45 git-download
    
    $ ./git-download 'https://github.com/parallaxinc/propeller/tree/master/libraries/community/p1/All/80 Column Color 8x8 NTSC Text Driver'
    A    80 Column Color 8x8 NTSC Text Driver
    A    80 Column Color 8x8 NTSC Text Driver/DEMO_Potato_Text_01
    A    80 Column Color 8x8 NTSC Text Driver/DEMO_Potato_Text_01/DEMO_Potato_Text_01.spin
    A    80 Column Color 8x8 NTSC Text Driver/DEMO_Potato_Text_01/Font_ATARI_DEMO.spin
    A    80 Column Color 8x8 NTSC Text Driver/DEMO_Potato_Text_01/Potato_Text_GR_01.spin
    A    80 Column Color 8x8 NTSC Text Driver/DEMO_Potato_Text_01/Potato_Text_Start_01.spin
    A    80 Column Color 8x8 NTSC Text Driver/DEMO_Potato_Text_01/Potato_Text_TV_01.spin
    A    80 Column Color 8x8 NTSC Text Driver/DEMO_Potato_Text_01/_README_.txt
    A    80 Column Color 8x8 NTSC Text Driver/README.md
    A    80 Column Color 8x8 NTSC Text Driver/potato_thumb_01.jpg
    A    80 Column Color 8x8 NTSC Text Driver/potatotext012
    A    80 Column Color 8x8 NTSC Text Driver/potatotext012/DEMO_Potato_Text_012.spin
    A    80 Column Color 8x8 NTSC Text Driver/potatotext012/Font_ATARI_DEMO.spin
    A    80 Column Color 8x8 NTSC Text Driver/potatotext012/Potato_Text_GR_01.spin
    A    80 Column Color 8x8 NTSC Text Driver/potatotext012/Potato_Text_Start_012.spin
    A    80 Column Color 8x8 NTSC Text Driver/potatotext012/Potato_Text_TV_01.spin
    A    80 Column Color 8x8 NTSC Text Driver/potatotext012/_README_.txt
    Exported revision 936.
    
    $ ls -l
    total 8
    drwxr-xr-x 4 yeti yeti 4096 Apr 30 18:47 '80 Column Color 8x8 NTSC Text Driver'
    -rwxr-xr-x 1 yeti yeti  181 Apr 30 18:45  git-download
    
    $ du -sh 80\ Column\ Color\ 8x8\ NTSC\ Text\ Driver
    552K    80 Column Color 8x8 NTSC Text Driver
    
    Obviously not the whole repo.

    This would be an end user download of a subtree, not a copy suitable for changing and pushing changes back.

    But obviously GIT can do much more than some think and I too only am scratching the surface of its features. Investing some good will and asking Marjory for help, such answers easily can be found.

    So lets look closer at GIT before spitting at it too much.
    Ok?

    There are even more alternatives to grab subtrees...
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2020-04-30 19:24
    Ken Gracey wrote:
    If it ain't Git, what is it going to be?
    It's been said before, but it bears repeating: the Parallax Forum. The platform already exists, and it has excellent moderating. Why can't a forum set up for the exchange of ideas also be used for the exchange of software? I think it's worth discussing how it would be structured. A thread for each contribution seems right, and it provides a platform for discussion and improvements. Perhaps a master index with links? But who manages that? Or could a Perl script be run occasionally to update the index automatically? It wouldn't be that difficult. In any event, it's a platform that users are accustomed to. It's all about leveraging what you already have, as opposed to forcing users to adapt to something new, tediously opaque, and unsuitable for the task at hand.

    -Phil
  • Ken Gracey wrote:
    If it ain't Git, what is it going to be?
    It's been said before, but it bears repeating: the Parallax Forum. The platform already exists, and it has excellent moderating. Why can't a forum set up for the exchange of ideas also be used for the exchange of software? I think it's worth discussing how it would be structured. A thread for each contribution seems right, and it provides a platform for discussion and improvements. Perhaps a master index with links? But who manages that? Or could a Perl script be run occasionally to update the index automatically? It wouldn't be that difficult. In any event, it's a platform that users are accustomed to. It's all about leveraging what you already have, as opposed to forcing users to adapt to something new, tediously opaque, and unsuitable for the task at hand.

    -Phil

    I like this Phil guy's ideas. Totally agree. :-)
  • +1
  • RaymanRayman Posts: 14,569
    Speaking of the forum... Maybe the "OBEX" button at the top should take us to GitHub now?
  • Cluso99Cluso99 Posts: 18,069
    edited 2020-04-30 21:49
    Ken Gracey wrote:
    If it ain't Git, what is it going to be?
    It's been said before, but it bears repeating: the Parallax Forum. The platform already exists, and it has excellent moderating. Why can't a forum set up for the exchange of ideas also be used for the exchange of software? I think it's worth discussing how it would be structured. A thread for each contribution seems right, and it provides a platform for discussion and improvements. Perhaps a master index with links? But who manages that? Or could a Perl script be run occasionally to update the index automatically? It wouldn't be that difficult. In any event, it's a platform that users are accustomed to. It's all about leveraging what you already have, as opposed to forcing users to adapt to something new, tediously opaque, and unsuitable for the task at hand.

    -Phil
    +1

    It is what many of us do now, and previously. Just not in it's own category eg "P2 Source Code".

    When P1 OBEX existed, many of us never put our code into OBEX anyway. Just lazy, not ready for prime-time, or any other reason. If it's not as simple as OBEX was, then there's no hope of it working. The forum works now - we just need a few "stickys" at the top, and a new category or two.

    It's sort of like I did for the P2 Tricks and Traps. A master, and a discussion category - it's not perfect, but it does work.

    Question to the forum experts...
    Does the forum software support sub-categories?

    If yes, then how about this ???
    P2 Source Code (OBEX)
      sticky: "Rules of Use"
      sticky: "Index"
      P2 Assembler Source Code (PASM2)
      P2 Spin Source Code (SPIN2)
      P2 C Source Code
      P2 BASIC Source Code
      P2 Mixed Source Code (PASM2/SPIN2/C/BASIC/Other)
      P2 Other Source Code
    
    example of sub-category
      P2 Assembler Source Code (SPIN2)
            sticky: "Rules of Use"
            sticky: "Index"
            P2 FullDuplexSerial
            ...
    
    Originally you would start a software project in a new thread within the P2 Discussion category.
    Once you're happy, create a new thread in one of the P2 Source Code (OBEX) sub-categories, which includes a link to the relevant P2 Discussion thread.

    Proposed Rules:
    All code posted here must be MIT license - It's already a Parallax requirement for OBEX
    The first 3 posts in the thread should be made by the original poster of the code.
    First post should contain...
    1. Title of Project
    2. Summary of the projects basics
    3. Link to original P2 Discussion thread
    4. Link to the latest code (with date, revision, and short description of latest changes/fixes)
    5. Link to previous code (with date, revision, and short description of latest changes/fixes) - may be more than one, back to original
    Second post should contain...
    Initially, just a <reserved> statement
    Possible uses:
    Further details of project basics
    Schematics, etc
    Third post should contain...
    Initially, just a <reserved> statement
    Possible uses:
    Further details of project
    Photos, etc
  • PublisonPublison Posts: 12,366
    edited 2020-04-30 23:33
    Ken,

    As a moderator in the Forums, I have asked for access to provide moderator privileges to OBEX so I might be able to take care of the SPAM that seemed to increase over the years. I was told OBEX was going to be shut down.
    I now propose again to do moderation for OBEX. I will watch OBEX as I have for the forums. I do this for free so Parallax does not have to provide any resources. I live to eradicate SPAM!
  • i would call building an obex like website easy! ecspecially if i just archived/revised similiar to a blockchain no lost data

    but why shutdown obex...it couldnt have cost alot to run! it just wasnt very big! im baffled

    microsoft can: turn it off....isnt that like being fired...or owned if u can be fired u can be pushed around and if u cant get to it...u dont own it

    they would have the stats...the history....the communication thats the real gold

    look how much free research microsoft gets

    this prop2 forum was massive for parallax...now it will all end up at MS

    i mean....why do u think the biggest software company in the world bought an open source haven im sure im not the only one laughing at that
  • yeti wrote: »
    But obviously GIT can do much more than some think and I too only am scratching the surface of its features. Investing some good will and asking Marjory for help, such answers easily can be found.

    So lets look closer at GIT before spitting at it too much.
    Ok?

    There are even more alternatives to grab subtrees...
    Nice work! A simple list of the names of the sub directories under: https://github.com/parallaxinc/propeller/tree/master/libraries/community/p1/All/ gets you to every OBEX item? Works for me!

    dgately

  • Searching the forums is a sad state of affairs. There no way to search just in one sub forum. Any search just does a forum wide search using a google service.

    Having OBEX live on the forums would mean searching for anything in the OBEX will be next to impossible without knowing ahead of time what exact keywords to search for... Doing something like "display driver" is going to give you a huge pile of results that are not in the OBEX sub forum, and likely the OBEX hits will be on the second, third, or even later pages of the results.

    Also, when there are 1400+ things in the OBEX (which the old one had), it's going to be painful to browse until the sub forum is broken up into many sub forums by category or something, and then you have to get people to put their stuff in the right place.

    Seems like a bad solution at scale.
  • Hey guys,

    I'm reading this with interest. Why can't we revert back to the OBEX, which we all loved so much? We can't maintain it. You point out that many things are "easy to code" and indeed OBEX was quite simple to configure after several weeks of customization of a standard Drupal module. These modules still have to be installed, configured, and monitored for spam. We are at the lowest staff level in 20+ yrs and simply don't have people to do this kind of work. Instead, our funds and time have been poured into getting the P2 done.

    The concept with GitHub is what Roy pointed out. You won't have to use it like a full-time code developer who uses GitHub like some of us use e-mail. We will create a front end to it like we did with Propeller IDE https://developer.parallax.com/propelleride/ You'll see that the complexities of locating and downloading the desired file are far different than the actual repository view https://github.com/parallaxinc/PropellerIDE

    The frontend is something we can easily do. It allows quick access to those looking for something specific and links to the repo for those who want to contribute.

    While you haven't seen what a front end might look like for P2 objects, could you envision it being a solution if it incorporated some ranking, versioning, and supported public contributions?

    Ken Gracey
  • Ken Gracey wrote:
    The frontend is something we can easily do.
    Great, Ken, so how soon can you make this happen with limited personnel? This is a "COVID-19-testing" moment for Parallax. Possible is one thing. Reality can be something else entirely. Can you deliver a front-end that makes git as easy to use as the OBEX once was? I'm waiting with bated breath. And I hope above hope that Parallax can pull it off. But, honestly, I still thing the forum is the way to go.

    -Phil
  • Ken Gracey wrote:
    The frontend is something we can easily do.
    Great, Ken, so how soon can you make this happen with limited personnel? This is a "COVID-19-testing" moment for Parallax. Possible is one thing. Reality can be something else entirely. Can you deliver a front-end that makes git as easy to use as the OBEX once was? I'm waiting with bated breath. And I hope above hope that Parallax can pull it off. But, honestly, I still thing the forum is the way to go.

    -Phil

    I'll need to defer this to Jeff for a reply, after he finishes the Propeller Tool to include Spin 2 support :smile:

    If you would like to participate we'd be honored to work together.

    Ken Gracey

  • Ken Gracey wrote:
    If you would like to participate we'd be honored to work together.
    I, too, would be honored to participate in a forum-based OBEX design. I think I could contribute a Perl-based indexing scheme that would make finding a desired object easy, so long as certain thread-title parameters were adhered to. But, honestly, I doubt I'd be able to offer much if the OBEX continues to be git-based.

    -Phil
  • ElectrodudeElectrodude Posts: 1,653
    edited 2020-05-01 04:50
    The frontend could hide the fact that it's actually Git underneath by letting you use it instead of the normal git interface to upload content (or in addition to the normal git interface, as long as you don't go overboard with branches). That way, both camps can be satisfied.

    Git has lots of "plumbing" commands that users aren't normally supposed to manually use, but they turn out to be rather useful when implementing automating things.
  • Most people are not going to use git to publish there work. They will just zip up there files and send it as an email that Parallax will put into the git repository.

    As always somebody has to watch what is published and approve or deny.

    Mike
  • Roy ElthamRoy Eltham Posts: 3,000
    edited 2020-05-01 09:53
    Ken,
    emiljt is already working on a frontend for the github obex. He posted in this thread saying as much.

    There is a ton of API available for interfacing with github's backend/data. People have already made CMS's on it, where the files in github were essentially database records. I think it will be reasonably straightforward to make something that people wouldn't even know had github under the covers.
  • I don't see how moving to github prevents spam, except by making it harder for people to submit to the OBEX. That is, either github pull requests will have to be manually approved, or else you'll have to have some group of "trusted" submitters. But couldn't the same procedure (either manual approval or some form of login) be applied to the original OBEX as well?
This discussion has been closed.