Jan 21, 2014

Maldives Constitution (2008) epub / iBooks

It’s been a long time since I’ve actually posted something here. I’m posting here mostly for the sake of archival.

I’ve been experimenting with thaana ebooks for some time now. It’s been long known that the epub3 specification makes this technically possible; but it was not practical since no e-reader properly implemented the standard. Apple’s iBooks however, recently started supporting some of the key features  needed to make this work.

so here it is… (possibly) the first ever reflow-able epub in thaana.
Download Maldives Constitution ePub for iBooks and other digital readers

Mar 26, 2013

Guitar Chords: Keefahu Mashah Ran (shan/huyam)

It's been a while since I posted anything at all. I figured I'll just throw this up here for any googlers. 

I transcribed this by ear from the Shan/Huyam version, which can be found on SoundCloud here.

you can also find a version of the song on Eyzamaana album by OutOfDoorsMaldives. You can download their album on iTunes -> Out of Doors Maldives

{title: Kee Fahu Masha Ran}
{subtitle: version by: Shan/Huyam }

# transcribed by kudanai {http://kudanai.com}
# this is in chordpro format

{comment: capo on 3}

kee [C]fahu mashah ran
kee [C]fahu mashah ran

{comment: chorus x 2}
	kee [C]fahu mashah ran
	vee ufalugaa, [F]theemu u dhebein [E]nah
	dhee[F]naaru haas ma ba[C]haanan.

ari [Am]atholhu hurihaa [E]rah rashah
ari [F]in bilei ma ba[E]haanan

[Am]..... [E].... [F]..... [E]

ari [Am]atholhu hurihaa [E]rah rashah
ari [F]in bilei ma ba[E]haanan
ari [F]hah mashah dhevu[E]niya

{comment: chorus}

kee [C]fahu mashah ran

dholhu [Am]lakka hajju ve[E]ringe medhuga
[F]molhu sayei ma ba[E]haanan

[Am]..... [E].... [F]..... [E]

dholhu [Am]lakka hajju ve[E]ringe medhuga
[F]molhu sayei ma ba[E]haanan
dhuv[F]haku mashah libun[E]iyya

{comment: chorus}

hithaa[Am]dhoo e maaiy dhon[E]veli thundee
hit[F]thala dhe-gas ma [E]jahaanan

[Am]..... [E].... [F]..... [E]

hithaa[Am]dhoo e maaiy dhon[E]veli thundee
hit[F]thala dhe-gas ma [E]jahaanan
hitha[F]kah mashah libu[E]neeyaa

{comment: chorus}

mula[Am]ku e miskithu [E]nan alhaa dhoru
[F]fothigandei ma fah[E]aanan

[Am]..... [E].... [F]..... [E]

mula[Am]ku e miskithu [E]nan alhaa dhoru
[F]fothigandei ma fah[E]aanan
moo[C]dhah ekee dhevuniyya

{comment: chorus}

kee [C]fahu mashah ran
kee [C]fahu mashah ran
kee [C]fahu mashah ran
kee [C]fahu mashah ran

Aug 30, 2012

IGMH mobile/web app open for testing/usage

This story, like any other story worth telling, begins with a girl - a sick one. This girl particular was sufficiently infuriated by the Male' healthcare system's "ineptitude" at information distribution and proliferation to rant about it on Facebook. Naturally, this spawned a heated and interesting debate.

Long story short, we found out that IGMH does, in fact, publish doctors duties and room queue data. Unfortunately, the presentation of this information left something to be desired. You can find it on an archaic asp.net setup somewhere on their website. Ugly doesn't even begin to describe these pages, not to mention the messy markup, and bulky presentation.

