Google Summer of Code 2015 with Privly

Finally, after waiting almost for a month, the list of accepted students for GSoC 2015 is out!

I am happy to announce that I will be working with Privly during the summer. My project is ‘Add locally served injectable application support to the Safari extension’ and my mentor will be Sean McGregor. My submitted public proposal can be seen here.

Currently, Privly has a well working Chrome and Firefox extension. I will be working on the Safari extension and hope to become the maintainer for the extension after the end of the programme.


Create an OpenGL 3.0+ context on Mac OS X

Firstly, to check which version of OpenGL your Mac supports, visit this link:

In this tutorial, we will be using an OpenGL library called GLFW. For this, we will be requiring Homebrew.

To install Homebrew, simply run the command on your terminal.

ruby -e "$(curl -fsSL"

Next, we need to download GLFW3. To do this, run the command on your terminal.

brew install glfw3

Now, GLFW3 has been successfully installed on our machine. An example code that runs OpenGL 3 context is shown below. Let this be called main.cpp

#include <GLFW/glfw3.h>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
	GLFWwindow* window;
		return -1;
	window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
	if(!window) {
		return -1;
	while(!glfwWindowShouldClose(window)) {
	return 0;

To compile the code, run

g++ main.cpp -framework OpenGL -lglfw3 -I/usr/local/include/

And, to run the program, simply run


We will get an output similar to

4.1 INTEL-10.0.86

The main magic in the code is done by calling the glfwWindowHint function with the specific arguments.


GSoC – Progress Till Week 3

After completion of week 3 since the start of GSoC, I can say with full confidence that I am happy to see my progress till now.

During this course, I have learnt that managing time and breaking down each issue into smaller chunks of work is really helpful. The Bookie Trello board sure did help a lot in this matter.

Initially, I started off by updating SQLAlchemy and Alembic for Bookie.

The commits can be seen below:

Next, I had to start with the database migration to add an ‘is_private’ column to the bmarks table. Also, functional python tests were added for models to make sure that new bookmarks were being saved as private by default unless specified otherwise.

The commit for the database migration and the tests is at

Also, I had changed code so that the first bookmark in a development instance would be public.

After that, I had to update models and tests which deal with the counts of private and public bookmarks. This way, we could make sure that the private and public bookmarks were being saved properly and the counts for them were also right. The commit corresponding to this can be seen here:

Finally, the last commit made was to make sure that by default, the bookmarks were stored as private. The commit can be seen here:


Currently, I am working on updating the api and also the tests and docs relating to the same. I will be back with the next post soon to keep you updated with the progress. 😀


Google Summer of Code 2014 with Bookie

After all the wait, finally the list of accepted students for Google Summer of Code 2014 is out.

I will be working over the summer with an Open Source organisation, Bookie. My project is ‘Add private bookmark support to Bookie’ and my mentors will be Rick Harding and Craig Maloney. 😀

More details can be seen here.

I will be blogging about my progress and the overall journey throughout the summer. So, stick around if you want to know more.

Looking forward to a great summer.


Finally My First Post!

So, finally, after thinking so much over the whole “blog idea”, I decided to start my personal blog.

For those of you who don’t know me, I am Sambuddha Basu. Currently studying in International Institute of Information Technology, Hyderabad(IIIT-H) and hobbies would include music, good food and coding of course! I love reading about new technologies and exploring them to see what they are really capable of. Yes! By this time, you might have guessed it already that this blog is going to be inclined more towards technology i.e. new frameworks, developmental coding and, some other exciting things that you don’t want to miss.

I guess this is pretty much it for my first post. Hope to surprise you with my future posts!