Yahoo’s openness continues today with their announcement of their Hadoop distribution being hosted right here on GitHub: https://github.com/yahoo/hadoop.
Read all about it on Yahoo’s Developer Blog.
CARVIEW |
Yahoo’s openness continues today with their announcement of their Hadoop distribution being hosted right here on GitHub: https://github.com/yahoo/hadoop.
Read all about it on Yahoo’s Developer Blog.
This past week since our initial offering of our Firewall Install product has been an exciting one. We received over 300 quote requests on launch day, with more filling our inbox since. We really weren’t prepared for the level of response we received and fell way behind trying to provide quotes for everyone.
That, coupled with the fact that we wanted companies to sign an NDA before receiving their quote, slowed the entire process down. It also bewildered more than a few people wondering why lawyers needed to be involved just to figure out how much the product cost.
For these things, we apologize. Today, we solve these issues by posting our GitHub:FI pricing options: https://fi.github.com/pricing.html
If you have already submitted for a quote, you should have received an email this morning pointing you to the new pricing page. If you already received a quote, please disregard it, the pricing on the website is final.
We’re excited to announce the launch of Logical Awesome’s latest product: GitHub:Firewall Install
GitHub:FI is a version of GitHub that can be installed within your own private network. This product is ideal for your company if you wish to enjoy the benefits of GitHub, but are unable to do so because of corporate restrictions or laws that prevent you from hosting your code with a third-party service.
We’ve partnered with BitRock, the packaging and deployment specialists, to create a comprehensive installer and to deliver seamless product updates. Together, we’ve managed to make the installation process as painless as possible: download the installer, answer a few questions, and your internal GitHub stack is running in about 10 minutes. It’s really that simple!
We currently only support Linux-based operating systems, but we may add additional support based upon demand.
The FI stack is remarkably similar to the one in use at GitHub.com. The primary difference is that the FI source code is compiled and run with JRuby inside of a Jetty container instead of our normal Ruby/Mongrel stack. Beyond that, FI looks and acts just like the site you’ve come to know and love. You’ll still benefit from the same robust, scalable architecture that powers GitHub.com, which means you never have to worry about how many users your FI install can handle (we handle nearly 100,000).
GitHub:FI pricing is quoted individually per installation based on your company’s needs and support requirements. Please keep in mind that FI is priced competitively with other internal code management solutions and is well over the cost of our most-expensive hosted plan.
We provide two levels of support: Standard and Premium. Standard support is included free-of-charge for the first year of service, providing Help Desk support, Email support, and Knowledge Base access. Premium support comes at an additional cost and provides your company the ability to get in touch with our technical staff over the phone. If you encounter a problem that is inherent in the product, we’ll do everything in our power to respond immediately, regardless of support plan. Other issues are prioritized and addressed accordingly.
Head to https://fi.github.com for additional information, a screencast detailing the installation and features of GitHub:FI, and to request a quote for your company!
This week it’s Rebase Book Edition! There’s plenty of documentation projects going on at GitHub, and it’s about time they got some attention. Clone yourself a copy, head outside with your laptop, and enjoy a good programming book under the sun.
Vim Recipes is a work-in-progress cookbook for all things Vim. Learn how to use this awesome editor, extend and customize it to your will, and more. There’s a HTML and PDF version available for your consumption.
Sinatra Book aims to be a tutorial and recipes that teaches one to use Sinatra, the classy Ruby web framework. So far, it contains plenty of information about how to get started and some instructions on deployment. Pick up the book here.
Programming Pearls is a rewrite of the book from Bell Labs that’s in Ruby instead of C. This has some great examples of algorithms that are both efficient and elegant and is definitely worth a read.
Git Community Book is one of the best resources online to learn about Git. If you’re just making your first commits then this is a great way to quickly become a Git guru. Even if you’ve been deep within interactive rebases and octopus merges you’re bound to find something new by persuing this great site.
The Ruport Book goes into detail on how to use Ruport in nearly every manner concievable to make your life easier when generating reports. Check out the outline here.
The Book of Recess aims to help readers enjoy PHP development while using the Recess framework. The book explains the structure, architecture, and how to contribute back your own changes to the framework.
Journey to Ramaze covers everything a web developer needs to know to get up and running with Ramaze. If you’re not a fan of the current Ruby web frameworks, this may be worth a read.
Common Java Cookbook is a tome that contains instructions for using open source Java frameworks like Lucene and Velocity to get things done. It also covers basic algorithms and tasks that nearly every Java programmer will need to do at some point. Brush up here.
The Merb Open Source Book is the leading guide on one of the leanest web frameworks out there, Merb. It’s also been translated into quite a few languages. Read up here.
Huge thanks to runpaint for pointing out most of these awesome projects.
We hear from a number of people who are using Mercurial for their projects but want to host them on GitHub because they want their project to benefit from the community here. Or perhaps they are in a group where some of the developers want to use Mercurial and others want to use Git and so they just stick with Subversion (ugh). We don’t want to live in a world where developers who are ready to switch to a DVCS end up staying with Subversion.
So, I’ve been working on a plugin for Mercurial that lets it communicate with a Git server as a native Git client. I give you hg-git!
This means that if you are a Mercurial developer you can install this plugin and then push and pull to and from Git servers, either GitHub or somewhere else. It is a lossless bi-directional bridge, meaning you can push to a Git server from one Hg user, then another Hg user can clone using this plugin and the node ids will all be identical. It can even handle things like tags, explicit renames, named branches, octopus merges and more.
The plugin is pretty far along at this point – I’ve been using it for all the hg-git development and I’ve heard from a number of others who are using it successfully even on relatively large projects. It is slow sometimes and may not handle some edge cases well, but the software is rapidly maturing. If you do use it, please let me know about any issues you run into, we want to make this rock solid.
There are no external dependencies – the library is entirely written in python and contains a pure python implementation of all the Git functionality it needs, so you don’t need to have Git installed locally at all. It has been known to work with Mercurial 1.1 and 1.2 – let me know if you try it with something else.
From Hg with the plugin installed, you can clone a Git repository like this:
$ hg clone git://github.com/schacon/munger.git
Or, if you have an existing Hg repository, you can run something like this:
$ cd myproject # (an Hg repository)
$ hg gremote add origin git(at)github.com:schacon/myproject.git
$ hg gpush
With those two commands you can basically import your Hg repository into a GitHub repository. Then people can fork and work on your code in Hg or in Git and push back up, then you can pull in any contributed work with something like this:
$ hg gremote add scott git://github.com/scott/project.git
$ hg gfetch scott
$ hg update
The basic commands the plugin adds to the Hg command library are ‘gclone’, ‘gremote’, ‘gpush’ and ‘gfetch’ – all roughly equivalent to their Git counterparts. Also, running a normal ‘hg clone’ with an identifiable Git protocol (git://, git+ssh://) will fire up ‘gclone’ automatically.
See the hg-git homepage for more information.
We pushed out a fix the other day that updated our gem builder to look inside your repository’s default branch, which isn’t necessarily master anymore, to build your gemspecs.
Code Watch is now available on the App Store as a paid version which supports private repos and a free version for open source.
Check it out!
The GitHub Twilight Theme by miksago is a way to make GitHub… dark.
Requires Firefox, Stylish, and Greasemonkey.
I’ve written a blog post over at my personal blog that you all may enjoy. It’s about learning git by looking at how a Git-like system could be built from first principles, and it may help you to understand the concepts that make Git so powerful.
Git is a simple, but extremely powerful system. Most people try to teach Git by demonstrating a few dozen commands and then yelling “tadaaaaa.” I believe this method is flawed. Such a treatment may leave you with the ability to use Git to perform simple tasks, but the Git commands will still feel like magical incantations. Doing anything out of the ordinary will be terrifying. Until you understand the concepts upon which Git is built, you’ll feel like a stranger in a foreign land.
Welcome back to Rebase! I’ve set up a new site as an archive for the column and the latest featured projects at https://rebase.github.com. I’d also like to thank everyone who’s contacted me about getting their work written up. Don’t hesitate to bug me about your project if you would like to see it on the column!
yajl is not just another JSON parsing library. It’s a wicked fast one that’s portable, quite memory efficient, and even supports stream parsing. YAJL also has some pretty slick features on its own, such as comments. Oh? You don’t program in C? Well, that’s alright, there’s bindings for Objective-C, IO and Ruby that you can use. The Ruby one is worth a mention since it includes plenty of benchmarks that boast a huge memory savings along with a decent speed increase. If you’re serious about JSON and its performance in your app, check out this project.
The Kember Identity is based off of a neat concept: Try to find the MD5 hash such that md5(string) = string
. This elusive object has been dubbed the Kember Identity Hash and is now part of a contest in over 20 languages to attempt to find it. Check out the terms here, and get hunting!
sammy is a Sinatra inspired way to manage your web application’s JavaScript layer with some special sauce added on top of jQuery. The gist is this: define a route and some code that will be executed when your browser visits that URL. There’s also support for running validations after a form has been submitted to a URL, which is definitely something that happens in nearly every web app. Some examples of how this all works live in the repo and there’s also plenty of documentation for you to check out.
cateye is another Lisp clone written in none other than Haskell. It’s definitely a neat outcome of Write Yourself a Scheme in 48 Hours and is definitely neat to check out for newcomers to writing interpreters and the language itself. It also supports some wacky syntax, such as Ruby style lambdas and different literals if you’re sick of seeing too many parens.
ztest is a new unit testing library for PHP 5.3. Any project that enables other developers to get testing is notable in my book. This framework already supports plenty of assertions, terminal output, and templates for populating your database with test data. Great! So why aren’t you using (or forking) it yet?
Erlang-FAQ is a awesome knowledge base for those both new and old to this concurrent language. The source now lives here on GitHub, so if you have your own questions or see corrections, you can fork and submit pull requests, and hopefully they will make their way to the offical Erlang site. Also, if you’re a greenhorn in the ways of Erlang this could be a great resource to dive into.
RDoc.info is a web service that generates and hosts documentation for your favorite GitHub-hosted Ruby libraries and Rails plugins. Just add a post-commit hook to your project and it’ll take care of updating your API docs every time you push to the remote.
What, not cool enough for your hipster threads? Well it also masquerades as the docs user on GitHub, and auto-publishes your docs directly to GitHub Pages using a familiar theme. There’s more on how this works here. For an example, check the HTTParty docs or visit https://docs.github.com to get started.
Both of these projects are hosted here (and here) on GitHub, so fork away if you have ideas for improvements. Huge kudos to zapnap and jeffrafter for this awesome use of GitHub Pages and for starting this great service for the community.
Are you part of a US city, state, or federal government organization that uses GitHub for your source hosting? Do you belong to a government-oriented non-profit that uses GitHub? Do you know someone that is?
We’re looking for a few case studies that we can use to further the discussion of open government initiatives. Specifically, we want to help facilitate the sharing of data, code, and ideas, and we think open-source, and Git, are perfect ways to accomplish that. If you can help us by providing any information you have about the use of Git or GitHub within or around the US government, we would be tremendously grateful!
You can leave a comment here or email me at tom at github dot com. Thanks!
quirkey has written a great Guide to GitHub Pages, specifically on using the built-in Jekyll integration.
Check it out and start busting out some awesome documentation for your projects!
Yet another Sunday, yet another Rebase!
compass makes CSS not suck. It’s a flexible CSS meta-framework that ties together the power of SASS (Syntactically Awesome Style Sheets) and your favorite grid template system, be it 960.gs, Blueprint, or YUI Grids. Compass uses mixins to allow you to easily bring in the styles you want and integrate it without polluting your markup with tons of unnecessary CSS classes. There’s plenty of tutorials for integration with your preferred web framework as well as a great screencast on the project’s wiki. Save yourself some frustration next time you have to implement a site’s layout from the ground up.
emerge is the new build system on the block, written in Python. Armed with a ridiculously clean build script and support for fetching edge versions of dependencies from their source code repositories, this could become quite popular. Check out some examples of how simple the build scripts are for Mono and Python. This is definitely some neat stuff for projects just getting started or for those that want to get away from clunkier build systems.
pacgraph doesn’t build projects like the previous entry, but instead lays them out in a graph on your Arch Linux machine. It actually generates some really cool looking visualizations of how different programs depend on each other:
It would be really neat to see this concept applied to other operating systems, so clone away!
GLGestureRecognizer is pretty self-explanatory, but there’s one little catch: it runs on your iPhone. This is an Objective-C implentation of the Javascript $1 Unistroke Recognizer, and it could definitely have a huge impact on new apps. How to integrate this with your Fart Button is up to you, though.
prolog is not what you think. Well, it is. But it’s written in Haskell. Yeah, that blew my mind too. Check out the work that’s been done so far and give this blog post a read about how the interpreter is being implemented. There’s got to be some CS junkies out there that live for this stuff. Get forking.
Finally, if you’ve got a project that deserves some time on Rebase, let me know! This column is meant to be for the community and by the community, and if I happen to skip over your awesome gem, framework, app, or hack don’t hesitate to bug me about it.
Circa is a programming language designed for for rapid prototyping by andyfischer.
The intro page has some good information and the syntax example highlights some interesting ideas:
-- The @ operator is some syntactic sugar for rebinding -- an identifier to the result of the overall statement. -- These two lines do exactly the same thing: my_number = max(my_number, 40) max("my_number":https://github.com/my_number, 40) -- Lists are indicated by []s -- List arguments also can be separated -- by commas or semicolons or spaces names = ['Absalom','Bouffant','Chilton'] numbers = [1 2 3] orders = [locate; evacuate; exterminate]
Looks neat!