Nov 14, 2009 · 5 minute read
islam
so i was sitting on a plane in san francisco awaiting the departure of my flight to atlanta, from where i will insha’Allah be leaving for hajj. the captain mentioned something about a leak that they have to fix, so i figured, “why not write a blog post on my phone in the meanwhile?” (the plane took off and i realized i had more stuff to add and edit, so the in-airplane mobile blogging commenced on land and in the air).
anyhow, i wanted to write the pieces of advice and gems given to me by my shuyookh, elders, family and friends who have already went to hajj.
hajj - themes and similitudes
when i went to ummrah before, i have always been told how i7ram makes all people equal - you could be the richest of people or the poorest of people, you could be from america, china, or burkina faso, but ultimately, it didn’t matter - you were wearing the same simple non-embellished two pieces of cloth while doing your ummrah (or hajj).
however, the parallel i recently learned is that between hajj and the day of judgment. there is a plethora of people (millions), all moving towards the same place, each to themselves and not worrying about those around them. the rich and the poor, the arab and the non-arab, the powerful and the weak, the healthy and the sick all gather from all parts of the land for this journey. on this day, all are dressed in i7ram - similar to the burial shrouding one is wrapped in - and as though all are just being resurrected and walking towards “ard al ma7shar” to await reckoning - may Allah make that day easy upon us!
it is thus not surprising that surat al hajj would start with these verses (22:1-2).
hajj tips
0. first and foremost, the importance of time during hajj. so many people advised me, “don’t waste your time, maximize your time of worship.” others told me, “american crowds go to hajj in luxury, with constant buffets of the best of foods and so on - so eat minimally, especially from once you go to makkah until after the day of 3arafah!” (to stay light and avoid down time). another common advice was “watch who your company is on the trip and beware of bad company!” another tip was “lose the watch, you don’t need it!”
-
almost everyone advised “do not get angry!” i was told “forget logical reasoning, don’t resist or try to convince anyone of anything, you don’t want to lose your hajj.” i was also told “everyone will be on edge there, you will be pushed, shoved, and tested a lot there, so stay on your toes and whatever you do, don’t lose your cool!” may Allah make it easy! i think ayah 2:197 is very relevant.
-
the most important request people always make is for du3a2 - du3a2, du3a2, and more du3a2 - du3a2 for ones family, friends, shuyookh, those who have rights upon us, those who passed away before us, the ummah, and for ourselves - du3a2 for this world and for the next. may Allah make it easy and accept!
-
writing the waseya (islamic will) before leaving - this action in and of itself reminds a person that death can come at anytime, and thus reminds us of the importance of being prepared. may Allah grant us حسن الخاتمه - ameen.
-
on a related note, calling family, friends, and people with whom you may have had trouble in the past to ask them for forgiveness highlights the importance of brotherhood, good character, and making sure one is on good terms with all people.
hajj - aspirations/what to aim for
0. first and foremost, that Allah accepts it and makes it a hajj mabroor - this is absolutely critical, because without this, the trip would arguably be wasted.
speaking of mabroor, brother Ihab gave an awesome khutbah on hajj, in which he cited a hadith in which the Prophet (saw) said that there is no other reward for a hajj mabroor except for jannah. the sa7aba asked the Prophet (saw), “wa ma biruhu?” - and what causes a hajj to be mabroor? and he (saw) answered with “it3am alta3am” (feeding food) and “ifsha2 al salam” (spreading salam).
[note - i had forgotten the second item and found it in this blog post].
-
that Allah returns one home completely free of sin, and helps one to improve upon themselves and to become a better person (and ultimately, to grant them حسن الخاتمه and jannah).
-
that Allah accepts one’s du3a2s while there.
-
that Allah allows hajj to be a positive turning point in one’s life.
ayat/verses
credits
may Allah reward sheikh Mohamed, brother Ihab, and all of those who gave me hajj training, advice and shared their experiences with me in any way, shape, or form (the names are too many to mention here and i would undoubtedly forget someone, so i will suffice by saying, “may Allah reward you all”).
and finally…
some last (and mostly unrelated notes):
-
this is most probably the longest piece i have ever written on my phone (and on a plane). for the record, writing long articles on an iphone is a painful experience!
-
that having been said, while i plan on taking my iphone with me, i am hoping not to use it - otherwise, knowing me, i’ll get distracted and start live blogging my hajj - (“i am now at mina! check out this picture/video!” - and, of course, “i am now on 3arafah! send your du3a2 requests via twitter before maghrib and i will pray for you!”)
-
and yes, in case you are wondering, i felt strongly obliged to start my lists at 0.
Sep 26, 2009 · 2 minute read
technology
last year, i signed up for a 1 year subscription to rememberthemilk. now that it has expired, i’ve started wondering whether i should re-subscribe or switch to something else (toodledo appears to be a popular option).
so i made a toodledo free account and imported my tasks from rtm - fairly straight forward and easy (although i had to re-tag and group everything, but no big deal). i tried using both of them for a few days together, and here are my thoughts:
what i like about rtm:
-
interface - the ui is really slick
-
keyboard shortcuts are like vim’s - familiarity is good!
-
the new smart input bar is really nice and allows for fast inputting of tasks
what i like about toodledo:
-
more emphasis on goals, tying tasks to goals, etc
-
development seems a lot more active - rtm seems dead at times
-
team seems to be more friendly
-
nice subscription features (statistics, subtasks, auto-scheduler).
i’ve used rtm’s iphone app but haven’t used toodledo’s yet (although i read that it’s also really good) - so i am guessing that on the phone front, they are roughly equivalent. rtm is $25/year and toodledo is either $15 or $30/year, depending on which plan you get.
rtm is pretty functional without a pro subscription, but you can’t use the iphone version. with toodledo, you can use the iphone app (a one time ~$4 charge), but you have other limitations (task history of completed tasks is limited to 2 weeks).
so in summary - it’d be pretty nice to use something like orgmode for emacs (if i can dedicate enough time to learn it) or something like taskwarrior and just use plain text files. the advantages of such approaches are the price tag and portability/accessibility, and ease of use. the downside is that there’s no mobile (or web) interfaces unless i were to serve my todo files on my webserver (or write some code to sync to another service, etc).
another option is to buy things, which is a really well done app - but the problem is that i am then locked in to seeing my tasks on my mac and my phone (but not on the web and therefore, not on my linux box). it’s also $50 for the desktop app plus $10 for the iphone app. other apps have similar issues (omnifocus and the hit list).
decisions, decisions… sometimes, deciding on this sort of thing makes it “how to not to get things done” :)
Sep 13, 2009 · 2 minute read
code
often times while working with databases, you find the need to do some simple tasks (adding a column and populating it with a value from another table, etc). rather than write a script to do this, use mysql’s native subquery (and temporary table) functionality - it makes life much easier.
consider the case where you have two tables:
mysql> describe colors;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| color | varchar(10) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
and
mysql> describe color_mapping;
+------------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| picture_id | int(11) | YES | | NULL | |
| color_id | int(11) | YES | | NULL | |
+------------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)
let’s say you want to update the colors table to add a frequency column such that you know how often a given color is used. it turns out this is really easy using mysql:
alter table colors add frequency int;
update colors set frequency = (select count(*) from color_mapping \
where color_mapping.color_id = colors.id);
and that’s it. also useful are temporary tables:
create temporary table color_frequencies select color_id, count(*) as cnt \
from color_mapping group by color_id;
if you then attempt to desc color_frequencies
, you’ll see a table with two columns - a color_id
and a cnt
column.
hopefully this will save some people some efforts writing scripts next time some simple database updates are needed :)
Sep 12, 2009 · 1 minute read
general
[center]note the v, n, and m keys (or lack thereof)[/center]
finally replaced my keyboard with a new one :)
Aug 10, 2009 · 1 minute read
codeislam
i’ve done a quick port of the quran ubiquity plugin to work under the new version of ubiquity (0.5). as you may know, ubiquity 0.5 and beyond use a new parser (parser 2) that isn’t compatible with the old parser (parser 1 for 0.1.x versions of ubiquity).
you can get it here. make sure to select “automatically update this feed” so that you get any updates i may get around to making.
this version is pretty much identical to the older one, except that now, you can use “get-ayah,” “get ayah,” or “ayah” to get an ayah, and “search-quran” or “search quran” to do a search. i hope to support some of the new stuff from the pre-alpha version of the quran api soon insha’Allah (other translations, etc).
Jul 23, 2009 · 2 minute read
random
inspired by the blog of sy and my previous roommate (who makes a mean paneer btw), i decided to start posting my chef de jour recipes for the benefit of all the bachelors out there. unfortunately, i don’t cook as much as i should (but i have been fairly lucky in terms of the output of my few attempts). so perhaps documenting my experiences as a master chef will help me to stop slacking and cook more.
what is this:
this is a dish known as “فول” in arabic (pronounced ‘fool’). it’s a bean dish famous in the middle east as a breakfast or late night snack.
ingredients:

-
1 (or more) cans of fava beans
-
1 (or more) cans of sliced tomatoes
-
lemon juice
-
tahina (ground sesame seed)
these ingredients can mostly be obtained at any middle eastern or desi grocery store.
instructions:
- obtain a pot.
- open beans and put beans in the pot.
- add tomatoes to the pot.
- mix together well.
- add a little bit of tahina to the pot - enough to make it slightly lighter color, but not too much. maybe 2 or 3 tablespoons at most
- heat together and mix well.
- add lemon on top and serve (with pita bread usually).
for an upgraded experience:
of course if you want to go all out, try replacing the canned tomatoes with fresh tomatoes, the canned beans with fresh ones that you must first leave in water for some time, and replace the lemon juice with real lemon. experts can try placing the aforementioned mixture with the fresh ingredients into a pressure cooker for better results.
the meaning of the title:
the title, which means ahmed’s great fool, is a pun on the arabic comedy movie, “فول الصين العظيم”, in which the main character cooks fool in a cooking competition in china.
Jul 10, 2009 · 1 minute read
codeislam
today, i took the arabeyes php extension of itl, the yahoo geocoding api, and the geonames api and put together waqt.org.
it’s a fairly minimalistic prayertimes site. the code is available on github. note that the calculation method is currently hardcoded to use the isna method, but this is fairly easy to change.
Jun 2, 2009 · 1 minute read
islam
about two years ago, i posted about sheikh mohamed’s amazing fajr marketing tshirt. today, i am posting about the latest tshirt in the collection - read, understand, and practice quran.