The project initially began as an endeavor to liberate the data on these websites. To this end, @NashRafeeg (http://nashath.net) and I (@kudanai) put together a nice little system in python, using BeautifulSoup and Mechanize to scrape the relevant data. We also threw in some interesting caching procedures, as it seemed extremely precarious to fetch on a per-request basis. All this, was then pushed over a JSON API.

**note: please contact us first if you want to use the API

The next order of business, naturally, was to implement a presentation layer. Which you can see in action below.

To to try it out for yourselves, visit: http://igmh.dot.my

Some Known Issues:
The display code is built on jQTouch, an thus inherits its flaws and shortcomings. For example, we rely on -webkit-overflow-scrolling: touch to handle the inertial scrolling. This will fail on most android devices and so on. 

also, yes, we know about the "back" button issue.

The page currently doesn't have a timed/manual refresh mechanism (which would ideally be present in the queue data view). You have to go back to home, and then back to the view in order to reload the data.

read about @NashRafeeg's writeup here http://nashath.net/2012/08/igmh-mobileweb-app-open-for-testingusage/

Jul 29, 2012

Maldives Internet Radio

edit: 9th Aug, 2012: now includes 97minivan courtesy of @softwath

Living abroad during Ramadan is known to cause a higher than normal sense of nostalgia; a well known phenomenon among us. It's just not the same without the sound of the telly with 'muhamadu rasullullah' or the local radio in the lead-up to breakfast.

Pretty much all the local radio stations have an internet stream, but I find the exercise  of hunting them down a bit tedious; and I'll be damned if I will install the windows media player extension on my browser. So I've done the next best thing, i.e. import these streams into VLC. Now all the streams (those that I could find anyway) are now in a nice little playlist.

I figured I would share this with you guys so here it is.
a playlist for Maldivian internet radio stations ...


NOTE: I haven't been able to find VOM89 and a working stream for FARAWAY. the HFM stream seems to be offline right now too but I've included it in the hopes that it might work. Drop me a line if you know where I can find these.

Apr 11, 2012

iBooks + Dhivehi / Thaana (no jailbreak necessary)

Came across an old experiment I conducted a few months ago when iBooks was the hot new thing on the block. I envisioned a few Dhivehi novella's published on the platform.

Getting iBooks to play nice with Thaana is no mean feat - mostly because a) iOS doesn't support thaana by default, b) apple's ePub support is a little bit finicky (and a little subject to what they believe is the way to do it).

so after a little experimentation, using the Sigil, the free Epub editor I set out to find out just what it takes to force iBooks into accepting a thaana book. I used Sigil because iBooks Author does NOT support right to left typing, which is a bit of a bummer… also, I wanted the methods here to be as accessible to everybody as possible.

The bottom line is that it works… but requires a little bit of hackery.

The only REAL thing that needs to be done in order to do this, is use embedded fonts. thus, by declaring something like say `@font-face { font-family: Faruma; src: (../Fonts/faruma.ttf);}` in the ePubs css, and then using it is sufficient to get it to display the relevant font.

BUT here is the kicker… that only works for for headers and other "non-body" structures. meaning, anything inside a paragraph tag for instance, does not get styled. To over-come this, we can wrap the text in a <cite> tag, which works.

The above works with both Unicode and Non-Unicode thaana writing systems. using unicode is fairly straightforward, and also recommended for the sake of being consistent. non-unicode layouts require additionally specifying `unicode-bidi : bidi-override` to mitigate the directional issues.

To illustrate, I have attached two sample epubs (one using unicode, and the other not) to demonstrate. Please feel free to open these up in Sigil and exploring the structure.



I used "thaana unicode akeh" for the unicode example, and "A_Faseyha" for the non-unicode example. Needless to say A_Faseyha looks much better. That however is easily customizable.

Screenshots below (UNICODE, NON-UNICODE)


IMG 0428IMG 0426

Mar 13, 2012

thaana keyboard iOS 5.0.1 available

just to follow up from the previous post here, the latest version of thaana keyboard for iOS 5+ is available. It SHOULD work on iOS 5.1 as well, but since I cannot upgrade my own devices just yet, I cannot test it.

You can get it installed from PDALink in henveiru (for a fee), in front of Shaheed Ali Mosque near Ameer Ahmed/Beach Store. I have not put it up online for installation at this time.


some of the more convenient features of this version include:

  1. Automatic switch to a right-to-left layout
  2. Ability to choose between phonetic and typewriter layouts
  3. much faster
  4. Autocorrect: the phone will learn words that you type, and auto-correct them when you make mistakes later (this functionality is slightly limited, but it works)

