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:
Featured Project
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.
Notably New Projects
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:
Click Me
Clicking this link will add #mylink to the location in the
browser, and load the body content of test.html into the
with id="my-content"
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 grep
and tail -f
, this is pretty much a sysadmin’s dream.
Written by
Related posts
Apply now for GitHub Universe 2023 micro-mentoring
As part of our ongoing commitment to accelerate human progress through Social Impact initiatives, we’re offering students 30-minute, 1:1 micro-mentoring sessions with GitHub employees ahead of Universe.
The 2023 Open Source Program Office (OSPO) Survey is live!
Help quantify the state of enterprise open source by taking the 2023 OSPO survey.
Godot 4.0 Release Party 🎉
We are delighted to host the Godot 4.0 Release Party at GitHub HQ on Wednesday, March 22 from 6:30 pm to 9:30 pm. And you’re invited!