SERVING THE QUANTITATIVE FINANCE COMMUNITY

 
User avatar
Polter
Posts: 2526
Joined: April 29th, 2008, 4:55 pm

GitHub

April 13th, 2015, 9:11 am

http://pages.github.com/ may work for content distribution (lecture notes).Perhaps http://www.gitbook.com/ for the course materials -- possibly in conjunction with http://gist.github.com/ (posting code snippets).That being said, it is not a course platform in general.There are specialized platforms, e.g., https://open.edx.org/However, if it is for a course you're teaching, then having your students upload the code into a version controlled repository may actually be useful.Two solutions:http://bitbucket.org/ offers private repositories for free (Git support included)http://education.github.com/ offers private repositories for students (needs status verification)You could even add hooks -- and possibly CI (note: not aware of any free ones for private repositories) -- to verify basic build success, style, etc. (e.g., to save yourself some time from evaluating non-functional submissions).See: http://githooks.com/This may be worth reading for a more detailed experience & advice: http://joshldavis.com/2014/06/30/github ... follow-up/
Last edited by Polter on April 12th, 2015, 10:00 pm, edited 1 time in total.
 
User avatar
outrun
Posts: 4573
Joined: April 29th, 2016, 1:40 pm

Re: GitHub

February 1st, 2017, 4:43 pm

 
User avatar
snufkin
Posts: 64
Joined: January 25th, 2017, 9:05 am
Location: Cambridge

Re: GitHub

February 1st, 2017, 4:50 pm

General question. Is this gitesque approach useful for online courses, code distributions, forums etc. instead of let's say a phpBB?
Code contributions are quite obviously simpler with GitHub. Hell, phpBB is bad for almost anything :) Distributions... GitHub used to be good at that; not any more, as far as I can tell — you may be better off hosting the files on AWS and just linking to those from github pages/wiki.

Git as a forum isn't that good; on the other hand, I can see extensive discussions in github issues, see e.g. https://github.com/Reactive-Extensions/Rx.NET/issues/19