I apologize for the inconvenience with the installation method. iPad version is in the works (mostly done, but I can't release anything since I don't own a usable iPad at the moment :/)

Feb 27, 2012

updates on Thaana Keyboard for iOS5

I keep getting a lot of questions regarding the status of the iPhone thaana keyboard tweak for the newer (iOS5 and up) firmwares, so I thought I would write a follow up.

for those of you who're in the dark; some time ago I released a thaana keyboard for iOS. This was then quickly ripped off by SOME people for profit. Since then I have not posted any major updates (and the ones I have released were restricted to close friends and family). This version worked all the way from 4.0 to 4.3.3. long story short, come iOS5 - people were left dangling.

I have been informed by sources that eLL claims to have their own developers in Malaysia working on it - which has yet to bear any fruit - so some people can wait for that if they wish.

Contrary to popular belief however, I have NOT been sitting idle all this time. So here is the official word on the iOS5 updates:
YES there is a version for iOS5 that I have been working on…and YES it works. However it is a little buggy right now and hence not ready for a release so NO I will not be releasing it at this time… and NO there is no guaranteed time-frame.
On a positive note however, this version should work across the full iOS spectrum (meaning iPhone,iPad, iPod touch).

and just to show you I'm not bluffing, here's a screenshot of an iMessage (which as you know is iOS5+) being written in thaana.


Jan 17, 2012

Radheef for OSX dictionary.app (beta)

Before I say anything more... BETA means I want YOU...to give me feedback.. got it? alright let's proceed.

A few months ago I twought (thought + tweeted) that I, for one, would like to have the radheef available on the native mac dictionary app. This was met with some positive response (yes you @bandey); which motivated me for about 15 minutes until I started playing Uncharted 2… and everything went downhill from there.

I had already done something similar for linux (which I talked about here and here), so I figured it wouldn't be too difficult. So tonight - since I'm bored and have nothing better to do - after an hour or two of toiling around I've managed to get it up and running.

point to note here BEFORE people start asking me how to setup thaana keyboard or something stupid like that, you CAN use ASCII to search. (as in you can search for 'mwkunu' or 'މަކުނު' to the same effect. Also not that you don't have to type in the entire word (dictionary.app does prefix matching on the headword against the query)

screenshots ahoy! Scroll all the way down for the download link (only if you read the above of course) and setup instructions.

It shows up in the dir_listsearching works fine

edit: new easy to use installer HERE

the dictionary database can be downloaded HERE..HERE HERE MIYOTHEE

extract the zip file and copy the "dv_MV radheef.dictionary" file to either ~/Library/Dictionaries (for single user) OR /Library/Dictionaries (for all users).

that's all folks.

Nov 29, 2011

Messing around with AppleScript

Ever since I made the decision to buy a Mac I've wanted to mess around with apples excellent application scripting system (i.e AppleScript). I finally got around to it today and now am throughly impressed by the number things you can accomplish with it.

Anyway as my sort of "hello world" task, I've written up this little script down here which will "speak" or "Read Aloud" the number of unread messages in your "Mail" (assuming you're using Mail.app - which you should) and the sender and subject of each unread message. This combined with the impressive new text-to-speech voices in OSX Lion makes it rather useful. I will now have all my emails read to me by a sexy indian lady on my computer (aka sangeetha!)

I did some googling around but didn't find anybody else doing this so I figured I'd share it here.

the script!
tell application "Mail"
 set unreadCount to unread count of inbox
 set theMessages to (messages of inbox whose read status is false)
 if unreadCount > 0 then
  say ("you have," & unreadCount & ",new messages")
  repeat with msg in theMessages
   say ("message, from" & (sender of msg) & ". Saying" & (subject of msg))
   delay 1
  end repeat
  say "you have no, new messages."
 end if
end tell
I've also compiled it into an alfred extension which you can download from here cheers

Oct 10, 2011

Donate button is up again.

Hey there,

A few months ago I encountered some problems with the PayPal Donate button. It is now fixed, and donations are working again.

If you like any of my work, have profited from it in any way, or just want to help me out, please consider donating. Even small amounts are appreciated. Donations help keep me motivated, and pay for my education.

Thank you.