Release Radar · September 2017

Release Radar September 2017

Welcome to the first edition of the Release Radar, where we share the projects popping up on our radar—from world-changing technologies to weekend side projects. Most importantly, they're all projects shipped by you. Hopefully, we'll find little something for everybody: a new app for your tool belt, a fresh experiment for your free time, or a game to play with on your next coffee break.

This month we’re sharing projects to make your data sizzle 🔥 and add animations to your native apps with ease. Enjoy!

Lottie for iOS 2.0.0

Lottie is an Android, iOS, and React Native library that renders After Effects animations in real time, allowing developers to add animations to native apps just as easily as static assets.

Lottie started as a hackathon project at Airbnb, but @buba447, @therealsalih and @gpeal from the Airbnb Design Team have continued to iterate on it. View the Lottie for iOS 2.0.0 release notes.

Animations created with Lottie

Did you know: Lottie was originally named Lotte after Charlotte Reiniger—an original trailblazer of animation. She made one of the first feature-length animated films, and her work still holds up today.

FlameGraph 1.0

Visualize profiled software with FlameGraph to identify your most frequent code-paths quickly and accurately. The team tagged the 1.0 release to allow package maintainers to grab static versions, but don't let that fool you. FlameGraph has been around for years—and has likely improved performance for products and services you use every day.

"It confuses people at first since the x-axis is not the passage of time; it's an alphabetical sort. People move from 'I don't like it, it's not intuitive' to 'This is amazing, how did I ever live without it?' quickly". - @brendangregg

Mixed-mode FlameGraph spanning kernel and user code

Did you know: Brendan coded the first version of FlameGraph in a single night; he didn't think he could play around with new visualizations at his day job when there were more pressing deliverables. The next day, he used it for work to understand the difference between two massive MySQL profiles that were thousands of pages of text each.

Drupal Console 1.0.0

Drupal Console is a command line interface for Drupal. Add users, debug issues, generate boilerplate code, and more. Version 1.0.0 was just released at Drupal Camp Costa Rica—the largest web development event in the country.

“It’s amazing how a project we started a few years ago as a Drupal 8 learning exercise is now considered for the Drupal community a must-have tool to accelerate Drupal 8 development.” - @jmolivas

Drupal Console terminal output

Did you know: Drupal Console is hitting all the right milestones lately. Last month, they celebrated one million downloads. Congratulations, all around!

Redash 2.0

Redash is an open source tool for teams to query, visualize, and collaborate on data from MySQL, Graphite, Presto, BigQuery, Redshift, and many other data sources. No more exporting data into Excel or spending weeks building dashboards.

Refer to the release notes for some highlights and contributions from the community.

Example Redash data visualizations on

STF 3.0

Smartphone Test Farm (STF) is an open source web application for controlling and debugging smartphones and other devices—right from the comfort of your browser. Testing your latest app or game on all devices has never been easier.

View the 3.0.0 release notes

Animation showing STF's capabilities

Did you know: STF's origins lie at CyberAgent in Tokyo, where it was used to control over 150 devices.

react-map-gl 3.0

react-map-gl is a suite of React components for Mapbox GL JS, a JavaScript library that uses WebGL to render interactive maps. You don't need to have as much data as Uber to create beautiful data visualizations.

View the v3.0.0 release notes

Example showing react-map-gl's dynamic styling

Did you know: This is just one of many frameworks created and maintained by the Visualization Team at Uber. Read more about the entire framework

Starcraft II API v1

The Starcraft II Development Team just announced the release of the Starcraft II API for gamers and researchers advancing the field of Artificial Intelligence (AI). In addition to sample code and bots, they've also included a dataset of replay data from some of the world’s best Starcraft players.

Screenshot of Starcraft II gameplay

Did you know: There's an Annual Starcraft AI Competition, where researchers compete annually with bots, using the the open source Brood War Application Programming Interface (BWAPI) C++ framework. Interested? You can fork a sample bot called UAlbertaBot.

PySC2 1.0

