New courses on GitHub Learning Lab

header image

Earlier this year, we launched GitHub Learning Lab with the goal of helping people of all skill levels use GitHub. Our initial course offerings included “Introduction to GitHub”, “Communicating using Markdown”, “Managing Merge Conflicts”, “GitHub Pages”, and “Moving Your Project to GitHub”. More than 3,700 students have successfully completed a Learning Lab course.

Now we’re releasing four new courses on Learning Lab for learners of all skill levels:

Uploading to GitHub and Migrating to GitHub

We broke out the existing “Moving to GitHub” course into two new courses: “Uploading to GitHub” and “Migrating to GitHub”. This lets you focus on bringing your projects to GitHub, no matter where they are.

Start Uploading to GitHub or Migrating to GitHub now

Community Starter Kit

GitHub loves the open source community, and we want your project to appeal to both veteran open source contributors and newcomers alike. In this course, you will learn what settings to use and files you should add to your repository to provide the information and features new contributors will need to be successful.

Access your Community Starter Kit

Introduction to HTML

Learning Lab is a great way to learn how to use GitHub more effectively, but why stop there? In our first non-GitHub focused course, join Learning Lab for an “Introduction to HTML”.

Build your first webpage with an Introduction to HTML

Now available in Marketplace

Learning Lab is now also available in the GitHub Marketplace. In addition to Learning Lab, the Marketplace houses integrations you can add to your repository. If you currently access Learning Lab from lab.github.com, your experience isn’t going to change (and thanks for the support :heart:).

Sign up for Learning Lab

New improvements in GitHub for Visual Studio

As we shared in a recent blog post, the Editor Tools team at GitHub has been working on improving the user experience of our GitHub extension for Visual Studio.

Here’s what’s new in the latest GitHub for Visual Studio release (Version 2.5.4):

Pull request improvements

We are now using the new Octokit.NET library that uses the GraphQL API, which has improved the performance for listing pull requests. Lists that used to take minutes to load are now loading in a matter of seconds within our extension. Additionally, by using GraphQL for our pull request models, we will be able to use GitHub GraphQL APIs as they become available, keeping our extension up to date.

We’ve also improved our general pull request experience by fixing the UI on pull request changes when scrolling horizontally, removing leftover [remote…] entries that were left in the .git/config file when previewing a pull request to upstream, and preventing pull requests from opening in the browser multiple times.

@stanleygoldman, @grokys, and @donokuda have led the efforts for these improvements, and we’re also very grateful to @Neme12 for contributing to our project by updating the pull request changes view to use the built in Visual Studio icons.

Something we’re particularly excited about exploring is how and why users navigate between GitHub.com and Visual Studio. We’ve started explore the functionality of what is possible with things like opening links that have been copied to the clipboard (Code context > GitHub > Open from clipboard) and copying links from Visual Studio to your clipboard (Code context > GitHub > Copy link to clipboard).

Thank you @jnm2 for opening up an issue that started this conversation and @jcansdale for recognizing this opportunity and taking lead to improve this user experience!

Get involved

As always, we are eager to hear from you in a number of ways. If you run into bugs or limitations in our functionality, open up an issue in our open source repository. Or if you want to contribute to our extension, review our README and Contributor Guidelines and join the fun!

If you’re interested in participating in some usability studies around our extension, we invite you to fill out a short survey.

Let us know on Twitter how you use the Open from clipboard feature! Follow us @GitHubVS for the latest on what we’re doing.

How the Nintendo Entertainment System lives on in open source - Game Bytes

Welcome to the July edition of Game Bytes, a monthly series focused on the game developer community. This month, we take a look at the legacy of the Nintendo Entertainment System (NES) in open source.

The NES was released 35 years ago today. While official NES games haven’t been released in over 20 years, a “homebrew” scene exists where developers are still creating NES games (playable on the original hardware or on emulators) in the original 6502 Assembly Language.

Whether you grew up playing NES games, or your parents did, you’re bound to find something of interest—either in the gameplay or in the code—for some of these games below.

Open source homebrew NES games

Super Tilt Bro

Super Tilt Bro screenshot

Super Tilt Bro is a game inspired by Super Smash Bros–a two-player fighting game where you must knock a friend (or the computer) off of a platform. The latest release introduces a new stage and mysterious orb that gives one player incredible strength.

Pwn Adventure Z

Pwn Adventure Z screenshot

Pwn Adventure Z is a zombie survival game made to be hacked. It was originally released as a physical cartridge at CSAW (Cyber Security Awareness Week), the largest student-run cyber security event in the world, for the 2015 CTF (Capture the Flag) competition.

Nova the Squirrel

Nova the Squirrel screenshot

Nova the Squirrel is a platform game featuring a squirrel by the name of Nova Storm. Help her uncover new abilities and save the strange new world that she’s found herself in.

Thwaite

Thwaite screenshot

In Thwaite, you must protect a small town from destruction by taking out incoming missiles with fireworks. Defend it for seven nights to win the game.

Falling

Falling screenshot

Not much is known about why our hero is “Falling” from the sky, but they must collect as many coins as possible while avoiding all platforms. This was @tragicmuffin’s first time creating a game from scratch and working with Assembly.

Sprilo

Sprilo screenshot

Sprilo is a small, time-attack racing game. Test your ability to drive a tiny car around a track as fast as you can in over three unique courses. Created in less than 30 days for last year’s GitHub Game Off competition, this was @cbrwn’s first time creating a game using Assembly for any sort of console. It was created in less than 30 days for last year’s GitHub Game Off competition.

