Homepage
So, this is something I have been working on recently for some time. The project's name is YourHonour, and is is a Kubernetes(k8s) based Online Judge for organising programming competitions.
YourHonour came into being because the Open Source solutions already present either do not fit all the criteria, or are just too hard to setup. The ones that are easy to set up, as well as provide complete functionality are either paid, or non-free.
Anyway, I decided to build my own judge. Hell, how hard can it be? As it turns out, creating a judge isn't as easy as I...
PREPARATION FOR GOOGLE SUMMER OF CODE (GSOC)
Preface: I have been selected for Google Summer of Code (GSoC ’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.
The basics:
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...
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 a
, b
, and 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.
- Python Future: This is a brilliant cheat sheat to write cross compatible code for both PYTHON-2 and PYTHON-3
- What Color is Your Function?: An absolutely amazing article about the design choices of a modern language. I won't spoil...
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 about:config
.
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
Syntax:
ssh -L8081:example.com:80 pallav@myserver.com
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 grep
or 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:
- man
- grep
- find
- sed
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....