In partnership with Blizzard, Deepmind also released PySC2—a Python wrapper for the new API for reinforcement learning agents to interact with the game. They also share some mini games (which they think of as more of unit tests). In these, agents achieve a level of play comparable to a human player—moving to beacons, building marines, and more.

Simple RL mini-games allowing AI researchers to test the performance of RL agents on key tasks

Did you know: Although bots are currently no match for a human, we might see a bot defeat the world's best human players in the next few years. Learn more

Lumberyard 1.10

Lumberyard, Amazon's AAA game engine integrated with GameLift and Twitch just released 1.10 with over 500 new features, bug fixes, and performance improvements. They also made the source code available, so game developers can customize and optimize the code to suit their needs.

Screenshot showing the new docking system in Lumberyard

.NET Core 2.0

Finally, our friends at the .NET Foundation released .NET Core 2.0—a lightweight, modular platform for creating web applications and services that run on Windows, Linux, and Mac. Learn more from Scott Hunter and members of the .NET Team on Microsoft's Channel 9.

.NET Core 2.0 discussions on Microsoft's Channel 9

Did you know: Microsoft also released ASP.NET Core 2.0, Entity Framework Core 2.0, and the complete .NET Standard 2.0 specification—not a surprise considering Microsoft had the most open source contributors of any organization last year.


This is just a sample of all the awesome things you shipped last month. Are you releasing something exciting soon? We'd love to help you celebrate! Send a note to [email protected]

Webcast recap: Organizing work with GitHub

webcast banner card

Organizing your projects and teams efficiently on GitHub can provide clear direction for your teammates—and transparent documentation for everyone else following along.

In our latest webcast, GitHub Solutions Engineer Phil Holleran shares a few strategies to help you stay organized. If you weren’t able to join us live, you can find the full recording, along with a few highlights, below.

Watch the recording

Organizing people

There are plenty of ways to organize teams within your company and on GitHub. Choosing the right organizational structure is key to communicating across teams and keeping projects on track. When you're structure isn't working, developers might find it difficult to access the people and information they need to be successful. Our advice? Start with just one organization on GitHub populated with a hierarchy of teams, them grow from there if necessary.

Organizing repositories

When organizing repositories, there are three main elements you'll have to manage consistently: documentation, contributions, and releases. By maintaining control of these communication outlets—and discouraging sprawl—you’ll be able to keep all team members updated on your projects' progress. Greater visibility also helps new developers get up to speed and start contributing faster.

Organizing tasks

Task lists, labels, milestones, and project boards can help you organize any GitHub project. Each of these represent different strategies you can use to start new tasks, assign work, or gently remind teams about outstanding issues. For example, task lists are easy to add to comments within issues, and your team can sort issues by project keywords and status with labels. Project boards act as high-level guides to an entire project, linking people to various tasks and issues from one central location.

Register for upcoming webcasts or watch previous ones

Quickly review changed functions in your Python pull requests

Last month, we released a new way to quickly review pull requests by listing the changed functions or methods in the pull request file finder. Now Python enthusiasts can quickly identify changed functions in their pull requests, too.

python-changed-functions

Searching the file finder for the term function or the name of a changed function in a Python file will provide you with a timeline-style view of the results, so you can easily identify and view the most impactful parts of a pull request. Check out the documentation to learn more.

We hope this helps make more of the review process for the Python community more efficient. Let us know if you have any feedback—or if there are other search functions you'd find useful using our help form.

Learn how to use GitHub with your favorite IDE

Join the GitHub Training Team for a week dedicated to IDEs. We'll feature a different IDE every day and show you how to make the most of your GitHub workflow alongside the tools you already use.

IDE Week

Monday September 11: GitHub and GitHub Desktop

GitHub Desktop isn't an IDE, but if you don't use an IDE with a Git or GitHub integration, it's the next best thing. Learn how to create branches, commit changes, and sync your local repository with GitHub.com—all from our new, Electron-based Desktop App.

Register now

Tuesday September 12: GitHub and Eclipse

Learn to use the eGit plugin with Eclipse to create branches, view diffs, commit changes, and push and pull from GitHub.com.

Register now

Wednesday September 13: GitHub and Visual Studio

