GitHub has been awarded the 2024 Axe Accessibility at Scale Award from Deque Systems. Read more about how we’ve implemented accessibility at scale.
GitHub Rebase #38
Welcome to Rebase 38. Suggestions for projects to cover are always welcome, check out the criteria here. In the meantime, check out this preview of some neat visualizations using the…
Welcome to Rebase 38. Suggestions for projects to cover are always welcome, check out the criteria here. In the meantime, check out this preview of some neat visualizations using the GitHub API of how developers are connected:
hiphop is Facebook’s PHP to C++ source code transformer that drops several language features such as
eval() in order to statically convert and compile it with
g++. This gives Facebook a huge CPU reduction compared to using Apache and the Zend PHP engine, which really adds up when you have 260 billion page views per month and 30,000+ servers. (More numbers here.) The idea behind hiphop is that most high-traffic PHP sites eventually have parts that get rewritten to C/C++ for performance reasons, so this transformation engine allows more engineers to continue writing PHP instead of a lower level language. There’s plenty of information on the wiki on how to get started and run it with nginx. Just keep in mind, hiphop isn’t for everyone, but it could help if you’re running a large PHP app across multiple servers.
Oileide is an auto-bookmarking library that can really help out with perma-linking pages that are very AJAX intensive. The gist is this: load in oileide’s JS/CSS scripts, use the unobtrusive helpers to load content, and then the IDs you set on links will be autoloaded if someone reloads the page. From the README, if you have:
Clicking this link will add #mylink to the location in the
browser, and load the body content of test.html into the
This library has no other dependencies (like jQuery) but the idea could easily be extended or adapted. If you’re doing any AJAX content that needs to be linked, check this project out.
sleeping-wolf is a RubyGem that synchronizes tickets in ticgit, a simple git ticket tracking system that uses your local repository, with GitHub Issues. Sounds great, but it’s super-alpha and needs help from the community. Better documentation for ticgit would be great to have, perhaps a cute logo, and the actual code for synchronization (perhaps using the Issues API?). This project could really help out GitHub users that like to keep local backups of their project issues, so get hacking!
funfix is a Python fixtures library that can whip up sample test data using Google App Engine’s Datastore API. Heavily inspired by Rails’ fixtures and factory_girl, funfix includes plenty of examples on its README about integrating it with your app, and some neat features including deriving fixtures from other fixtures. This project was extracted from CrashKit, which may be worth a look for those into ‘Exception-driven development’.
squawk is a command line tool for parsing and running SQL-like queries on your log files, which is also written in Python. I know, that sounds scary, but it’s really useful if you’re not already a Unix wizard. You can run queries such as
SELECT COUNT(1) AS n, remote_addr FROM file WHERE status = 200 on Apache or nginx log files, or even
GROUP BY status to get an aggregate count of all statuses your web server has dealt out. With subqueries and aggregates, this tool could definitely save you time when hunting in log files. Combined with clarity for a web interface view to
tail -f, this is pretty much a sysadmin’s dream.