RSSAmplifier

Blog

Noufal Ibrahim : constrained creativity

nibrahim.net.inRSS feed ↗31 posts

Latest posts

Sports Karate

I am a practising student of Karate and have been doing so for a long time. I first studied Shotokan for around 7 months when I was a kid and then after a long gap, studied kalaripayattu for 2 years. After another long gap, I studied WTF Taekwondo for a few years and got a first dan black belt. These days, I train in Okinawan Goju ryu. I moved from Taekwondo which I saw purely as a sport rather…

Creating a presentation by hand using calligraphy

I’ve been involved with PyCon India since the first edition of the conference in 2009 . This year, I was invited to give the keynote at the 2017 edition of the event in Delhi. This post is about some personal experiences preparing the speech and making the slides. I think it’s worth writing about because it was very different from what I usually do and also because, I think, it was a genuine…

Hamon

I’ve been freelancing for a while now it’s been a learning experience. I had to confront parts of me that I was not aware of many of which I’m still struggling to change. However, after my last project, I’ve decided to try a different route and establish a small company offering software services. The Lycaeum under which I do all my student trainings and mentorship has been getting a decent stream…

Ledger CLI

This is a post describing my experiences with the command line accounting tool ledger . My general preference for text based tools that “fit” into the UNIX ecosystem and which can work well with Emacs led me to this. The fact that it’s written by someone I admire a lot was an additional reason. The post that follows is a description of how I use it and what I’ve learnt over the past year. There…

SQLAlchemy and full text searching in postgresql

Introduction Postgresql has support for full text search . The basic idea is to create a column of type tsvector and then you can run full text queries (represented as tsquery strings) using the @@ operator. This is different from the LIKE queries using the %string% since this is language aware and can provide things like ranking etc. As an example, SELECT 'I am satisfied with postgresql' LIKE…

Lines

Very often during my work, I’ve needed to treat a list of things (usually stored in a file one per line) as a set. This means that we should be able to to find the union of two files, intersection of two files etc. For example, if one file A looks like this item1 item2 item3 item4 and file B looks like item3 item4 item5 item6 Their union should be a file that has item1, item2, item3, item4, item5…

UNIX command line course

I grew up on DOS and then jumped straight to UNIX (Solaris and then Linux) without really using Windows. I was introduced to “The UNIX programming environment” by Kernighan and Pike by a friend and studied the basics of using the shell from it. Most of the tricks stuck with me since then and while I’ve never used shell for a production program, it’s always my go to tool for throw away scripts and…

Git tree and repo diagrams

Update: The original version used the grit gem which is now deprecated. I’ve updated the scripts to use rugged which are the offical ruby bindings for libgit2 . Many people have been asking me for the scripts I use to generate diagrams of git repositories which I use during my trainings. It’s a bunch of quick and dirty ruby scripts (my first ruby programs I think) which walk the repo and output…

Git workshop in July

I’m conducting my git workshop in association with hasgeek . The planned dates are 27 and 28 of July 2013. If you missed the last one and want to be a part of this one, do sign up. The website is http://gitworkshop.hasgeek.com/ . See you all there!

New version of Hyde

I’ve just put out a new version of my Emacs mode to edit Jekyll/Octopress blogs . This has some simple code to embed images into posts. It doesn’t work perfectly but well enough for me to manage Calligraffiti.in . Fixes are welcome.

Bye bye Bangalore

After 11 years of living in Bangalore, I’m finally ready to leave. I came here in 2001 as an employee of Cisco and then moved through a 2 jobs before starting to freelance. I got involved in the local Python scene, helped kickstart Pycon India and met a lot of wonderful people in the process. On a personal side, I got married and had two kids all while I was in Bangalore. I met some great people…

Calligraphy

Everyone’s got to have a hobby and mine is Calligraphy. Like many people, I enjoy doodling but I’m not very gifted when it comes to drawing so I channel my energy into writing beautifully. I’m trying to develop this into a serious endeavour and this is a post describing how I do it. My “gear” I don’t remember how I got interested in this but the earliest calligraphy pen which I got was an Artline…

Emacsmovies.org

I came across a stack overflow question asking for good Emacs screencasts and couldn’t find any on the web. There is a website for Vim screencasts so I thought I’d try my hand at making one for Emacs. Thus was born emacsmovies.org . I registered the domain at the end of last year in October and have been spending time sporadically developing the tools that I thought I needed to do this. I spoke to…

Moving topic branches in git

I hit an interesting situation recent which I’ll try to recreate here in the hopes that others might benefit. Imagine that we cut a branch called tp1 from our master and did some work on that branch. At the same time, some other work was done and pushed onto master . Our current DAG looks ike this. ![Initial scenario] (/images/git/rebase-0.png) Now, while on the topic branch, we do some work and…

Homeschooling in India (part 3)

I’ve talked about the my problems with traditional schooling and some alternate methods in previous posts. In this final part, I’ll talk about my implementation plans. My daughter is not yet four and I’m factoring that into my plans here. Be warned though that these are my plans and might not be suitable for everyone. Also, this is more of a statement rather than an opening point for discussions…