For online courses, I cannot see a point. Having said that, no MOOC I saw so far (and I've finished a dozen) had a good forum. Slack groups work well for that, sites... meh.
 
User avatar
tagoma
Posts: 18255
Joined: February 21st, 2010, 12:58 pm

Re: GitHub

July 25th, 2017, 8:28 pm

Any Github-specific licensing issues to be warned against?
 
User avatar
outrun
Posts: 4573
Joined: April 29th, 2016, 1:40 pm

Re: GitHub

July 25th, 2017, 8:44 pm

I think public repositories *used* to be required to be open-source, but I think it's longer a requirement. The link you gave just says that "most people" use public repositories for open-source projects, but it's that it's a requirement ?

Is your project open source?
 
User avatar
tagoma
Posts: 18255
Joined: February 21st, 2010, 12:58 pm

Re: GitHub

July 25th, 2017, 9:08 pm

If I were to upload code on Github, it would be small pieces, no 'real' projects, and the main goal would be I have them accessible from everywhere. So, I would definetely be OK for people to use, share, change, ... Maybe I would also like to be able to track how people use and improve my stuff. Hopefully, it will get me back some new ideas.
 
User avatar
outrun
Posts: 4573
Joined: April 29th, 2016, 1:40 pm

Re: GitHub

July 25th, 2017, 9:49 pm

Sounds good! To stimulate that it would be wise to clearly pick an open source licence? MIT or GPL? That way people won't have to worry if it's allowed.

Also add "copyright tagoma" to be safe I would say?
 
User avatar
katastrofa
Posts: 8051
Joined: August 16th, 2007, 5:36 am
Location: Alpha Centauri

Re: GitHub

August 4th, 2017, 10:34 pm

AFAIK one can pay for a private repository on GitHub.
 
User avatar
outrun
Posts: 4573
Joined: April 29th, 2016, 1:40 pm

Re: GitHub

August 8th, 2017, 9:03 pm

I have a private (paid) account ($7/month, unlimited repositories)

Still don't trust it to be private! I guess the only way to get some certainty is client side encryption? 
 
User avatar
katastrofa
Posts: 8051
Joined: August 16th, 2007, 5:36 am
Location: Alpha Centauri

Re: GitHub

August 8th, 2017, 10:06 pm

Obviously, some American company still have access to your code, private account or not. I'd never upload my proprietary software.
BTW, this is a licence note I copied from somewhere:
https://github.com/rilwen/open-quantum- ... /README.md
Feel free to copy the relevant part.
 
User avatar
outrun
Posts: 4573
Joined: April 29th, 2016, 1:40 pm

Re: GitHub

August 8th, 2017, 10:10 pm

yes, so that's why you needs to only send encrypted data to the github private repo.

perhaps this? https://github.com/AGWA/git-crypt
 
User avatar
kc11415
Posts: 371
Joined: March 16th, 2003, 10:02 pm
Location: United States

Re: GitHub

December 26th, 2017, 11:47 pm

Please forgive if this is a silly question on my part, but am I missing something regarding the comments about encrypting uploads to github?
git (regardless of whether hosted on github or elsewhere) depends upon SHA signatures to determine if a particular object or element within a repository has changed, and thereby needing to have the latest copy of that object uploaded to the repo server.  SHA is effectively itself a form of encryption.  Depending on your encryption scheme, if you re-encrypt all files every time you do a push, then you run the risk of most of your files needing to be uploaded for every push.  That would explode your space consumption on whichever server is hosting you.  To avoid that, you might need to create a makefile to only re-encrypt those files which have changed.  You would also need to define your repository to keep the ciphertext & plaintext files in separate directories, or else explicitly configure the repo to exclude the plaintext files.  To exclude the plaintext files from the repo, wouldn't you need to effectively hide them from the repo?  If you do that, then aren't you giving up the ability to run commands like "git blame" ?

The point is not whether you trust the particular brand github.  If you need ciphertext storage in a repo server then git would seem to be an inelegant platform.

Or, perhaps someone else has figured a solution for all these objections, and perhaps I'm a bit behind the times ?
 
User avatar
outrun
Posts: 4573
Joined: April 29th, 2016, 1:40 pm

Re: GitHub

December 27th, 2017, 12:02 am

That's IMO exactly what you would do. Encrypt​ing a file will give the same result as long as the source file is the same, (and thus the SHA with be the same) so you can encrypt files on the fly: only changed source files will end up getting stored.

I agree it's a hack, still better than nothing, it's the only way to control yourself who sees the files.

These are more advanced techniques that allow for intelligent queries on encrypted data without decrypting (CryptDB eg), or have groups of users have their own keys (like in WhatsApp) that I think are cool, but that would require modifications on the server side of git I guess?
 
User avatar
kc11415
Posts: 371
Joined: March 16th, 2003, 10:02 pm
Location: United States

Re: GitHub

December 27th, 2017, 12:26 am

It depends on each encryption algorithm whether or not you get the exact same ciphertext each time you encrypt the plaintext.  This is a deliberate choice on the part of each cipher designer.

The point of a git repo server is that all clones should have the exact same content, such that anytime you snap a copy onto some other machine you would still get the exact same result.
If you have some files/scripts/wrappers for handling the conversion between plainttext<->ciphertext then you have something which is not getting pushed up to the repo server.
Or, the wrappers end up being their own separate repo of utilities for converting between ciphertext & plaintext, with the only missing part being the key itself.

"git blame" does not need to be run up on the server.  However, to look at the history of changes to the plaintext version of the repo, I suspect you would need to define a separate repo of the plaintext collection which never gets pushed to the server, but gets encrypted as a bundle and then that entire bundle would need to be what gets pushed to the server.

The minute you pursue that approach it seems you would lose the benefits of only storing deltas and you end up with many redundant copies of your entire repo, padded by all the overhead of encryption.  If your gonna do that, it seems you'd explode your space consumption and then you lose the benefits of using a repo hosting service.

I think I'm starting to repeat myself here :-/
ABOUT WILMOTT

PW by JB

Wilmott.com has been "Serving the Quantitative Finance Community" since 2001. Continued...


Twitter LinkedIn Instagram

JOBS BOARD

JOBS BOARD

Looking for a quant job, risk, algo trading,...? Browse jobs here...


GZIP: On