This is why we never host closed-source code online. ....Can you really trust the third party sys-admins managing your servers? It's easy to simply blame everything on malicious hackers. Also, check your computer for malware.
There isn't much else you can do besides get a lawyer and prove you built it first.
&& check your pc for malware / rootkits
I guess take it as a hard lesson, since you mentioned repo -- stop trusting "the cloud" for all your secret stuff. Somebody has to manage all that and there is definitely somebody besides you who can see all that. If you're going to backup online, encrypt everything before you upload. Never leave your source code hanging out naked on the internet...and yes, naked also means placing them unobfuscated, unencrypted on "private clouds"
I'm quite surprised there isn't a general "sigh of relief"
that this is happening...
HN is a tech news community, where many if not most of you who are working have tech salaries that can easily pay for the new Coursera pricing...
everyone knows the tech industry is volatile in the way that every few months, a new technology comes out that sends IT professionals scrambling to learn it in order to, not stay ahead of the pack, but just to keep up with the pack.
the enormous amount of free tech/programming/CS theory/knowledge from Coursera and others have created more competition in terms of tech jobs.
By principle, all members of our society deserves access to quality education, especially in the STEM areas. But let's face it -- this is good news for existing professionals in IT...for the most part ;-)
When to check for security? Before I type a line of code, and right after I insert the semi colon for each line. If your code/logic is tight (and you weren't half asleep during programming), there normally shouldn't be any application-level security vulnerabilities so you should be thinking about security every single line...
For more detailed checks, Generally, everything I build is modular, so I do a sec overview after each module is complete. If you wait till the end, it can get really messy. After the app is ready to publish, I check the entire system - I attack it myself and try to plug in all the holes.
It's really frustrating when I paid $50k/yr at a top 5 univ for CS deg, and some of the CS courses (including a junior year core) were taught by PhD students with incomprehensible English accents. I have no issue with non-english speakers getting their PhDs...they're obviously very intelligent and I respect them greatly...however, they are not suited at all for instruction by lecture... in those courses i learned nothing during class, and learned everything myself later on.
i once had a PhD student as lecturer in an advanced track course -- we bumped into him at a bar one saturday...this guy was jumping all over the tables, drunk and wasted out of his damn mind...
now i did have some amazing profs but those were all tenured.
why the hell would anyone do this, or even think about doing this?
if you're doing it for convenience, it ain't worth the jail time.
if you're doing it because your work computer has expensive development software, you're breaking ethics and legal agreements, then you'd deserve the jail time.
There is nothing "mathematical" in being a developer, unless your job is related to math, finance, crypto algorithms, etc...
I've known guys back in my CS classes who got straight A's in the hard CS theory and had C's in the required calc courses, where the grading curves were shared by students from all majors.
Let's admit it -- being a developer is like learning a new language -- what's so different from constructing logical sentences with C# than constructing logical statements with a foreign language? Yes there is a DIFFERENCE, but really, the basic building blocks are the same...
When I was 11, I learned c++ with a buddy (also 11) and after school we'd work on fun little games together. I know I would never cut it in a pure math phd-type track and he definitely wasn't able to hack it when he got to college and majored in math -- he dropped out and switched majors halfway.
There isn't much else you can do besides get a lawyer and prove you built it first.
&& check your pc for malware / rootkits
I guess take it as a hard lesson, since you mentioned repo -- stop trusting "the cloud" for all your secret stuff. Somebody has to manage all that and there is definitely somebody besides you who can see all that. If you're going to backup online, encrypt everything before you upload. Never leave your source code hanging out naked on the internet...and yes, naked also means placing them unobfuscated, unencrypted on "private clouds"