sheikh is currently in egypt visiting his family and will go and make 3umrah insha’Allah… the bay area really isn’t the same without him. may Allah accept from them and grant him and his family the very best and bring them back safely - ameen.
May 19, 2009 · 2 minute read
codeislam
updated and released the first version of the quran ubiquity plugin! you can go here to install it.
essentially, it contains two commands -
- search-quran - takes a parameter of what to search for and will show the results that match that particular query. hitting enter will bring up the search results page.
- get-ayah - takes a parameter of which ayah (ex 2:2) and an optional parameter of the language/translation you want the ayah in (in english - muhsin khan, for example - note that ubiquity will provide suggestions for these). hitting enter will insert the text into the selection space.
this is uber-useful for muslims imho :p perhaps i will try to provide a screencast later on that shows how to use this for those who are still afraid to try it :)
update - rather than make my own screencast, i’ve decided to record a set of audio instructions on how to use it.
by the way - if you haven’t used ubiquity before, i highly recommend that you watch this video first. it explains what ubiquity is and gives you an idea of what it is useful for. to put it quite simply, ubiquity is amazing. it’s an indispensable tool for your firefox. watch the video :)
and here is the audio tutorial on the quran plugin for ubiquity.
enjoy!
May 19, 2009 · 1 minute read
website
after having pretty much the same theme since the launch of the site, i’ve switched to the excellent iNove wordpress theme. i’ve also cleaned up some links and replaced the previous code highlighter with the very nice syntax highlighter evolved plugin.