Work with GitHub no matter what Microsoft IDE you choose. Join Microsoft Senior Software Engineer Jeremy Foster and GitHub Trainer Matt Desmond as they clone repositories, commit changes, create pull requests, and more using different features and extensions of Visual Studio.

Register now

Thursday September 14: GitHub and Xcode

Whether you're a seasoned macOS developer or building your first iOS app, you'll learn how to connect two of the most powerful development tools around with Xcode's robust GitHub integration. We'll also show you how to clone repositories, create branches, commit changes, and sync your changes with GitHub.com without leaving Xcode.

Register now

Friday September 15: GitHub and Atom.io

Our hackable text editor now has a Git and GitHub Integration. Learn how to create branches, commit changes, stage, and push—all from the comfort of your Atom Editor.

Register now

See what's in store at Universe

universe_blog_header

With over 40 breakout sessions, 12 workshops, a benefit concert, and lots of learning in between—there’s something for everyone at Universe. We just released the full Universe schedule, so you can see exactly what's planned for your three days of discovery and discussion in San Francisco.

Check out the full schedule

Come for the breakout sessions

Attendees will hear from the GitHub Team and software industry experts like:

  • Sara Cope, Developer at U.S. General Services Administration

  • Trent Willis, Senior UI Engineer at Netflix

  • Frances Haugen, Data Product Manager at Pinterest

  • Machisté Quintana, Senior Software Engineer at Slack

  • Cindy Payne, Tech Consulting Group Leader at Nationwide

See speakers

Stay for the workshops

Everyone has the opportunity to add on a workshop ticket and get hands-on experience with topics like:

  • “Nerdy Git: the commands you’ve heard about but are afraid to use” with Cynthia Rich, Trainer at GitHub

  • “How software teams use Heroku pipelines for continuous delivery” with Josh Lewis, Senior Web Developer at Heroku

  • “Mental wellness in tech” with Amanda Gelender, Director of Social Impact at GitHub

Get tickets

Easily filter review requests by team

Review requests are a great way to ask for review on software, and with the addition of team requests you can get the feedback you need faster.

To make it easier to find pull requests that need your review, you can now see them all alongside any team you're a member of just by using the review-requested:nplasterer filter. If that's not enough, and you'd like to search for team requests directly you can also use a team search: team-review-requested:github/octocats. This change will also be updating what displays in your global Review Request tab.
A screenshot showing the global review requests dashboard

Qualifier Notes
review:none Returns pull requests that have not been reviewed
review:required Returns pull requests that have not been reviewed but have a protected branch
review:approved Returns approved pull requests
review:changes_requested Returns pull requests that have requested changes
reviewed-by:USERNAME Returns pull requests that have been reviewed by the specified user
review-requested:USERNAME Now returns pull requests that have direct requests and team requests
team-review-requested:TEAMNAME Returns pull requests with requests for the specified team

We hope this new search filter helps you organize your work and review code more efficiently! Check out the documentation to learn more, or drop any questions, comments, or feedback into our help form.

GitHub Classroom now supports deadlines and class rosters

Nathaniel Woodthorpe spent his summer as an Engineering Intern working on GitHub Classroom alongside the Education Team. In this post, he'll share the features and updates he worked on for thousands of teachers and students.

Updates to GitHub Classroom

Teachers can now use GitHub Classroom to set deadlines, track student accounts, and more. Here’s how to use these features in your course and set them up for the first day of class.

Insight into student progress with deadlines

Track student progress leading up to a due date with assignment deadlines. Deadlines fetch the latest commit SHA on the default branch at the time of the deadline, and displays this to the teacher as a “submission”.

View student submissions

If students try to modify previous work, they'll also modify this SHA on GitHub. The submission SHA professors have will then become invalid, alerting them to the changes.

Want students to keep working for partial credit? In this solution, students can work after a deadline. Adding commits on top of an SHA doesn't modify its base.

Easier course set up with Classroom rosters

Classroom rosters provide teachers with a snapshot of course activity at a high level, and an easier way to connect student names with GitHub usernames.

Add student information to Classroom rosters

When a teacher creates a classroom, they have the option of entering student information—email addresses, student numbers, or any other identifying piece of information.

