Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
History is littered with hundreds of conflicts over the future of a community, group, location or business that were "resolved" when one of the parties stepped ahead and destroyed what was there. With the original point of contention destroyed, the debates would fall to the wayside. Archive Team believes that by duplicated condemned data, the conversation and debate can continue, as well as the richness and insight gained by keeping the materials. Our projects have ranged in size from a single volunteer downloading the data to a small-but-critical site, to over 100 volunteers stepping forward to acquire terabytes of user-created data to save for future generations.
The main site for Archive Team is at archiveteam.org and contains up to the date information on various projects, manifestos, plans and walkthroughs.
This collection contains the output of many Archive Team projects, both ongoing and completed. Thanks to the generous providing of disk space by the Internet Archive, multi-terabyte datasets can be made available, as well as in use by the Wayback Machine, providing a path back to lost websites and work.
Our collection has grown to the point of having sub-collections for the type of data we acquire. If you are seeking to browse the contents of these collections, the Wayback Machine is the best first stop. Otherwise, you are free to dig into the stacks to see what you may find.
The Archive Team Panic Downloads are full pulldowns of currently extant websites, meant to serve as emergency backups for needed sites that are in danger of closing, or which will be missed dearly if suddenly lost due to hard drive crashes or server failures.
ArchiveBot is an IRC bot designed to automate the archival of smaller websites (e.g. up to a few hundred thousand URLs). You give it a URL to start at, and it grabs all content under that URL, records it in a WARC, and then uploads that WARC to ArchiveTeam servers for eventual injection into the Internet Archive (or other archive sites).
To use ArchiveBot, drop by #archivebot on EFNet. To interact with ArchiveBot, you issue commands by typing it into the channel. Note you will need channel operator permissions in order to issue archiving jobs. The dashboard shows the sites being downloaded currently.
Manage your repositories' incoming issues more efficiently with a few new updates: a keyword and saved reply to mark duplicate issues, along with a clearer, more informative style for keywords.
Marking an issue as a duplicate
Sometimes your users report the same bug, or your teammates share the same idea. No matter why a redundant issue was posted, you can now mark it as a duplicate of another issue.
To flag a duplicate, add a comment using the duplicate of keyword followed by the issue number or URL. A "Marked as duplicate" timeline event will appear in the timelines of the referenced issues.
We've updated the way keywords are displayed in issues and pull request to give you more information. Keywords like closes are highlighted, and when you hover over them, you'll see a tooltip explaining what the keyword means. For closes, you'll learn that the referenced issue will close when the pull request is merged.
Nearly three years ago GitHub joined millions of people and hundreds of companies to support the open internet. In 2015 the United States Federal Communications Commission (FCC) passed net neutrality rules under which broadband providers may not block access to legal content, applications, services, or non-harmful devices; impair or degrade lawful internet traffic on basis of content, applications, services, or non-harmful devices; or favor some lawful internet traffic over other lawful traffic in exchange for consideration of any kind.
We won that battle, but broadband providers have been challenging the rules in court (see a brief we joined defending net neutrality) and elsewhere.
Earlier this year, the new FCC commissioner proposed rolling back the rules. Along with 1,000 companies, we asked the commissioner to reconsider and protect the open internet.
Chances are, if you're using GitHub, you're building or learning how to build software. Whether you're contributing to open source, building a mobile app company, or creating a more decentralized Internet, we all need a level playing field.
If you are as passionate as you were in 2015, we'll win the battle in the United States once more.
GitHub presents Field Day—a one-day unconference for leaders of technical student communities. Students will share how they build communities, learn from each other’s successes and mistakes, and explore how they can collaborate in the future. We'll spend the day focusing on how our summer internships in the San Francisco Bay Area can benefit our respective communities at home.
Field Day is a flexibly structured, student-run event. Attendees drive most of the content, and you'll find students giving lightning talks and leading discussions on their experiences.
If you run a student tech club or if you're actively involved in your school’s tech scene, and also happen to be in the Bay Area this summer, we’d love to welcome you at GitHub HQ on July 29th.
Professor Chris Lupo has taught at California Polytechnic State University for eight years and recently revamped his upper-level Architecture course using GitHub Classroom. In this post, he shares his workflow for deeper insight into student work, efficient debugging, and community support.
Open tools lead to a hackable classroom practice
At California Polytechnic State University, the motto is “learn by doing”, so it follows that students learn with real-world tools, rather than with board work and problem sets.
There's evidence of this learning philosophy in the tools teachers choose—particularly in open source projects GitHub Classroom and Raspberry Pi.
In group work, we do a lot with Raspberry Pi and students get into the habit of making sure they push to get it on their other systems, or so their partners can download changes. The flow encourages strong development habits. Push early, push often—that kind of thing.
Chris uses Classroom to distribute starter code and create individual and group assignments.
Diagnose, collaborate, fix: a debugging workflow that doesn’t hurt
Chris uses Classroom, GitHub’s collaboration features, and Raspberry Pi to work with students when they get stuck. Here's a quick overview of his workflow:
Quickly access a student repository. Assignments set up through Classroom automatically add Chris as a collaborator, and the dashboard clearly presents a list of student work.
Clone and comment in-context. Students can see where changes need to be made and leaves comments directly in their code.
Test the fix on his own Raspberry Pi.
Push the code back to the student’s repository, with fixes and comments.
This workflow solves the cumbersome task of transferring files. Both instructor and student can work from their own environments, instead of switching between computers.
I can clone their work, connect to the Raspberry Pi that I have access to, and run their code. From there I can work with them directly on their code base to show them what steps to take and how to move beyond their current problem. After we work together, I can push the code back to them when we’re done.
I have access to everybody's code all the time. I've not had that capability prior to using GitHub Classroom.
An active community of teachers helping teachers
When Chris has questions about Git or best practices, he reaches out to the GitHub Education Community for advice from other teachers.
I've also found the community really helpful for support. For example, I learned about a script named orgclone that was really useful for me in repository management.
Even though Git and GitHub take some time to get students up to speed, Chris says students are happy with the experience now that he’s implemented GitHub.
Feedback has been very good. There is a little bit of a learning curve for people who have never used Git before, but they all said it was worth it.
Katrina is an Open Source Advocate at GitHub. As a frequent speaker and proposal reviewer for conferences like GitHub Universe, she's seen hundreds of speaker proposals—and written a few as well.
GitHub Universe is returning to San Francisco this fall, and we're looking for new voices to lead our breakout sessions. Your stories are unique, and having lived them, you're the best person to share your insights with others. If you're new to speaking, don't let that stop you. We're more interested in your experience solving problems than how many talks you've given.
With our submission deadline approaching on July 28, we're inviting you to share your session idea with us. Speakers will receive an honorarium and travel accommodations to make sure budget isn't a limiting factor in your decision to participate.
Here are some tips to keep in mind as you refine your speaker proposal.
Put your audience first.
Identify who can benefit most from your story. Even if it’s a first-person experience, tell it to those individuals in a way that helps them connect with it. Make them feel like they’re a part of your experience by framing it in terms of similar experiences they might have and what they can do with the information you’re sharing.
Set the stakes.
Establish a problem you’re addressing and why people should care. This is separate from the solution. Your audience will only care about a solution if you set up the problem in a way that helps them understand it and apply it to their experiences.
Work towards a solution.
After your audience understands the problem, help them understand how to approach it and what’s novel about your approach. It’s ok if you don’t have it all figured out, but make your experience actionable for others and describe possible solutions.
There were a lot of memorable sessions last year, but these ones stood out as particularly impactful.
Anjuan Simmons, "Lending Privilege"
Anjuan takes the often divisive topic of privileged and marginalized groups in technology, and puts each audience member on both sides of the divide. He makes the topic relevant to everyone and leaves nobody feeling like they’re to blame. After reframing and providing a place where we can stand together, he helps us look ahead with practical, actionable advice. It's a thoughtful, insightful talk that the audience continued to discuss throughout the conference.
Keavy McMinn, "GitHub Integrations"
Keavy sets the stage by telling stories about specific ways that GitHub's OAuth applications have caused frustration and failures. Whether you've experienced the problems yourself or not, you'll nod in sympathy and wince in empathy. Then she goes on to share the hero's journey of designing and implementing GitHub Apps, which solve many of the OAuth app frustrations. It's a story full of trials, blind canyons, and yaks—as an audience member, it's easy to think "this could be me", because every technical project has its tribulations. And the outcome of it all is a way for each of us to build something a new way, whether it's to scratch an itch or fix a thorny problem.
Pamela Vickers, "Crossing the Canyon of Cognizance: A Shared Adventure"
Pamela opens with the controversy that arose when Bloomberg asserted that "Everyone should learn to code". Drama is effective in catching audience attention, especially drama that they likely already have strong opinions about. She picks apart the major patterns in the disagreement and concludes that everyone shouldn't necessarily learn to code, but everyone should be able to learn to code if they want to. She frames the problem statement masterfully and connects it to the audience. She then goes on to describe the stages of learning, illustrating the common modes of failure, and what we can do differently to support and encourage learners at each stage.
While effective code review is essential to every successful project, it's not always clear who should review files—even with GitHub's reviewer suggestions. Now repository maintainers can define exactly which people and teams need to review projects using code owners. This new feature automatically requests reviews from the code owners when a pull request changes any owned files.
How code owners work
To specify code owners, create a file named CODEOWNERS in the repository's root directory (or in .github/ if you prefer) with the following format:
# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners.
# These owners will be the default owners for everything in the repo.
* @defunkt
# Order is important. The last matching pattern has the most precedence.
# So if a pull request only touches javascript files, only these owners
# will be requested to review.
*.js @octocat @github/js
# You can also use email addresses if you prefer.
docs/* [email protected]
This format may be familiar if you've used gitattributes.
With that in place, code owners will automatically be requested for review whenever a pull request touches the files they own.
An extra layer of code security
For projects with more rigorous review processes, we've also added a new protected branch option to ensure the right people have a chance to review.
With protected branches enabled, a code owner for each owned file has to leave a review before anyone can merge a pull request to that branch.
We hope this helps make your review process even more effective. Let us know if you have any feedback on code owners using our help form.
The code owners feature was inspired by Chromium's use of OWNERS files.
Now we're continuing to harness the power of open source by opening up our GitHub.com site policies in a new working repository, github/site-policy. Here you can view, comment, and suggest changes to our site policies—or fork a copy to adapt for your own site. Along with this new repository, we're also posting changes to our Terms of Service for public comment.
Why open source site policies?
Save time and money. Although essential for any online service, site policies can be time intensive and expensive to create. We hope that by opening up our privately and publicly vetted policies, your startup will be able to cut down on some of those legal fees.
Improve and iterate. Iteration makes things even better. With the help of our community, we can improve on and build policies that work best for everyone. We welcome your issues and pull requests.
Comment on new changes. Changes to our site policies can have a huge impact on you. The new repository is the perfect way to let us know how. Whenever we have significant changes, we'll post them as a pull request. From there, you can see the updates and easily leave comments or feedback.
Give it a try: comment on changes to our Terms of Service
To get you started, we have a new set of changes to our Terms of Service and Corporate Terms of Service. Feel free to look them over and try out the new Site Policy repository to share your input. Please follow our Contributor Guidelines, and let us know if you see anything you think should be different—whether it’s a missed typo or a rule that might have implications we haven’t thought of.
An overview of changes to our site Terms
Updates to GitHub Terms of Service: Added a "Private Repositories" section as Section E, updated the licenses granted in Section D for clarity, and updated the Complete Agreement subsection in Section S, "Miscellaneous"
Updates to GitHub Corporate Terms of Service: Added a "Private Repositories" section as Section E, updated the licenses granted in Section D for clarity, updated the Complete Agreement subsection, and added a Publicity subsection to Section S, "Miscellaneous"
We’ll leave comments open until 5:00 pm PST Friday, July 28. Then we’ll take a week to go through your comments and make changes to improve the Terms. We’ll enact the new Terms on Monday, August 7.
Sound interesting? Check out the github/site-policy repository to learn more, and share your feedback. We'd love to hear if our project is useful to you in creating foundations for your own business.
Sometimes bugs slip through even the most diligent of code reviews. Putting out fires can disrupt your flow, forcing you to comb through logs and user-submitted screenshots. In the meantime, your users are left with an enigmatic 500 page. To help your team get from error to fix as efficiently as possible, try Sentry—an open source project under the BSD license. Sentry alerts you to the problematic line of code, pinpoints the commit and author likely responsible, and lets you resolve the error by including fixes ISSUE_ID in your commit message.
It starts with an overlooked edge case during an otherwise routine deploy. When a new deploy introduces an error, your team gets alerted and kicks off the familiar workflow of triaging, assigning, reproducing, and, finally, fixing the error. Sentry integrates neatly into your GitHub development flow, providing you with timely information and the rest of your team with visibility into every step.
Triage
Teams with rapid release cycles are familiar with sorting through dozens of active issues to assess each error’s potential scope and severity. To speed this up, Sentry groups errors by their stack traces, highlighting the number of users impacted, frequency of error, and any custom tags—like whether the error impacts billing code—allowing engineers to prioritize the bugs with the largest potential impact.
Assign
Once you establish priority, you'll need to assign a developer with plenty of context, typically the one that introduced the error, to the issue. To narrow down the pool of potential assignees, Sentry locates the commit and the author likely responsible for the error, then suggests an owner—no need to dig through git blame to find the best person for the job. You can also link Sentry issues to GitHub issues to give non-engineering product teams visibility as your team starts resolving the issue.
Reproduce
Most errors come from unexpected user behavior and leave you asking, “How did this even happen?” Fixing these more complicated errors takes more than a stack trace. You need to understand what the user or application was doing when the error occurred. Sentry collects a breadcrumb trail of user actions leading up to an error and, when available, a snapshot of the application’s variables, browser or OS, environment, and release. With these details, you can more easily reproduce errors without needing to further inconvenience the users that experience them.
Fix
After your team fixes a bug, it’s important to track the fix as it’s deployed and resurface the issue if it doesn’t work. Similar to how you can close GitHub issues from a commit, you can mark Sentry issues as resolved using the same commit keywords with a Sentry short-id, like fixes JAVASCRIPT-E41. As the commit is deployed, Sentry will mark the issue as resolved and silence future errors coming from older releases. However, if the issue re-appears, Sentry will mark it as a regression and alert you.
Sentry is part of the GitHub Developer Program and launched their app in GitHub Marketplace last month. If you're working on an integration using the GitHub API, you're welcome to join the program as a business or an individual no matter what stage of the development process you're in.
Over 600 people made their way to London and attended our second GitHub Satellite last month. From new developers to seasoned software entrepreneurs, attendees came together for two days of discovering information, skills, and people to make their projects even better.
GitHub CEO Chris Wanstrath began the day by sharing some new developments from around the GitHub Universe—including the launch of GitHub Marketplace, a new way to find tools that improve your workflow.
Then team members from Zalando, SAP, HSBC, Bloomberg, and the Raspberry Pi Foundation led sessions in "Build" and "Grow" tracks to share how how they've built tools and communities around the world. If you didn't get to hear from our Satellite speakers, the session videos are now available for you to watch on your own time.
To see more of GitHub Satellite, watch our wrap-up video:
If you want to expand your orbit beyond Satellite, early bird tickets for GitHub Universe are on sale now. GitHub's three-day flagship conference is returning to San Francisco in October with more hands-on workshops and an after-party.
GitHub for Unity supports Git LFS, the open source Git extension for versioning large files.
Add file locking to your workflow
With the introduction of file locking in Git LFS 2.2.0, locking files to avoid merge conflicts is a simple as a few clicks. No more shouting at your colleagues from across the room (or sending them messages in ALL CAPS) telling them to leave your scene alone.
Bring the GitHub workflow to Unity
Ditch the command line and view your project history, experiment in branches, craft a commit from your changes, and push your code to GitHub—all within Unity.
Known issues and bugs
GitHub for Unity is still alpha quality. Please check out the known issues, and make sure you have backups of your work before trying it out.
Find a bug? Want to suggest a feature? Look over our Contributing Guide. We're focused on triaging reported issues as we work towards a 1.0 milestone, and we'd love your help. All contributions are welcome.
If you have any questions or comments, email us at [email protected].
Kudos
Thank you to all of the preview release participants for your feedback. And of course, our friends on the Git LFS team and at Unity.
Git LFS v2.2.0 is now available with the all new git-lfs-migrate command, making it easier than ever to start using Git LFS in your repository.
For example, if you've tried to push a large file to GitHub without LFS, you might have seen the following error:
$ git push origin master
# ...
remote: error: gh001: large files detected. you may want to try git large file storage - https://git-lfs.github.com.
remote: error: see http://git.io/iept8g for more information.
remote: error: file a.psd is 1.2 gb; this exceeds github's file size limit of 100.00 mb
to github.com:ttaylorr/demo.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:ttaylorr/demo.git'
You can use the git lfs migrate info command to see which files are causing the push failure:
Open source software powers the internet. Anyone using a computer uses open source, either directly or indirectly. Although it has become the industry standard, getting involved isn't always straightforward.
Because so much of the open source community works with GitHub, we're working to make it easier for people to start and contribute to open source projects. This year we've documented best practices with our Open Source Guides, released our balanced employee IP agreement which eases employee contributions, and provided insight into the state of the community with the Open Source Survey.
Now we're inviting you to join our latest effort to make it easier to contribute to the open source community: Open Source Friday.
Open Source Friday is a structured program for contributing to open source. Contribution to open source is part of our DNA with GitHub employees maintaining projects like gh-ost, Rails, Atom, Homebrew, HospitalRun and Exercism. Over the last three years, we've encouraged GitHub employees to take time at least every fourth Friday to work on open source and share what we're working on with each other. Open Source Friday has grown from this into a program anyone can take part in.
Open Source Friday isn't limited to individuals. Your team, department, or company can take part, too. Contributing to the software you already use isn't altruistic—it's an investment in the tools your company relies on. And you can always start small: spend two hours every Friday working on an open source project relevant to your business.
Whether you're an aspiring contributor or active maintainer of open source software, we help you track and share your Friday contributions. We also provide a framework for regular contribution, along with resources to help you convince your employers to join in.
Join our friends at Google, Microsoft, Facebook, Comcast, Travis CI, and thoughtbot, who believe that contributing to open source should be part of their developers' work.
Through dozens of global partnerships, GitHub is committed to investing in communities traditionally underrepresented in tech. As part of that initiative, we're expanding our partnership with Maven, a national non-profit helping LGBTQ youth build careers in tech, and an organization we’ve worked with since 2013. GitHub is committing $100,000 over the next three years to help Maven reach more youth in the U.S., and collaborating with their team on game-changing conferences, camps, and hackathons.
Investing in queer youth events
In their own words, Maven “fosters solutions that empower queer youth to network, organize, and educate for social change”, and they’ve helped hundreds of teens go on to study tech-related fields and build careers as developers. We’ll be supporting their ambitious roadmap to reach more LGBTQ youth in tech hubs and rural areas through curriculum consultation, volunteering, and co-hosting for their three main core programs: Tech Summits, Summer Tech Camps, and the Hack 4 Queer Youth Hackathon.
Tech Summits: These single-day conferences bring together hundreds of youth and young adults to focus on organizing in schools and build competencies in tech. Maven hosts a variety of sessions for attendees like Tech 101 workshops, Out in Tech panels, and organizing strategy brainstorms.
Summer Tech Camps: Maven currently offers 1-2 week camp experiences for queer youth and allies in Austin, SF/Oakland, NYC, and Indianapolis. Each camp brings together 20 campers ages 14-20 for an in-depth tech career exploration. Youth will meet LGBTQ tech professionals and learn coding, marketing, and digital illustration as they build their own gaming startup.
Hack 4 Queer Youth Hackathon: These 3-day hackathons bring together tech professionals and queer youth to build tech solutions for queer youth. Maven's 4th annual hackathon will be this fall in Chicago with around one hundred participants, and Maven will partner with oSTEM on making Hack 4 Queer Youth a part of their college national conferences.
Learn how you can support Maven's work at mymaven.org.
School may be (almost) out for summer, but we're still adding to the Student Developer Pack. Sentry is now offering error reporting to new and existing pack members—send up to 500,000 errors per month and enjoy unlimited projects and members.
Sentry provides real-time error tracking and crash reports for your web apps, mobile apps, games, and more. With Sentry, you get all the information you need to identify, reproduce, fix, and prevent bugs—from the full stack trace and the contextual details of the exception to a trail of events that led to the issue and release and commit data—so you can set priorities, triage proactively, and make sure errors don't affect your user's experience.
Our Student Developer Pack gives students free access to the best developer tools from different technology companies like DigitalOcean, Datadog, Stripe, Travis CI, Sentry, and more. Oh yeah, and all students get free unlimited private repositories—perfect for summer projects.