Sorry for double post, but I'm thinking it may be possible to just use Github Pages to generate a list of links to DownGit for each object. That requires JavaScript to be enabled, but requires no seperate server or hosting headaches.
What if a new OBEX were created that actually uses git underneath, such that if you don't want to be bothered with git, you can use it like the old OBEX, but if you do want to use git, you can get the object's git URL and interact with the project via git?
What if a new OBEX were created that actually uses git underneath, such that if you don't want to be bothered with git, you can use it like the old OBEX, but if you do want to use git, you can get the object's git URL and interact with the project via git?
That would be best although developing such a thing is probably beyond Parallax's resources. Does something like this already exist?
Well, just letting people upload random ZIPs unchecked won't fly, seeing how much spam the OBEX always got (which in a git repository, could never be fully deleted (without major headaches, that is)).
Since manual intervention is required either way, anyways, attaching ZIPs to GitHub issues as an alternative to properly submitting pull request seems fine. As mentioned by someone, that would be better than sending an email to Parallax, since everyone can see it, even before it is accepted.
The real problem is allowing easy listing and ZIP downloads of objects. As said above, I think I could develop such a thing.
EDIT: OTOH, the actual amount of code isn't that much, such that just downloading the entire repo (which, for the uninitiated, is as simple as clicking the big green "Download or clone" button and then the "Download ZIP" button on the repo's root page) is probably good enough.
Actually the really important part of an OBEX like system is the search feature. Typically what one wants is to find a driver for a particular piece of hardware. Having to download an entire git repository and then sift through it for the driver of interest is definitely not going to meet most user's needs.
I really like git, and I think any programmer who doesn't use it (or a similar advanced version control system like mercurial) is missing out. But it's not the best tool for all jobs. I think the OBEX is an example of something where git doesn't help.
Actually the really important part of an OBEX like system is the search feature. Typically what one wants is to find a driver for a particular piece of hardware. Having to download an entire git repository and then sift through it for the driver of interest is definitely not going to meet most user's needs.
I really like git, and I think any programmer who doesn't use it (or a similar advanced version control system like mercurial) is missing out. But it's not the best tool for all jobs. I think the OBEX is an example of something where git doesn't help.
True but git *is* a good way to maintain the history of objects. OBEX isn't very good at that unless you just check in lots of copies with v1, v2, v3, etc as suffixes. That's why I thought OBEX should just be a read-only (and search-only) interface to what is in GitHub. I'm not sure how easy that would be to do though.
Well, just letting people upload random ZIPs unchecked won't fly ...
Why would that even be necessary? It should be easy enough to concoct a server script that checks a zip for contents that comport with a Spin archive, and reject it if it doesn't.
Out of curiosity, does anyone know the total disk size currently used by all of the OBEX code entries? I can't imagine that it is that large... maybe a couple of hundred meg, tops?
Out of curiosity, does anyone know the total disk size currently used by all of the OBEX code entries? I can't imagine that it is that large... maybe a couple of hundred meg, tops?
Obex was copied to github, so downloading the full zip would answer that question.
Well, just letting people upload random ZIPs unchecked won't fly ...
Why would that even be necessary? It should be easy enough to concoct a server script that checks a zip for contents that comport with a Spin archive, and reject it if it doesn't.
-Phil
Ah, but
a) Not everything one might want to upload is a spin archive
b) That doesn't stop someone trying to spam OBEX specifically
Out of curiosity, does anyone know the total disk size currently used by all of the OBEX code entries? I can't imagine that it is that large... maybe a couple of hundred meg, tops?
a ZIP dump of parallaxinc/propeller is apparently 111 MB. Will see what that decompresses to and what is actually taking up that space
So, parallaxinc/propeller is 222 MB decompressed.
However, only ~84 MB of that is .spin files.
There's also:
- ~30 MB of PDF files
- ~29 MB of JPEG images
- a ~15 MB example file for a video player object
- a random copy of Propeller.exe (=PropTool) in a seven segment display object?
- All the jquery.js files included in doxygen documentations put .js files higher in the file type ranking than any other non-spin language
For the OBEX-via-git idea, each project would get its own individual repository. Spam projects repositories would just be entirely deleted. There'd be no need to worry about having to use pull requests to ensure people don't mess with other people's projects - when you upload an update to your project, it creates a new commit on your project's repository, which you control entirely. If you choose to do stuff via git, you can do whatever you want to the repo, since it only contains your project.
One repo per project makes more sense, anyways. Only problem is if someone deletes their account for whatever reason, their projects are gone.
This could be solved by moving them into an organization.
Another advantage of seperate repos is that whoever actually wrote the code is responsible for accepting pull requests / handling issues.
Also, I think that GitHub's built-in web download/upload options may be sufficient when dealing with seperate project repos? No forks, no pull requests, no bash. Haven't messed with the web uploading at all and I'm not sure if you can create a release without a preexisting tag in the web interface.
If all you're doing is uploading files, creating releases and maybe accepting the odd pull request on your own repository, GitHub's web interface is entirely sufficient (and IMO in general superior to the old OBEX interface).
Like, could any of the people who don't want to use git locally try this:
1. Create a new repository (hint: click the plus icon at the top right) (also, you obviously need an account first)
2. Click the "Upload Files" button on that repo's home page
3. Upload some .spin (or whatever, really) files, (optionally enter a commit title and description) and click the big green confirm button
4. Repeat steps 2 and 3 a bunch of times, but modify the files you uploaded and add some new ones
5. Maybe delete a file or two (open the file and click the trash can)
6. Optional: Post the repo link here so I can pester you with pull requests and issues
Why couldn't another Forum be set up just for code? - the "OBEX Forum"
That would need wiki like access to at least the top post.
There was a Propeller Wiki (which died) and there is a Propeller Wiki (reanimated and ignored).
Use this instead.
Why?
If I post my code on the OBEX you can't change it and this is good so, isn't it?
This is exactly the point, git is for multi programmer development on larger projects and the OBEX was a place where a single developer could easy share his work by uploading a PropTool generated zip file, describing it and give other people a simple way to download it.
Same would work with a OBEX forum.
I use source control at work since decades (in my case subversion ), and if you want to use git as source control, fine with me. But why I would NEED git if I don't need it?
TurtoiseGIT and TurtoiseSVN can't be installed at the same time, and you can be sure my employer has no interest in sharing our source via GitHub, even if git is the latest and newest kid in town.
Other people like fossil as source Control, why you are pushing git so hard on every guy who wants to program P1 and P2?
As often I agree with @localroger, even if I am not really a n00b anymore, I have a hard time with git and am very happy about @DavidZemon and his TeamCity build server allowing me to get the newest FlexGui without messing around with @ersmith git account.
Collaboration can be a good thing but honestly for say @rogloh's video driver I just need his last stable Version as a simple download, have no need for pull requests or changing his code at all. (I doubt I could do it any better as he does)
The classical saying that if you have a Hammer everything looks like a nail to you, comes into my mind.
git is in no way a replacement for the OBEX. it just does not fit. And as I said before the OBEX was just user driven, needed some moderation against spam, so not much work for anybody at Parallax, needed no pull requests and someone at Parallax to approve my upload, I could post my project and everybody could download it without Parallax involved at all.
@Cluso99 has a very nice Idea. OBEX forum, you must be logged in to create Threads, you must be logged in to post a comment, you can look at it and download whatever without being logged in.
I am pretty sure @ersmith could add something like PropTools 'Archive as Zip' (including date/time in the filename) with ease to FlexGui.
Easy to handle for Parallax (just one more forum), the moderators know their tools (and might not know Git & Co)
Nobody needs to install anything on his computer, need to learn anything new, what is the drawback to this solution?
Most things that go on the OBEX get posted on the forum. anyways.
The problems with relying soley on the forum are that
a) The built-in search is worthless
b) The forum software changes every couple years, each time breaking all links in the process
c) To get the latest version of something, you have to sift through the entire thread back-to-front until you find an attachment... unless the old version in the first post has been replaced, which, pleasedontdothat
Actually it's gotten quite good. When did you try it last?
b) The forum software changes every couple years, each time breaking all links in the process
It's stayed the same now for 4 1/2 years, since changing to Vanilla.
c) To get the latest version of something, you have to sift through the entire thread back-to-front until you find an attachment... unless the old version in the first post has been replaced, which, pleasedontdothat
The first post can simply be edited to point to the latest version.
nono @Wuerfel_21, putting the newest Version of something in the top post is used a lot here in the forum, but one does not need to replace the existing one, that would be a pleasedontdothat, agreed.
And git does not change over years?
A separate OBEX Forum (just for sharing) would be as painless as possible for parallax to moderate and easy to understand for everybody.
nono @Wuerfel_21, putting the newest Version of something in the top post is used a lot here in the forum, but one does not need to replace the existing one, that would be a pleasedontdothat, agreed.
And git does not change over years?
A separate OBEX Forum (just for sharing) would be as painless as possible for parallax to moderate and easy to understand for everybody.
anyways,
Mike
The OBEX forum could have a separately issued log-on and password and be approved by the moderators. Anyone can view and download, but to comment and/or post code you need to log on. That will stop a good chunk of spam.
We'd get all the good parts of the forum such as posting sections of code etc. The original poster OP (creater of the thread) has access to his/her first post to update (upload) files as well as update any usage info. If the OP reserved two more posts for later info at the time of the first post, then there is some space for additional info now or later. This is pretty much what I and others do now on this forum.
While there are some reasons to just use the current forum, IMHO a separate OBEX forum makes more sense because it can be secured better by vetting new members whereas the current forum allows new posters access without much/any vetting. We want noobs to join easily and be able to ask questions but this has the downside of some spam (which the moderators do a good job at deleting).
Comments
Since manual intervention is required either way, anyways, attaching ZIPs to GitHub issues as an alternative to properly submitting pull request seems fine. As mentioned by someone, that would be better than sending an email to Parallax, since everyone can see it, even before it is accepted.
The real problem is allowing easy listing and ZIP downloads of objects. As said above, I think I could develop such a thing.
EDIT: OTOH, the actual amount of code isn't that much, such that just downloading the entire repo (which, for the uninitiated, is as simple as clicking the big green "Download or clone" button and then the "Download ZIP" button on the repo's root page) is probably good enough.
I really like git, and I think any programmer who doesn't use it (or a similar advanced version control system like mercurial) is missing out. But it's not the best tool for all jobs. I think the OBEX is an example of something where git doesn't help.
-Phil
Obex was copied to github, so downloading the full zip would answer that question.
a) Not everything one might want to upload is a spin archive
b) That doesn't stop someone trying to spam OBEX specifically
a ZIP dump of parallaxinc/propeller is apparently 111 MB. Will see what that decompresses to and what is actually taking up that space
However, only ~84 MB of that is .spin files.
There's also:
- ~30 MB of PDF files
- ~29 MB of JPEG images
- a ~15 MB example file for a video player object
- a random copy of Propeller.exe (=PropTool) in a seven segment display object?
- All the jquery.js files included in doxygen documentations put .js files higher in the file type ranking than any other non-spin language
This could be solved by moving them into an organization.
Another advantage of seperate repos is that whoever actually wrote the code is responsible for accepting pull requests / handling issues.
Also, I think that GitHub's built-in web download/upload options may be sufficient when dealing with seperate project repos? No forks, no pull requests, no bash. Haven't messed with the web uploading at all and I'm not sure if you can create a release without a preexisting tag in the web interface.
Will futz around and report.
If all you're doing is uploading files, creating releases and maybe accepting the odd pull request on your own repository, GitHub's web interface is entirely sufficient (and IMO in general superior to the old OBEX interface).
Like, could any of the people who don't want to use git locally try this:
1. Create a new repository (hint: click the plus icon at the top right) (also, you obviously need an account first)
2. Click the "Upload Files" button on that repo's home page
3. Upload some .spin (or whatever, really) files, (optionally enter a commit title and description) and click the big green confirm button
4. Repeat steps 2 and 3 a bunch of times, but modify the files you uploaded and add some new ones
5. Maybe delete a file or two (open the file and click the trash can)
6. Optional: Post the repo link here so I can pester you with pull requests and issues
That simple enough?
Why?
If I post my code on the OBEX you can't change it and this is good so, isn't it?
This is exactly the point, git is for multi programmer development on larger projects and the OBEX was a place where a single developer could easy share his work by uploading a PropTool generated zip file, describing it and give other people a simple way to download it.
Same would work with a OBEX forum.
I use source control at work since decades (in my case subversion ), and if you want to use git as source control, fine with me. But why I would NEED git if I don't need it?
TurtoiseGIT and TurtoiseSVN can't be installed at the same time, and you can be sure my employer has no interest in sharing our source via GitHub, even if git is the latest and newest kid in town.
Other people like fossil as source Control, why you are pushing git so hard on every guy who wants to program P1 and P2?
As often I agree with @localroger, even if I am not really a n00b anymore, I have a hard time with git and am very happy about @DavidZemon and his TeamCity build server allowing me to get the newest FlexGui without messing around with @ersmith git account.
Collaboration can be a good thing but honestly for say @rogloh's video driver I just need his last stable Version as a simple download, have no need for pull requests or changing his code at all. (I doubt I could do it any better as he does)
The classical saying that if you have a Hammer everything looks like a nail to you, comes into my mind.
git is in no way a replacement for the OBEX. it just does not fit. And as I said before the OBEX was just user driven, needed some moderation against spam, so not much work for anybody at Parallax, needed no pull requests and someone at Parallax to approve my upload, I could post my project and everybody could download it without Parallax involved at all.
@Cluso99 has a very nice Idea. OBEX forum, you must be logged in to create Threads, you must be logged in to post a comment, you can look at it and download whatever without being logged in.
I am pretty sure @ersmith could add something like PropTools 'Archive as Zip' (including date/time in the filename) with ease to FlexGui.
Easy to handle for Parallax (just one more forum), the moderators know their tools (and might not know Git & Co)
Nobody needs to install anything on his computer, need to learn anything new, what is the drawback to this solution?
curious,
Mike
The problems with relying soley on the forum are that
a) The built-in search is worthless
b) The forum software changes every couple years, each time breaking all links in the process
c) To get the latest version of something, you have to sift through the entire thread back-to-front until you find an attachment... unless the old version in the first post has been replaced, which, pleasedontdothat
-Phil
And git does not change over years?
A separate OBEX Forum (just for sharing) would be as painless as possible for parallax to moderate and easy to understand for everybody.
anyways,
Mike
The OBEX forum could have a separately issued log-on and password and be approved by the moderators. Anyone can view and download, but to comment and/or post code you need to log on. That will stop a good chunk of spam.
We'd get all the good parts of the forum such as posting sections of code etc. The original poster OP (creater of the thread) has access to his/her first post to update (upload) files as well as update any usage info. If the OP reserved two more posts for later info at the time of the first post, then there is some space for additional info now or later. This is pretty much what I and others do now on this forum.
While there are some reasons to just use the current forum, IMHO a separate OBEX forum makes more sense because it can be secured better by vetting new members whereas the current forum allows new posters access without much/any vetting. We want noobs to join easily and be able to ask questions but this has the downside of some spam (which the moderators do a good job at deleting).
I do like the ideas on an obex forum.