If they haven't already, students can add their personal or contact information when accepting a Classroom invitation, creating a link between their work and their online identities.

And a few more improvements

In addition to these two features, we've shipped some exciting updates this summer. Classroom now has short URLs for assignment invitations, improved assignment views, DataDog instrumentation, and new performance improvements.

Summer internships at GitHub

At GitHub, I got to help improve Classroom and grew as an engineer in the process. Thanks @johndbritton, @tarebyte, @mozzadrella—and everyone else who mentored and worked closely with me.

In two months, I’ll start at GitHub as a full-time Platform Engineer. Though I'll be on another team, I’ll continue to help shape Classroom into an even better experience for the thousands of students and teachers who use it.

Want to build great things together next summer? Applications are opening soon for summer 2018 internships in engineering, data science, marketing, and more.

Sign up for updates

Get ready for fall with the new GitHub Bundle

Whether you need some back to school gear or a new note-taking sidekick, we've got you covered with the GitHub Bundle—available now in the GitHub Shop. This collection has everything you need to stay organized and look good doing it. The best part: It's super discounted.

Buy the Bundle

One bundle. All this gear.

Every bundle comes with these six items for $55 ($20 off the regular price):

  • A 100% cotton shirt featuring your friendly robot sidekick, Hubot
  • A 10" x 8.5" lined notebook with Hubot on the cover
  • A GitHub ballpoint pen
  • A 100% cotton "Pull Requests Welcome" tote bag
  • A 532 ml/18 oz Octocat water bottle with space for your GitHub username
  • A 10 pack of assorted Octocat stickers

GitHub Bundle

Hubot-Shirt

Get a bundle while supplies last!

Learn more

Introducing embedded code snippets

Your team can get more done when they have all of the information they need in one place. Now, you can see helpful references in issues you're already working in (or start a new issue) with embedded code snippets. Include the code snippets that will push your projects forward without making your team leave the conversation.

You'll just need the permalink to specific lines you want to reference. Then, you can paste the code snippet into the place it will be most helpful.

Paste the snippet into a conversation

To add a code snippet: select the lines you want to reference, open the inline toolbar, click Copy permalink, and paste it anywhere.

snippet-from-permalink-for-blog-v2

Open a new issue

You can also use the toolbar to open a new issue when you select the code by clicking Open new issue.

create-issues-from-code

To learn more, check out the documentation for embedded code snippets and opening issues from code.

Updates to GitHub Terms of Service are in effect

Earlier this month, we asked for your feedback on a new set of changes to our Terms of Service and Corporate Terms of Service. You responded overwhelmingly! Thank you so much to everyone who commented and opened issues or pull requests. The Terms of Service that you helped us create is now in effect.

Your feedback

During this comment period, you opened 45 issues and 17 pull requests, helping us fine tune and clarify a bunch of our policies. The updates we made based on your feedback are documented in the "Community Feedback" section below.

If you missed out on this comment period, check out the Site Policy repo README and Contributing Guidelines to find out how you can participate. Watch the repo to keep an eye out for future updates.

An overview of changes to our site Terms

  • In our last blog post, we told you about the changes we were making to our Terms of Service, Corporate Terms of Service, Business Plan Addendum, and Amendment to GitHub Terms of Service Applicable to U.S. Federal Government Users. We kept those changes, but some of the language may have been tweaked, based on your feedback.

  • Community Feedback: Thanks to your feedback, we made a number of changes to the terms, for example:

    • Clarifications in our new Private Repositories section
    • Updates to the "Federal Government" Amendment
    • Updates to the new Publicity section in the Corporate Terms of Service
    • Multiple typo corrections and grammar fixes

We also received some great ideas that we couldn't implement in this comment period. We expect to address those them in the next few months.

What this means for you

The new Terms of Service are in effect as of August 7. You can accept them by continuing to use GitHub. Thank you again, you've helped us make our Terms better. Please let us know if you have questions about the new Terms or if you would like to contribute to our policies.

GitHub for Unity 0.16-alpha released

$GitHub for Unity 0.16-alpha