Interested in building your own NES game? This guide to 6502 Assembly from @skilldrick is an excellent place to start.

Little bits

SuperTux: help wanted

SuperTux screenshot

You might not know 6502 Assembly Language, but if you have some experience with C++ then the SuperTux team are looking for people to assist with continuing development of the classic platform game. Contribute to the core gameplay or contribute content through the integrated level editor.

Js13kgames starts next month

The seventh annual js13kgames–a JavaScript coding competition for HTML5 game developers–kicks off next month. If you don’t know 6502 Assembly Language or C++, but are comfortable around HTML/CSS/JS, @end3r’s month-long game jam to create a JavaScript game in less than 13 kilobytes might be for you!

See the website for more details.

New itch.io desktop app in beta

itch.io client app beta

The latest version of the itch.io desktop app is in open beta. The Electron-based app is available for download on Windows, macOS, or Linux. You can use it to browse, download and stay up to date with the latest indie games on itch.io. Take it for a spin and be sure to report any bugs you find. Nice work @fasterthanlime!

Dear Weather Guy

Dear Weather Guy screenshot

Dear Weather Guy was created for the recent Godot Community Jam. Thanks to a nice little integration with the Open Weather Map API, you can have fun trying to guess the real temperature of world cities. It works on Windows, macOS and Linux. Beautiful work, Emilio and Andre Mari Coppola!

Join us in August for the next edition of Game Bytes!

Bringing GraphQL to Octokit.NET

If you’ve built apps that connect with GitHub, you are no doubt familiar with Octokit. GitHub offers three official flavors of the easy-to-use Octokit library—one for Ruby, .NET, and Node.js—that work with the GitHub REST API v3. Back in September of 2016, we announced that we would move to GraphQL, the query language developed by Facebook, in part due to the ability to fetch all of the data we wanted in a single request. As a result, the GitHub API v4 is built on GraphQL instead of REST.

Introducing Octokit.NET in GraphQL

The Editor Tools Team is particularly excited about this move to GraphQL because loading lists of pull requests in Visual Studio through our extension can be time consuming for some projects. We’ve experimented with GraphQL APIs, but we wanted to make it as easy to use as the Octokit.NET library. As such, we are excited to announce the GraphQL flavor of the Octokit.NET library is now available.

Creating a GraphQL-based .NET API presents certain challenges. GraphQL is a query language best suited for dynamic languages. Developers that want to take advantage of GraphQL in statically compiled languages like .NET have to make some compromises, resulting in a much different experience.

This started as an experiment to see if we could use GraphQL’s self documenting functionality to generate a library that gets the benefit of static compilation while retaining the flexibility and spirit of GraphQL. In GitHub for Visual Studio, we perform many round trip queries when displaying pull requests. We’ve used this library in our extension, and it has helped us improve performance, most notably with pull request lists. Before, these lists took minutes to display and now load in under two seconds.

The syntax is designed to look as much like GraphQL as possible while still feeling familiar to .NET developers:

using Octokit.GraphQL;
using Octokit.GraphQL.Core;
using static Octokit.GraphQL.Variable;

var connection = new Connection("https://api.github.com/graphql", YOUR_OAUTH_TOKEN); 

var query = new Query()
    .RepositoryOwner(Var("owner"))
    .Repository(Var("name"))
    .Select(repo => new
    {
        repo.Id,
        repo.Name,
        repo.Owner.Login,
        repo.IsFork,
        repo.IsPrivate,
    }).Compile();

var vars = new Dictionary<string, object>
{
    { "owner", "octokit" },
    { "name", "octokit.graphql.net" },
};

var result =  await Connection.Run(query, vars);

Console.WriteLine(result.Login + " & " + result.Name + " Rocks!");

If you want to use the GraphQL API in .NET and make queries in your statically compiled C# code, try out the new GitHub v4 Octokit.NET library.

We’re excited to hear from you. Are you a .NET developer? Is this something that you would find useful? Get in touch with us in our GitHub for Visual Studio repo or on Twitter (@GitHubVS).

Security vulnerability alerts for Python

Last year, we released security alerts that track security vulnerabilities in Ruby and JavaScript packages. Since then, we have identified millions of vulnerabilities and have prompted many patches.

We’re pleased to announce that we’ve shipped Python support. As of this week, Python users can now access the dependency graph and receive security alerts whenever their repositories depend on packages with known security vulnerabilities.

We’ve chosen to launch the new platform offering with a few recent vulnerabilities. Over the coming weeks, we will be adding more historical Python vulnerabilities to our database. Going forward, we will continue to monitor the NVD feed and other sources, and will send alerts on any newly disclosed vulnerabilities in Python packages.

How to start using Python security alerts

First, ensure that you have checked in a requirements.txt or Pipfile.lock file inside of repositories that have Python code.

Public repositories will automatically have your dependency graph and security alerts enabled. For private repositories, you’ll need to opt in to security alerts in your repository settings or by allow access in the dependency graph section of your repository’s “Insights” tab.

When vulnerability alerts are enabled, admins will receive security alerts by default. Admins can also add teams or individuals as recipients for security alerts by going into their repository’s settings page and navigating to the “Alerts” tab.

To configure the kind or frequency of notifications you receive, visit your profile’s notification settings page and select your preferred option.

Read the documentation to learn more.

Newer

Changelog

Subscribe

Discover new ways to build better

Try Marketplace apps free for 14 days

Learn more