Google has announced Hesokuri, a new open-source application that allows developers to automatically and safely back up their all-important source code as they are up to their eyeballs in open-source projects.
Developed by Matthew DeVore of the Google+ team, Hesokuri is a background process that keeps Git repositories on multiple machines in sync, automatically, so that developers can ensure that their code is backed up to alternate locations for safekeeping. DeVore detailed his application in a Sept. 12 post on the Google Open Source Blog.
“If you are a developer, source code is some of the most important data you have,” wrote DeVore. “It needs to be backed up regularly, it must be readily accessible from all of your machines, and it may even be confidential. Most of the code is probably already stored under version control.”
With all of that in mind, wrote DeVore, he created Hesokuri to ensure that critical backups are automated and certain so that developers won’t lose hours’, days’ or weeks’ worth of code if hardware or systems should fail and devour the code along with it.
“Changes are pushed aggressively to peers as they are committed,” he wrote. “When a peer is offline, Hesokuri will retry a push regularly until the peer responds. In some cases, a peer will merge pushed commits into the current branch so they are immediately visible in any open text editor. This means that if Hesokuri is running on two or more networked machines, the Git repositories on them are duplicated, backed up, and widely accessible.”
For developers who are frantically writing code and not necessarily following efficient personal backup schemes, this is a potential boon.
“Once you have set up Hesokuri and written a simple configuration file, you can just use Git as you always have,” wrote DeVore. “Hesokuri also has a web interface so you can check what revisions of each repository have been pushed to each peer.”
The interface for Hesokuri is still being developed, so changes are still coming, he wrote. The source code and instructions on how to get started with the application are available at the Hesokuri project page. Users can also get help using Hesokuri and discuss improvements in the Google discussion group for the application.
Hesokuri is a daemon utility that synchronizes one or more Git source code repositories between multiple machines on a network, according to the project page. It allows developers to control multiple machines and work on the same project across them at the same time, with changes on one machine appearing on all other machines as soon as they are connected.
Hesokuri runs best with a Unix-like operating system, according to the project’s FAQ page. “Hesokuri is tested on Mac OS X and Linux, but Windows is worth a try if you are feeling adventurous,” according to the FAQ.
Google Unveils Hesokuri Source Code Backup for Developers
The name “Hesokuri” comes from the Japanese word meaning “secret cash hoard,” according to the project FAQ. “It was chosen because this tool enables a kind of ‘hoarding’ of data on a personal machine. The name also contrasts this practice with the alternative of storing your data on a third party server, while the alternative to a Hesokuri is storing your money in the family bank account.”
Hesokuri is just one of many open-source tools and projects that Google has released to software developers in recent months.
Just this week, Google unveiled its Patchfield open-source audio library, which gives Android developers another tool for building audio apps. Patchfield can be used by Android developers to create specialized audio apps that can be connected to other audio apps for Android.
In August, Google unveiled its Gumbo HTML parser, which is a C implementation of the HTML5 parsing algorithm. The open-source code release gives developers a simple library that can serve as a basic building block for linters, refactoring tools, templating languages, page analysis and other small programs that need to manipulate HTML, according to Google. Gumbo conforms fully to the HTML5 specification, and is robust and resilient to bad input, according to the Gumbo project page on GitHub. Gumbo includes support for source locations and references back to the original text and has been tested on more than 2.5 billion pages from Google’s index, according to the project page.
In June, Google released its open-source Cloud Playground environment where developers can quickly try out ideas on a whim, without having to commit to setting up a local development environment that’s safe for testing coding experiments outside the production infrastructure. The new Cloud Playground is presently limited to supporting Python 2.7 App Engine apps.
Also in June, Google opened its Google Maps Engine API to developers so they can build consumer and business applications that incorporate the features and flexibility of Google Maps. By using the Maps API, developers can now use Google’s cloud infrastructure to add their data on top of a Google Map and share that custom mash-up with consumers, employees or other users. The maps can then be shared internally by companies or organizations or be published on the Web.
In May, Google’s Go open-source programming language was updated to Version 1.1, bringing developers new capabilities and performance improvements such as a race detector for finding concurrency bugs and new standard library functionality. Go 1.1 arrived 14 months after the release of the original 1.0 version in March 2012. There had been two minor “point releases” in between, but they fixed only critical issues and didn’t amount to a reworking of the application. The new version includes significant performance-related improvements, including optimizations in the compiler and linker, garbage collector, goroutine scheduler, map implementation and parts of the standard library.
In April, Google released the open-source Android-based kernel code for its Glass project to encourage software developers to begin much more Google Glass apps development in a big way.
In January, Google announced that it was moving its Google Cloud Platform (GCP) over to the GitHub collaborative development environment to make it easier for software developers to contribute and continue the evolution of GCP. The GCP program has been growing since Google unveiled a new partner program in July 2012 to help business clients discover all of Google’s available cloud services. GitHub is a rapidly growing collaborative software development platform for public and private code-sharing and hosting.