by Ossi Hanhinen, @ohanhi
with the support of Futurice 💚.
Licensed under CC BY 4.0.
| git branch -m old_branch new_branch # Rename branch locally | |
| git push origin :old_branch # Delete the old branch | |
| git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote |
CloudFlare is an awesome reverse cache proxy and CDN that provides DNS, free HTTPS (TLS) support, best-in-class performance settings (gzip, SDCH, HTTP/2, sane Cache-Control and E-Tag headers, etc.), minification, etc.
| # Install tmux 2.8 on Centos | |
| # install deps | |
| yum install gcc kernel-devel make ncurses-devel | |
| # cd src | |
| cd /usr/local/src | |
| # DOWNLOAD SOURCES FOR LIBEVENT AND MAKE AND INSTALL | |
| curl -LO https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz |
Code is clean if it can be understood easily – by everyone on the team. Clean code can be read and enhanced by a developer other than its original author. With understandability comes readability, changeability, extensibility and maintainability.
| diff --git a/src/display.rs b/src/display.rs | |
| index 14c5a66..a5a8980 100644 | |
| --- a/src/display.rs | |
| +++ b/src/display.rs | |
| @@ -239,7 +239,7 @@ impl Display { | |
| // font metrics should be computed before creating the window in the first | |
| // place so that a resize is not needed. | |
| let metrics = glyph_cache.font_metrics(); | |
| - let cell_width = (metrics.average_advance + font.offset().x as f64) as u32; | |
| + let cell_width = (glyph_cache.true_average_width() + font.offset().x as f64) as u32; |
Alternate title: How to Fix FrankenDebian's Monster.
https://wiki.debian.org/DontBreakDebian#Don.27t_make_a_FrankenDebian
This document is now at https://gbdev.io/guides/tools.html, please go there instead. It's kept here to avoid breaking links and to preserve history.
Previous versions can be checked out by selecting the "Revisions" tab, and selecting "View file" in the three-dot drop-down menu.
In the past few years, it seems that, as retro gaming has grown in popularity, programming for older platforms has also gained traction. A popular platform is the Game Boy, both for its nostalgia and (relative) ease to program for.
When someone wants to make their own game, one of the first problems they will encounter is picking the tools they will use. There are two main options: either use GBDK (Game Boy Development Kit) and the language C, or RGBDS (Rednex Game Boy Development System) and the Game Boy's assembly language.
The purpose of this document is to provide my insights and experience, and help you make the better choice if you're starting a new project. I will also provide some "good practice" tips, both for C and ASM, if you have already made up your mind or are already using one of these.