We announced GitHub for Unity at the Games Developer Conference back in March and open sourced it at Unite Europe in June. Thanks to our contributors and more than a month of effort, version 0.16-alpha is now available.

Download the latest release

Highlights from the release notes

Support for Unity 2017

GitHub for Unity now works with the latest Unity 2017 release.

Publish new repositories

Now you can publish repositories to GitHub without leaving the comfort of Unity.

You can now publish repositories in GitHub for Unity

Delete old branches

Branching is a safe and easy way to introduce new features, work on bug fixes, or experiment with that idea you had in the shower.

Whether your branch is meant for merging or just sharing with a teammate, you may want to delete it at some point. Now you can without switching to the command line or googling "How do I delete a Git branch both locally and remotely?".

Delete old branches in GitHub for Unity

Special thanks to @CapnRat for leveling up the authentication workflow with github-for-unity/Unity/pull/58. You can now use Enter / Return as confirmation keys when you're in the authentication flow.

Download the latest release of GitHub Unity, view the full release notes—or contribute back to help us reach version 1.0. Your feature requests, bug reports, and pull requests are all welcome. Onwards!

Innovating in the liberal arts: code as language at Bard College

Bard College is not a technical research university. In fact, when students arrive on campus, most say they’ve had no experience with computer science.

Professors Keith O’Hara and Sven Anderson aim to change this during students' first week on campus. Every student starts their liberal arts experience with the Language and Thinking program in which O’Hara asks them to think, express ideas, and create an artifact with code.

Anderson and O’Hara’s novel pedagogy makes programming accessible and appealing to philosophy majors and poets. Here are three of their methods to try with your nontechnical students.

"The mathematician, like the poet, works only slightly removed from pure thought-stuff. He builds his museums in the atmosphere, from atmosphere, creating by toil of the imagination."—Fred Brooks, mathematician

Learn by remixing, with your peers

Keith introduces his class to the world of code by using JS Bin to remix HTML pages. Then students build confidence by seeing the direct output of their changes as they work. First they change a link, then the stylesheet, then work up to adding their own graphics. In the first workshops, they also learn how to use GitHub to host media files from fellow students.

Code to express yourself

We can use code to speak to machines, to each other, and to the world around us. To prime students to think about these complex relationships, O’Hara points to the first chatterbot ELIZA, a parody of a psychotherapist as a human-machine communication system. Humans input their thoughts and feelings, the machine responds to their input, and the relationship blooms out of the design of the software.

In a second workshop, students write algorithms to generate poetry, make a robot sing and dance, or create virtual fish for a group fish tank.

Computer-generated poetry

In these workshops, Keith provides clear and functional code for students to customize and enhance.

In these coding studios, students were exposed to how computing can be the ultimate medium—the meta-medium—allowing us to express ourselves in new ways with motion, sound, graphics, and text.

Take it offline: manual link-building

In the first assignment, Keith asks students to collect and share URLs from a free-write. To help them understand how link structures work, he gives students balls of yarn. Then they toss yarn around the room to show connections between their sites.

Later, they exchange wooden nickels to explore the algorithm that powers Google Search, sharing their “money” with those the sites they link to and an instructor who further divvies up the pot.

The wooden nickels act as currency for power or authority; the exchange of these nickels simulated how power is distributed ad accumulated in the network.

Wooden nickels exchanged in class

Programming across the curriculum

What is the impact of these creative assignments? And why would Bard implement a computing element in their orientation?

Keith’s answer: to change attitudes towards computer science. To make significant strides in the diversity of computing, we need to connect computing to other disciplines, like art and biology.

First impressions are critical, and we expect that this brief exposure to computer science will have its most signicant impact on students when they make decisions about whether to engage computing in courses and employment opportunities. An increased familiarity with computing may allow them to entertain it as part of a viable pathway for their future.


Learn GraphQL with GitHub

Make the switch from REST to GraphQL with our webcast and online training course.

Learn how to migrate to GraphQL with GitHub

Webcast: Migrating from REST to GraphQL

