Home / Companies / GitHub / Blog / December 2016

December 2016 Summaries

12 posts from GitHub

Filter
Month: Year:
Post Summaries Back to Blog
GitHub Universe 2017 is set to take place from October 10-12 at Pier 70 in San Francisco, promising a range of engaging activities for attendees involved in software development. The event offers a chance to purchase Super Early Bird Tickets at a discounted rate of $199 USD, with only 100 tickets available. Participants will have the opportunity to engage in advanced training, explore open source projects, and listen to keynote speeches from industry experts, all within the environment of the world's largest software community. This three-day gathering aims to foster creativity and curiosity among those contributing to the future of software, providing insights into successful software teams and projects.
Dec 20, 2016 135 words in the original blog post.
Patchwork is hosting an event in Hobart, Tasmania, aimed at beginners to Git and GitHub, as well as mentors interested in helping others learn. Scheduled for January 16, 2017, this informal and hands-on workshop provides a relaxed atmosphere where participants can learn at their own pace with guidance from community mentors. The workshop will cover introductions to Git and GitHub using specific learning modules, and no prior coding experience is necessary. Attendees will have the opportunity to leave the event with a merged pull request and a sense of confidence in engaging with the open source community. Mentors are encouraged to participate to share their knowledge and support new contributors. The event will take place at Wrest Point Hobart and will offer food and refreshments, with considerations for dietary restrictions. Participants are asked to RSVP and create a GitHub account beforehand to ensure a smooth start to the workshop.
Dec 19, 2016 356 words in the original blog post.
Building a GitHub Pages website with a Jekyll theme has become significantly easier, requiring only a few clicks to set up. Users can start by creating a new GitHub repository or using an existing one, then select a theme through the theme chooser in the GitHub Pages settings. Jekyll themes allow website content to be stored in Markdown files, which can be edited and managed using a preferred Git workflow, and new pages can be added by committing additional Markdown files. This new method replaces the old automatic page generator, ensuring that sites previously created with it will seamlessly transition to a matching Jekyll theme upon using the theme chooser. All themes available through the chooser are open source, and further guidance can be found in the documentation.
Dec 15, 2016 159 words in the original blog post.
Git Merge 2017 offers a comprehensive agenda featuring insights from major companies like Facebook, Microsoft, and GitHub on their use of Git, along with hands-on training sessions for developers. Attendees will explore topics such as scaling distributed version control systems, enhancing Git extensions like LFS for performance, and managing challenging GitHub repositories. The event includes contributions from notable speakers such as Karen Sandler, Durham Goode, Caren Garcia, and Santiago Perez De Rosso, who bring expertise from organizations like the Software Freedom Conservancy and Facebook. Workshops cover advanced Git scenarios, dependency management, and simplifying Git functionalities, aiming to equip participants with practical skills to improve their software engineering processes. The event promises networking opportunities and the chance to engage with the latest developments in version control technology.
Dec 15, 2016 751 words in the original blog post.
A recent challenge encouraged participants to craft games centered on the theme of hacking, modding, or augmenting, resulting in a diverse collection of innovative entries. These games, which are accessible online or as downloadable content, span various genres and include puzzle, stealth, and action games, each offering unique mechanics and learning opportunities. Highlights include "Sir Jumpelot," where players survive enemy waves with strategic jumping, and "Lighting," inspired by real-life building hacks. Other notable entries encompass "Muntz," a puzzle game exploring TV history, and "Pongout," which merges Pong with Breakout. Participants utilized a range of tools and platforms, such as Unity, JavaScript, and GitHub Pages, to bring their creations to life. The games reflect a blend of creativity and technical skill, showcasing the potential of open-source development and community engagement in the gaming industry.
Dec 13, 2016 1,058 words in the original blog post.
GitHub has introduced a new feature that allows users to resolve simple merge conflicts directly within pull requests, streamlining the merging process by eliminating the need to use the command line for certain conflicts. This enhancement is particularly useful for resolving conflicts arising from competing changes to the same line of a file on different branches. However, more complex conflicts still require resolution through the command line. For additional guidance on managing merge conflicts both on GitHub and via the command line, users are encouraged to consult the GitHub Help documentation.
Dec 12, 2016 108 words in the original blog post.
Publishing a website or software documentation with GitHub Pages has been simplified to a three-step process: creating a repository, committing a Markdown file, and activating GitHub Pages. These improvements streamline the publishing experience by rendering all Markdown files without requiring YAML front matter, using a README as the default index, and applying a minimal theme if none is specified. Pages automatically receive a layout and titles are extracted from the first header if not explicitly set. Users can still customize appearance through their own layouts or styles, and potential issues for advanced Jekyll users are addressed with options to exclude certain files or disable features with a .nojekyll file. These enhancements are implemented as open-source Jekyll plugins, making the process transparent and customizable.
Dec 09, 2016 668 words in the original blog post.
GitHub relies on MySQL to store its metadata, necessitating a sophisticated replication and failover strategy to ensure availability and manageability across multiple data centers. Orchestrator, an open-source MySQL replication management and high availability solution, is employed by GitHub to handle automated failovers and manage complex topologies. Orchestrator utilizes a holistic approach to failure detection by considering both the master and its replicas, ensuring minimal data loss and preventing unnecessary failovers. GitHub leverages Orchestrator's capabilities for topology management, allowing for seamless refactoring and management of nested replication topologies. The tool's integration with chatops enhances operational visibility and collaboration. Originally developed by Outbrain and further refined by Booking.com, Orchestrator continues to benefit from community contributions and is maintained as an open-source project under the Apache License 2.0.
Dec 08, 2016 2,431 words in the original blog post.
GitHub has introduced a feature that allows users to explicitly request reviews from specific collaborators on pull requests, streamlining the review process. This feature includes a sidebar on the pull request page that lists collaborators from whom reviews are awaited and indicates the status of reviews from those who have already responded. Pending review requests are also displayed in the merge box, but they do not affect the ability to merge the pull request, allowing it to proceed even if some reviews are still pending. Further information on requesting reviews is available in GitHub's Help documentation.
Dec 07, 2016 106 words in the original blog post.
GitHub has revamped its approach to handling diffs, which are computationally intensive to generate and display, by developing a more efficient method utilizing the git-diff-tree command. Previously, GitHub imposed conservative limits on diff loading to prevent server overloads and browser unresponsiveness, but these often led to truncated diffs and frequent timeouts. The new strategy allows for a high-level overview of changes, progressively loading diffs to enhance user experience and reduce timeouts. This was achieved by running the old and new systems in parallel to ensure accuracy and improve performance, with particular challenges addressed around rename detection in diffs. The introduction of the git-diff-pairs command helped maintain rename associations, ensuring accurate diff text retrieval. Additionally, GitHub improved the accuracy of change statistics by using git-diff-tree --numstat --shortstat, ensuring comprehensive data collection even for partial diffs. By optimizing limits based on usage metrics, GitHub significantly improved the performance of diff pages, reducing the number of timeouts and enhancing overall site performance, marking a notable step forward in diff management and laying the groundwork for future optimizations.
Dec 06, 2016 1,988 words in the original blog post.
GitHub has enhanced its Markdown functionality by ensuring that relative links within Markdown files continue to function correctly when published via GitHub Pages. This improvement leverages the Jekyll Relative Links plugin, which is enabled by default for all builds and automatically adjusts links to match the published URL format. The feature also considers custom permalinks specified in a file's YAML front matter and adjusts for project pages' base URLs, ensuring consistent link functionality across different contexts. Ben Balter, Chief of Staff for Security at GitHub, highlighted these improvements. Balter has a history of significant contributions to GitHub's platform, including overseeing enterprise offerings and enhancing the platform's safety and compliance features. His work has been pivotal in promoting open source adoption among government entities worldwide.
Dec 05, 2016 295 words in the original blog post.
GitHub has introduced the GitHub Load Balancer (GLB), a system designed to manage the substantial scale of services run on GitHub.com by addressing the challenges associated with using HAProxy at scale. Previously, a single HAProxy instance managed all public services, resulting in a complex and lengthy configuration that was difficult to maintain. To improve this, GitHub developed a solution called multibinder, which enables the running of multiple isolated load balancer instances on a single machine, allowing for individual HAProxy configurations to be updated without downtime. Multibinder facilitates zero-downtime and zero-delay reloads by using shared LISTEN sockets, overcoming limitations in HAProxy's architecture without requiring architectural changes to HAProxy itself. This approach involves a parent process maintaining an open socket for new processes to inherit, ensuring seamless transitions during service reloads. The system is designed to work generically with any daemon requiring zero-downtime reload capabilities, and GitHub has provided examples for running multiple HAProxy instances using this method alongside systemd service templates.
Dec 01, 2016 964 words in the original blog post.