Preface: I have been selected for Google Summer of Code ’16 under Gentoo Organization.
Firstly, I would suggest that you start now. Since I do not know anything about your background, I will start at the beginning. Feel free to jump to the relevant point in the process. But DO NOT skip anything as irrelevant.
To start, first you need the right tools.
Learn (read “master”) at least one VCS (Version Control System). Since git is the most common and the most popular, I recommend you start with that, however knowing what svn and mercurial are won’t hurt....
LEARNING FROM MISTAKES: BUGZILLA LANDFILLS
This post is regarding a recent incident that happened when I was working for my project in Google Summer of Code.
My day's task was to automate the filing of a bug in bugzilla if and when a build fails. Though, not too hard, it would obviously require testing, because I can't just assume that my code would work the way it is supposed to.
This didn't seem like much of a problem at that time. What I decided to do was, test on a single bug and delete it when I'm done. Simple Enough?
As it turns out, it...
DETERMINING LEGAL USE FLAG COMBINATIONS USING A CNF SAT SOLVER
I spent my time doing something rather interesting today.
In my proposal, I had mentioned that the USE flag combinations to be tested would be:
Without any USE flag turned on
With all USE flags turned on
Few random combinations based on default flags, or inverse of default flags or those generated by tatt.
Yesterday, a guy, Harald Timeraider pointed out that some of the USE flag combinations given by the above rules may not be legal. For example, if an ebuild specifies
REQUIRED_USE="^^ (a b c)" then EXACTLY one flag out of
c should be enabled....
REFERENCE SHEETS AND USEFUL LINKS
This post was long due. I often find blog posts, reference sheets and useful links that I feel I should bookmark. However, I often lose these bookmarks when I shift Operating Systems or browsers (which happens very often). I am hoping that this will be a better and a more reliable way to keep track of all these resources.
ULTIMATE CONTROL OVER MOBILE BROWSER WITH FIREFOX
It is no secret that I love firefox. Even though sometimes, it can run a bit slower than Chrome, Firefox has always provided me with better developer tools and better control over all of my settings, even those which are usually unavailable via
However, it was only recently that I discovered, that
about:config works flawlessly on the mobile version of the firefox browser too. That means, all of the features you'd think that mobile browsers miss, like proxy settings, cache, pipelining settings, etc. can be found just by typing
about:config on the URL.
Before you go off try, and...
SSH PORT FORWARDING AND SOME COOL USES
I'll begin with some of the bare minimum and absolutely amazing things ssh port forwarding is capable of, and see if I can convert this to a proper blog post later.
1. Local port forwarding
ssh -L8081:example.com:80 firstname.lastname@example.org
Meaning: Opens a SSH connection to myserver.com, and forward all requests to my port 8081 to port 80 (default http port) of example.com via myserver. Thus, if example.com is blocked on my PC, but it can be accessed by some other PC which I have ssh access to, then I can use this command to gain access to the...
GOOGLE SUMMER OF CODE WITH GENTOO
I am excited to say that I've been accepted for this year's summer of code under Gentoo Organisation. This section of the blog will be dedicated to documenting anything and everything I learn that is interesting or remotely related to my project.
My proposal for the project can be found here. The abstract for the same has been given below.
Gentoo is an operating system with extreme focus on configurability and performance. To provide fully customizable experience, without interfering with the stability of the system, Gentoo has a concept of masked packages. These masked packages (or versions) are...
EASY SHARING OF SSH KEYS
This tip may be obvious to many people, but I feel this worth mentioning. A lot of us have SSH keys set up for github. I found out today, from a friend (github/sakshamsharma) that you can actually share your public keys with others by giving them your github username. For example,
curl https://github.com/pallavagarwal07.keys >> ~/.ssh/authorized_keys
would give me ssh/scp access to your PC.
LINUX COMMANDS EVERY USER SHOULD MASTER
When it comes to linux, there are some commands that you can't live without and then there are some you shouldn't live without. I mean sure, you can live your life without ever using
find but you'd never believe how much productive knowing a few more terminal commands can make you.
Here is a list of the commands we are going to take a look at:
The command that started it all: man
I really hope you know this one. But in case you don't, well today is your lucky day....
CONFIGURATION MANAGEMENT IN LINUX
You can't yourself a linux enthusiast if you've never run into the problem of sorting out your configuration files. All of your precious files like
.Xdefaults are some of the ones that can take a lot of pain to customize from the ground up.
Like most people, I started out by always backing up my important config files. But the list soon got so huge that I started having trouble remebering which files to back up, and to do it after every change.
So, obviously, I moved on to the next obvious option, symlinks! I...