GitHub Student Developer Pack
education.github.com
education.github.com
I often think about the "everyone can code" movement. It's not something I particularly believe in, but exposing as many people as possible is a great thing.
However, the bit I get stuck on is programming is more than just typing characters in the correct sequence. It's deploying, testing, environment issues, metrics, databases, dns, etc. Basically it is a lot more complex than "learn to code".
This smorgasbord of services really drives that point home and I can't imagine how overwhelmed I'd be if I saw this back when I was a student.
EDIT: I'd like to make clear that I think this is absolutely awesome and no student or person otherwise should be intimidated or overwhelmed, let your curiosity wander!
I would even go further and say that such things are well over 50% of a working programmer's time. Learning the toolset for modern programming is as hard or harder than learning how to program well. It's a different kind of hard, though -- the ability to slog through tedium and frustration.
I'm sure I'm making it more of a big deal than it is because I am old and cranky, but it really can seem daunting, even if it's only in appearance.
You're mixing the "everybody can code" idea with "everyone should become a professional software engineer". The former is a great idea, the latter not so much.
"Everybody can code" is about basic computer literacy. Too many people do boring and repetitive jobs on their computers. Basic understanding of programming should help people write that Excel macro that saves them a few hours of manual labor. Or make more informed decisions when being a customer purchasing software engineering services. To understand what a computer program or programmer can and, especially, can not do.
If I'm asked "should I learn to code", the answer usually is "if your job includes repetitive tasks using a computer, the answer is yes".
While I don't feel overwhelmed by all the services, there are some of these I couldn't see how we would immediately use such as data analytics.
I just wish HipChat was on there too :)
I actually filed a support ticket yesterday trying to entice them to get on the list.
Awesome pack, and great service from DigitalOcean as well.
Also of interest is that my account is apparently already flagged as a "student account" since I've gotten the 5 free private repos in the past with it. Which means once I hit "Get your pack" it immediately gave me access.
Happy coding!! <3
"Contact DigitalOcean support with your unique promo code if you have previously redeemed a promotional offer, credit card required for activation"
Git itself (as I'm sure you know) is a free tool, and learning git is a worthwhile skill no matter where you are using it. Hell, I know people who use git for collaborative document management.
And the SSL stuff and domains offered through namecheap are going to be helpful to anyone who wants to go into web development. Knowing how to set up a domain, with proper DNS records and SSL configurations, is a pretty basic task for people who do web stuff. And, again, these things are platform agnostic. I think there is a lot of value offered here, and not all of it serves the purpose of furthering vendor lock-in.
You can one-click-deploy a LAMP stack from DigitalOcean lol.
Honestly this offer is just like those gigantic coupon books you get in the mail that gives you discounts to all the local area restaurants (that paid up). It's great if you want a good deal if you want to go out, but it's not like anybody's doing you a favor.
Either way, I hope I can get all the other awesome stuff (especially the CrowdFlower access). This + the 150 day free Azure trial I just got from a hackathon this past weekend would make for some enjoyable weekends.
- Github has a large enough network effect that I can ask for another student's Github account and expect that they will have one. That lowers the friction to getting a new project started.
- I have moved a repo from BitBucket to Github, it is about as easy as the comments state.
- That said, I haven't needed more than 5 private repos at once, and the ability to visit one site (and one interface) to view all my work is easier than visiting two sites.
I would rather a student learn how to use git and the communities and tools around it first if both of these were options.
I also got the student pack right away, probably because of my student status.
While I'm no longer a student myself, I don't think cost is the main prohibitive factor for students. The fundamental tools I use for my side projects - Atom, Bitbucket and Heroku - are available for free. The other services are nice to have, but seem to be much more niche.
I think the prohibitive factor is the perception that coding is hard and complex for regular folks, and is only easy for the few born with innate ability.
For instance, I'm working on a web app to visualize a particular subset of twitter activity. Scaling the database to cope with performance demands may prove challenging on free project tiers.
Does the same price apply for teachers or what's the discounted rate?
I didn't get far enough along in the signup flow to see what the pricing was but did see teachers as an option.
The benevolent goal is to make good software affordable to those just learning and starting out.
The more sinister goal is to get young impressionable minds hooked on your software.
Regardless I support this, and I imagine a lot of people will be digging up their .edu email accounts to get this.
(a) Licensee may: ...
(ii) use Software for non-commercial, educational purposes only, including conducting academic research or providing educational services
(b) Licensee may not: ...
(iii) use Software for any commercial purpose.
http://www.jetbrains.com/student/license.htmlAll of which is fair (it's free, and they don't owe you anything), but restrictive. Technically you can't even use if for your personal side projects unless they can be classified as "academic research"
While there are alternatives (Atom -> Sublime or Notepad++) for many of these services, the bundling of this all together should present students a logical next step instead of hunting around for a service right away.
I see all these services listed, and all I think is "they are hooking these guys to a service oriented approach", a "pay $25 and you don't have to worry about X". Thing is, what you learn while trialling technologies is invaluable and should not be replaced by a preselected list of SaaS, many of which I would tell any beginner to stay away from.
To figure out desktop programming, you have to download a compiler and hope there is a good tutorial on some random blog which most likely gave up after part two of a five part series. To figure out web programming you need a server and a domain name and wait what language are you using but then again what framework are you using and for the love of god how do I deploy I don't even know where Ubuntu keeps the /www folder and all of the tutorials I find expect me to know what an Angular is when I just learned what a Javascript is and I worked with Codecademy so I know Javascript but not how to use it to make a web page and I know Python but I still need to know HTML, CSS, and Javascript so I give up.
What's new on Netflix?
You are right in that the umbrella term "programming" is incredibly daunting to a person who has never written a line of code. Everyone knows that more options does not translate to better outcome all of the time. To step into the world of programming today is to step into a dictionary of dictionaries. It's scarily awesome.
Is that a problem? From a professional perspective, it seems ideal to not pollute the field with people who are uninterested in such things, as they would very quickly run into issues keeping their knowledge up to date. The field has been and always will be in flux.
From an amateur perspective, I think it's fine if people are dissuaded, amateurs should do things they find enjoyable. If learning about your hobby isn't enjoyable, programming will offer little utility beyond minor entertainment.
While having a multitude of choices can make choosing difficult, it can also make it very easy, just pick anything. With not preconceived notions about how you want to program, all of the popular languages and frameworks are essentially equal to you. As you actually start to program, you'll be exposed to new concepts that you may or may not like. If you don't like them, you be able to trivially search for alternatives with your newfound knowledge of knowing what you like/dislike.
>...or magazines that teach you programming from start to finish with code samples included.
There's a stupid amount of free and non-free literature for getting into programming. Searching for just about any popular language and/or framework will get you at least one book on Amazon and an amazing amount of tutorials/walkthroughs/guides/etc from Google.
As for the free education, I wrote a whole section on the terrible state of teaching programming, from free blogs to Codecademy. There are many better-worded arguments saying that programming education falls short of what it should be as well.
We should be encouraging more people to program, especially if it means they can do it without a college degree. The amount of people in the world without access to a college education is appalling, but we still want them contributing. What we don't need is elitism.
There are a lot of interesting problems that can be tackled with simple tools (how about writing a toy compiler in C, for example). Will such things be useful? Probably not, but the learning experience is very valuable. And that's already a good outcome for someone who is only getting their feet wet.
(That said, I'm a relative beginner myself, and I'm kind of itching to make something that is actually useful, at this point. But things like learning language specific package managers, make tools, and other stuff that are needed can be taxing.)
So now we have all this computing power and these powerful and easy to use languages and a broad distribution network and thousands of developers and teachers and applications to learn from and programming has only gotten harder. Think about that one. We've stepped back from BASIC to make programming harder. Because we expect more from our programs now, but we haven't put any effort into making it easier to do even the most simple thing.
I'm still drawing interfaces with tens of lines of code. In Visual Basic, I just drew them on the screen. In Java, I'm fighting to get things aligned or sized right or in the right order, to the point where in my Java class I took there was two weeks dedicated to getting to grips with Swing. So we abstract the hard stuff away... with more code. And though we abstract it away to make it easier, we still look down on language like Visual Basic, because real programmers don't draw their interfaces with a mouse, they do it in code with vim or emacs.
Just look at the mindset of one of the other people who responded to me. "We want to make it harder so amateurs can't do it". Fuck that shit. We have the power to make it easier but we don't.
I know this GitHub is geared toward helping students getting ideas up, running, and selling, so toward the latter, it's invaluable, and actually quite generous. I'm still an old fuddy-duddy, and think that it's best to understand how to build the mechanism before buying it off the shelf.
Education in the UK has a huge mountain to climb and it's not the kids that need to climb it.
I have people who want me to install visual basic (Not VB.NET) for them because they can find a lot of teaching material for it and won't touch python because "They're not doing that raspberry pi thing".
Could any of the github people in this thread let me know if I have a chance? The Digitalocean, namecheap, hackhands would be so insanely useful for me.
EDIT:
Thanks to John Britton from github for manually approving my request.
So this doesn't include people in bootcamps? It seems like a ding to those programs that they aren't considered student developers by GitHub. This might be an oversight or a technicality, but it's too bad.
You get $25/month off, which is equivalent to a free Bronze plan with 10 private repositories. If you upgrade, you only have to pay the difference.
We get free GitHub plan (but try to run most stuff open source), free Jira by Atlassian and free IntelliJ by Jetbrains. Really helps us recruiting volunteers and makes it a fun and "real-life" experience for the involved students.
And of course we're now hooked on their services when moving to other projects in the future. ;)
Like to get my daughter and few of her buddies to sign up for this to do a few web / mobile projects.
Not limited to just .edu email address, right? Her high school doesn't have that.
I'm sure you can email them the school ID, or proof of enrollment.
This is an amazing opportunity and I'm notifying all my college friends.
But the constraints imposed by not being able to pay for third-party services during my years as a student have been the main motivator behind tinkering with setting up my own services and finding (FLOSS) alternative solutions to the well-known applications the grown ups were using.
I think one has to "suffer" through all the required stages in order to grok all the IT/CS/CSE problems and tradeoffs that exist out there. I also think this suffering is needed to appreciate why these service are good.
Nevertheless kudos for an awesome bundle!
I'd imagine most students in the west are comparatively very rich.
What could I build with these tools?
It's a nice bunch of free trials to commonly needed services for developers. Email delivery, payment processing, hosting, continuous integration, etc etc..
Your question doesn't really make sense. It's a sandbox; we can't tell you what kind of castle to build.
This is a pretty damn cool offer.
"If you're a student aged 13+ and enrolled in degree or diploma granting course of study, the GitHub Student Developer Pack is for you. All you need is a school-issued email address, valid student identification card, or other official proof of enrollment"
So I need to pay money to a big institution to be considered a student? Many 'students' would probably be in a better financial situation than a non-'student' who is trying to learn. Somehow 'education' has turned into a tool for passing on privilege.
I do agree this pack is not meant for everyone. And I also agree that these guys would find it hard to differentiate between a real learner and one who is not. But I'm amazed they didn't think about linking it with a coursera course or something. Anyways, I've spent 10 minutes thinking about this and they've probably spent 10 weeks. They've done more research, I might be missing something.
Without that, how would they validate who is a student vs not? I know nothing of Go but want to learn. Am I not a 'student'?
I understand what you are saying, but without being an actual verifiable student they would be giving this away to the world
Further, with all of the thousands of dollars saved by not being a traditional student, surely there is some money for these services out of pocket (not all of which are 100% required to learn)
What? Why would they need to?
Those "perks" are only appealing to somebody who's learning or a hobbyist. They are absolutely worthless to a professional. I will burn through them in a week.
Github is just trying to market this to kids. It has nothing to do with learning or providing a better value proposition. It's all about hooking them into your brand early. Nothing wrong with that, but that's what it is.
Yup. That's how Amazon Prime got me. Free Prime for students? Well, four years later I'm hooked and pay full price.
Ingenious marketing strategy.
Adobe, do it as well I think, though they're close to a monopoly with Photoshop.
Have people become so accustomed to using your software that it's easier for them to pay for it than to transition to another company's products or indeed to go with FOSS alternatives.
It's the drug dealer model: first hit is free.
Isn't it worth mentioning that a package meant to give people access to expensive learning resources isn't available to those who need it most?
It's not a charity. The open source hosting tools (which github offers) are more charitable.
Couldn't agree more!!
This points out sort of the paradox we have here...it's argued that you should just "learn to code," but then they're requiring here that in order to do this you need to be part of some larger engine of learning that my or may not have anything to do with what you're trying to learn in the first place. So which is it?
In the US, I guess you do.
Here in Finland, all uni/polytechnic/what-have-you students get a school-issued email address and student identification card, and tuition is free.
So I guess your criticism is for the US culture? :)
It can stand to improve, but I see nothing wrong with the idea. You still have to pay taxes anyway, why not spend them on the common good?
"Most" do not want anything close to it, or the rich do not want anything close to it?
I'm absolutely certain that most people in the US would vote for free healthcare and education. The problem of course is that politicians and special interest groups make sure things never get to that stage.
You've blown my mind. I need to think this through carefully, but your reasoning may very well apply to health-care too.
Thanks for setting us straight. I'll be sure to vote for privitization next opportunity!
EDIT: Sarcasm!
I haven't seen the numbers on education, but certainly no OECD country has healthcare more expensive than that in the US. Heck, many pay less in public funds than the US, even though the private healthcare costs in the US are a little bit higher than the public costs -- and this was true before the Affordable Care Act, just to forestall anyone who might blame "ObamaCare".
Additionally, several also have lower public + private costs than the US's public costs (which in turn are lower than US private costs).
I once made a rough comparison, in the 60k–100k yearly salary range, for tax rates between Finland and California. As far as I remember, they were quite similar.
Just, in Finland you get (almost) free education, (almost) free health care, better public transportation and worse national defense.
I'd be happy to do this again, if you (or someone) provide the California numbers, I'll do Finland.
[1] "Free" in this context means that it is subsidized by the government, and it is probably funded by some taxation. Do you have a better word for it, that isn't impractically wordy and awkward? Then convince us to use that.
Besides you need some easy way to check if someone is a student or not and the most easy way to delegate this job is to require an email from an institution.
If anyone wants the DO portion of this and are not enrolled in traditional education but learning code full time and thinks they should get it regardless: email me: john@do.co
What? You mean to say that students, who spend all their time studying (and pay tuition in some countries), are in a better financial position than people who has either free time and don't pay tuition, or has a full-time job?
They give it to students because that the reality is that students often don't have any spare money for tools, but they do indeed need/use them for their education etc.
I have one of these, they work great.
The one and only problem they have is they require 2 or 3 intermediary CA certs that need to be "bundled" into a file.
After buying one, and finding the Comodo provided instructions lacking the needed info, I put together a howto for both Windows and Linux (for Apache) - http://www.devside.net/wamp-server/installing-comodo-positiv...
Comodo has two because they have the structure like this:
=> Old Root (with trust everywhere)
==> New Root (with limited trust)
===> Issuing Intermediary
====> Your Cert (no trust without intermediary)
But with the basic certs it's 1 or 2 levels deeper, and the bundle file is not provided ready-to-go after the purchase.
I remember some years back you could either use a single-root cert (with just your SSLCertificateFile file), or with 1 Intermediate CA that you would just use as the SSLCertificateChainFile file.
COMODO provides all the files in the ZIP sent to you via email. Don't know about others.
This issue bit me hard. I was extremely frustrated for a few hours when my browser said the site was fine but OpenSSL spat out a generic failure message when trying to get a page in ruby.
Discovering that the browser caches certificates made me realize that it wasn't an OpenSSL or ruby environment issue and lead me down the path to discovering that my server setup was wrong; I needed to explicitly provide intermediate certificates. Prior to that, I figured it happened automatically (as it seemed to with my browser).
I wish I'd seen this writeup before. It would have saved me a bunch of time. In retrospect, Commodo's instructions lacked important information. Your page, on the other hand, actually explains what I needed to do.
EDIT: I should mention that support was quick at getting back to me for an unrelated question about their website. Their lacking instructions notwithstanding, I'd still wholeheartedly recommend PositiveSSL.
I was searching around and Google cached a Verge news story about this thing. However, the story was taken down and education.github.com/pack was a blank page.
Happy to see that they launched it. Looks great!