Join GitHub Platform Engineer Mark Tareshawty and Trainer Matt Desmond on August 8th at 10am PST. They'll discuss how GraphQL represents a giant leap forward in the world of APIs. As a significant departure from the REST API, GraphQL requires some not-so-subtle shifts in the way we think about consuming and altering data.

In this webcast, we'll help you transform your REST calls into precise GraphQL queries. You'll also learn how to think about data in GraphQL and how to combine multiple REST calls into a single GraphQL query.

Sign up for the webcast

On Demand Training: Introduction to GraphQL

Before the webcast, you can also explore Introduction to GraphQL—a new, on-demand course from our Training Team. The course walks you through building a GraphQL query and doing a simple mutation with the GraphQL explorer.

Take the course

Introducing seven new apps to GitHub Marketplace

marketplace-monthly-blog-image

Whether you’re working on an open source project or building a software company, chances are you can simplify your work with GitHub Apps. In May, we launched GitHub Marketplace—a place where you can easily discover, purchase, and integrate new tools that customize your workflow. Today, we’re launching seven new apps in Marketplace and four new categories: Dependency Management, Localization, Security, and Time Tracking.

Code quality, Code review

Better Code Hub provides development teams with immediate, relevant feedback on code quality. It checks a code base against ten guidelines for maintainable software, delivering actionable recommendations and helping your team get to a shared definition of done. A score of ten out of ten indicates you’re performing among top development teams within the industry.

Code Climate provides automated code review, analyzing every commit, branch, and pull request for complexity, duplication, security, and more. It also combines line-by-line test coverage reports, technical debt assessments, and style checks in every pull request so your team merges only clear, maintainable, and well-tested code.

Coveralls helps teams deliver code confidently by providing test coverage history and statistics to show which parts of your code aren’t covered by your test suite. It works with your CI server to sift through new code and reveal changes in overall coverage. Coveralls can also stop deployments that contain newly untested code to protect your live application.

StyleCI is a PHP coding style service that automatically analyzes the code you push to GitHub. If something is amiss, it will immediately notify you through the GitHub Status integration. You can also configure StyleCI to automatically create a pull request with fixes.

Dependency management, Security

Gemnasium monitors project dependencies and alerts you to updates and security vulnerabilities, providing information about all of your repositories in a single interface.

Localization

GitLocalize is a continuous localization tool built for communities and teams that want to simplify their workflow when translating content. GitLocalize automatically syncs with your repository so you can keep your workflow on GitHub. It also keeps you updated on what needs to be translated.

Project management, Time tracking

WakaTime provides you with metrics, insights, and time tracking automatically generated from your programming activity. Compete with your friends on private leaderboards, and improve your productivity with your own personal dashboard.

Whether you’d like to automatically build and test your code as you push it to GitHub, measure performance, track errors, or manage projects, GitHub Apps give you flexibility across your development process. And our ecosystem is always growing. Discover new tools on GitHub Marketplace and start using them in minutes.

Scholarships and accessibility at GitHub Universe

Update August 14, 2017: The deadline for scholarship applications has passed. Stay tuned for updates on upcoming GitHub Universe events.

GitHub Universe is approaching, and this year, we're returning once again to Pier 70 in San Francisco October 10-12. As part of our efforts to make our conferences inclusive of people from all walks of life and enrich the experience for everyone, we're excited to offer free tickets through scholarships and community partners.

  • Community partners: GitHub's Social Impact Team is joining forces with several non-profits and meet-up groups that focus on increasing the number of people in the tech industry who come from underrepresented backgrounds
  • Individual scholarships: The deadline for individual scholarships has passed

Please note that none of our Universe scholarships include travel or lodging expenses. A scholarship only covers the cost of the conference ticket. Scholarship recipients are responsible for arranging and paying for all their own travel and lodging expenses to, from, and within San Francisco.

Scholarships aren't the only one way we’re making GitHub Universe more accessible. This year, attendees can also expect:

  • Gender neutral bathrooms
  • Quiet/Meditation room
  • Nursing/Baby Care room
  • Closed captioning at all talks
  • ADA compliant venue spaces
  • Fresh water, treats, and an onsite relief area for service or therapy dogs

We hope to see you at Pier 70!