Tomobi

I own an Amazon Kindle and while I don’t buy ebooks online, I do use the device as a replacement for paper. Before I had it, I used to take hard copies of longish articles so that I could read them while offline. The Kindle is a great replacement. You can covert almost any format into something it can support using calibre and then read it at your pleasure. There are many articles on the net which…

Showkeys

As part of a larger plan to do some screencasts, I wrote a simple program to display keystrokes called showkeys . It is similar to key-mon but has less features and a different design that I prefer. key-mon is more modern looking and tracks mouse as well as keyboard input. It’s prettier, is themable and on the overall, something that fits into a modern desktop better than showkeys. Showkeys has…

Git training post mortem

These are some thoughts on the recent git training which I conducted here in Bangalore. I’ve done several corporate trainings before and spoken at local events but I’ve never conducted something like this before. Organisation I’ll first talk about the organisation. The dates were bad. I didn’t consider Diwali. I had other plans for the last week of October and early November and after that is…

Git training

I am offering a training on the git version control system on the 22nd and 23rd of October 2011 at The Millenia. For details, please visit the training page at http://nibrahim.net.in/trainings/git.html . Please spread the word.

Homeschooling in India (part 2)

Part 1 of this article discussed my problems with the current education system. Why I don’t like it and why I don’t think it makes sense to put ones children through the ordeal. In this part, I hope to discuss alternatives in the Indian context. In the third part, I hope to talk about strategies and my own plans on how to implement them for my children. Alternative education No one really wants…

Homeschooling in India (Part 1)

This is a dump of all my thoughts and resources I’ve been able to gather about homeschooling/unschooling children in India. I’ll try to make this structured but no promises. Also, much of this is opinion based on my worldview e.g. I’m a religiously orthodox Muslim and this was considerably affected my views on the whole matter. I welcome comments on points where I’m factually incorrect and also on…

My org mode PIM setup

This post describes the way in which I’ve set up org-mode to track my work and life in general. It’s broken down into a couple of “sections” and I’ve linked to the relevant parts of my config on my github account. I’ve tried to be a little verbose to explain how things work so that you can try this out if you’re inclined. If you hit any snags, mail me and I’ll try to help you out. All this is…

Git training course

I will be conducting a public course on Git during FOSSMeet 2011 at my alma mater, NIT, Calicut . The course will probably be held on Sunday, 6th February 2011 but the official schedule is a more reliable source of information. The details of the course including slides are available at the training page .

Python extension training cancelled

The extension training which I had planned for Jan 8,9th is cancelled due to a lack of participation. On the other hand, a shortened version of the tutorial has been accepted for PyCon 2011 . I will be presenting it over there and if there’s sufficient interest, will put up the slides/material on my site here.

Calligraphic rulings

Calligraphy is a hobby of mine and I spend a few hours every week on it. I’ve tried arabic but it’s too hard to do without precise instruments and a teacher. English is slightly easier and the results look somewhat pleasing even if one is not very skilful. Calligraphic letter proportions are specified using multiples of the width of the nib of the pen being used. Following is an example of the…

Employment status

Its been around a year since I took the plunge . I worked for a few organisations, did a few trainings and generally had an educational and profitable year. I attended two PyCons abroad, conducted one here, met a lot of interesting people, got myself a new laptop , got exposed to a whole gamut of things which were completely new to me (like managing my finances by myself) and generally had a…

Python extension training

I’m conducting my “Extending Python using C” training on 8 and 9 January 2011. The training will be conducted at Regus Business Centre, Level 9, Raheja Towers, 26-27 Mahatma Gandhi Road, Bangalore - 560001 You can view details of the course at the info page . To register for the event, please click on the link below For details on my trainings in general and for schedules, please refer to the…

Public trainings

I’ve always been fond of teaching and have decided to hold public courses on various technologies that I research and use on a semi-daily basis. I have put up a separate Trainings page which describes my motivation and desires and also mentions way to stay upto date if you want to attend any of the courses that are being offered.

Hyde : An Emacs mode for Jekyll blogs

I’ve been working on a simple mode to manage my blog entries using Emacs and Jekyll . The mode is available at https://github.com/nibrahim/Hyde . Following is a brief users guide Usage Download the all the hyde-*.el files and put them somewhere. Once you do that, add the directory where you put it to your load path like so and require it. 1 2 ( add-to-list 'load-path "/path/to/hyde*.el" ) (…

First Jekyll post

This is a test post to verify the jekyll based system which I just got setup to create blog entries. These are disjointed files and will be assembled together by Jekyll. The next step is to create an Emacs mode that automates most of these things properly. Let’s see.

PyCon India 2010 : A report

PyCon India 2010 was the second installment of our very own PyCon. A lot of people worked really hard to make this happen and we tried to learn from the experiences of last year and do a better job. The conference was organised by the Indian Python Software Society and was held at the M.S. Ramaiah institute of technology, Bangalore on the 25tr and 26th of September 2010. We had around 650 people…