My first Fedora

Bismillaahir Rahmaanir Raheem

Alhamdulillaah, to my pleasant surprise, I discovered that I started using Fedora personally with Fedora Core 4, and not 5 like I had previously thought.  This makes me feel better as I’m glad I started using Fedora earlier, because I like to think I recognized the importance of a completely (or as close as possible) free operating system (free here means freedom, not just free of cost).

Continue reading “My first Fedora”

Unfinished Projects

Bismillaahir Rahmaanir Raheem

I have the bad habit of starting things and not completing them.  This is bad for numerous reasons, just a few of which I’ll list shortly.  I will warn you now that as this post is meant to help me organize my thoughts, it will list-heavy, as I do find lists and other types of grouping structures to be beneficial and help in making relationships (e.g., database schemes).

I already know that as I type this I will revisit this post in the future as I will be unable, in one sitting, to be think of all of unfinished projects.  Therefore, I will come back and add to the list as I recall more things (and find the time and desire, a rare combination these days, to update the blog).

For

  • Unfinished projects tend to clutter your mind
    • I tend to turn to unfinished projects whenever I work (i.e., get paid to do something) and hit a stumbling block.  This severely hinders my progress on work, which ultimately leads to less getting done.
    • Time when I could be brainstorming solutions is usually spent wondering about these myriad unfinished projects, which, lacking much focus, tend to yield few to no tangible solutions.  This includes walking/riding to the masjid, showering, and other activities that tend to leave the brain free and, ideally, well-suited for addressing beneficial thoughts.
    • If I try to focus on something, I can have a hard time preventing my mind from wandering to these unfinished projects.  This is related to the point about work above.
    • It’s just not healthy to have so many things on the mind at once.  There is a point at which the benefit of multitasking is overshadowed by the overhead of just trying to keep track of everything.  It’s not efficient.
  • Having so many unfinished projects means that it can be hard to pick just one to work on.
  • Playing catch-up may give a false sense of achievement, because the value of these unfinished projects are not equal, and therefore, I may complete one that is really not that important while one that is more valuable was never completed.  Therefore, just trying to clear out the backlog of projects may yield a net result of close to zero.
  • There are many more, and I may amend this list in the future as I recall them.

So, here is the list of my unfinished projects (at least those that I can recall at one point or another).  I am including some thoughts on the different ideas as well.

  • Redesign the Audio Islam website
  • Write a script to automatically tag all the audio files, especially the ones containing Qurʾān recitation, with reciter & sūrah information
  • The Fedora Documentation manpage coverage project
    • This is basically an idea I had related to the Fedora Documentation project to ensure that all executables had an associated man page (manual page, a low-level documentation system for Unix-like operating systems such as GNU/Linux).
    • The first step in this is to canvass the existing packages & executables and see what already has a man page.  I have already started on this, but there is much work left to be done.
    • There are plenty of sources for documentation that can be used as baseline manpages, including the Debian project.  So, this project doesn’t require as much work as it does just coordinating and facilitating.
  • A Paltalk replacement
    • Paltalk is a voice conference & chat application (video is also supported, but I don’t care about that right now) that is widely used, but terribly proprietary.
    • My goal is to create or synthesize a replacement for Paltalk using only free software and open technologies
      • The best candidates for this are SIP (for multimedia) and Jabber/XMPP (for text chat).
      • The landscape for software that can do this in a simple fashion is rather bleak, but there are some solutions.
      • I’m currently focused on FreeSWITCH as the SIP server and ejabberd as the chat backend.
      • Linking them such that it will be one service will be quite challenging, and still requires a free software client that has solid support for both SIP & XMPP
        • I’ve been looking mostly at Qutecom, SIP Communicator, and Psi
        • On GNU/Linux, the Empathy client for the Telepathy framework is outstanding, but, is limited to free-software operating systems.  I think Windows support is a long way out still.
  • AlMaghrib in Malaysia
    • I am trying to catalyze the establishment of AlMaghrib Institute seminars in Malaysia (almost surely in Kuala Lumpur, at least at the beginning).
    • I’ve already purchased the domains almaghribinmalaysia.com/net/org, and I just need to get the site setup.
      • To start off, I think just a blog with some information about AlMaghrib is fine.  It can be fleshed-out later.
    • Alḥamdulillāh, there is already a lot of interest both within and without Malaysia.  I have several contacts here that are also excited and may be able to facilitate the first few steps.
      • I see the first step being getting a group of excited & enthusiastic locals to get behind the effort.
      • After that group is identified (and it is really an ongoing process), see about getting the support of existing organizations.
        • From an initial perspective, it seems like this is going to be easy, in shāʾ Allāh.
      • With this support, we will want to schedule some kind of event to gain a wider audience interest.  Something like a conference or teaser seminar, perhaps a week-long program with some of the AlMaghrib instructors.
        • Many of the AlMaghrib instructors are already known or well-known here
        • Having Suhaib Webb might be particularly nice, as his wife is Malaysian.
        • Waleed Basyouni has expressed an interest in coming to Malaysia, and some work is already in progress regarding that, but it may have stalled (temporarily only, in shāʾ Allāh)
        • Yasir Qadhi is another instructor that has some reknown here, apparently (from what I’ve been told).
  • HidayahTech
    • My own technology consulting business
    • Although HidayahTech is currently the name of my blog, I have also resolved to use this as the name for my own consulting business.
    • Services will include
      • Audio recording, editing, mastering, and production (I did this, for example, for the Texas Dawah Convention in 2007)
        • I am consider splitting this and other audio-related services into it’s own business, namely, Hidayah Audio
      • Web technologies
        • Hosting (this is generally quite easy)
        • Moodle (an open-source learning mangement system, for putting schools online, for example)
        • Audio services, including hosting my “replacement for Paltalk” solution above
      • Consulting
        • This will include a wide variety of services ranging from system administration, general IT, infrastructure, to web development
        • I may take some partners or hire some friends for this aspect of this business, as I will need help for some points of it
  • Global Homeschooling
    • This is my premiere project, if I had to pick one.  I consider this to be something great if I can achieve it, by the Permission of Allāh.
    • To sum it up, I want to develop a system whereby Muslims (and truly, anyone) can homeschool their own children easily.  Homeschooling may be too specific of a term, though, because I want the scale to include a plan that can be implemented by governments.  I would like children, and really anyone, to be able to be educated within their own homes, utilizing the bevy of technology that exists.
    • Technology creates options & opportunities, and this is a belief I take strongly.  Therefore, I think we should utilize it.  I see education as one of the most important investments that can be made, whether it is Islamic or related to the worldly sciences, both of which are important.  I actually believe the distinction to be artificial, but it will take time to get there.
    • So, to put it in a few words, I would like to develop a system of education leveraging technology that is globally accessible allowing education to be released from the confines of school buildings.
  • Learn the Python programming language
    • I think learning Python has a high return value on the types of applications I would like to write, including graphical ones.  Also, it is quite the preferred language for many platforms, not the least of which is Red Hat & Fedora.
  • Memorize the Qurʾān
    • Please keep in mind that this list isn’t in order of importance…;)
    • I think this is a goal every Muslim should have.  I started this goal, seriously, while I was staying in Egypt with my parents, even semi-regularly visiting the imān of the nearby masjid to review my memorization.  Sadly, since arriving in Malaysia I’ve not really resumed, and I am afraid I may start regressing.  This is the kind of project that can be achieved through a little, regular & constant work every day.  I really should commit to something, even if it is as simple as one āyāh per day.  That would be better than none.

Naïve integer primality calculator in PHP

Bismillaahir Rahmaanir Raheem

Alhamdulillaah, while reading about integers and, subsequently, prime numbers last night, I decided the time had come for me to write a primality calculator in PHP.  The test I use in my implementation is about as a naïve as one can possible get, but it was fun, nonetheless.

Interestingly enough, I discovered that there already exists a primality calculator for *nix-based systems – primes.  It comes with the bsd-games package for Fedora.  I assume the same is true for other distributions.  Mine isn’t quite as fast yet…but it does accept, optionally, one or two arguments. If there are two arguments, then it will calculate all primes starting from the first going until the second. If there is only one argument, it will calculate from PRIME_START (defined to be 2) through to the largest integer PHP can handle on your platform (usually the maximum value of a signed int on your machine).

There are loads of potential optimizations that can be performed, and this was just something written on a whim as a proof of concept. It seems to be accurate, however. The code, released under the GNU GPL v. 3.0, can be found below.
Continue reading “Naïve integer primality calculator in PHP”

Message Mastery by Belal Khan

Bismillaahir Rahmaanir Raheem

Alhamdulillaah, my good friend Belal Khan of Leechon Films fame has started (a while back, actually) a program called Message Mastery.  You should get the full explanation from the website, but the basic gist of it is that it is a training seminar focused on developing masterful messages through the medium of video.

He’s released a few videos that are freely available that are samples of what the entire program entails.  I found the one entitled “Three POWER Principles of Filmmaking” to be quite refreshing in how simple, yet effective, such techniques can be.  Even more beneficial is that the tips he provides, while framed around the production of video media, are general enough to be beneficial in almost any context.

Give his site a check-out and leave some comments as he’s very keen on getting & responding-to feedback from his visitors & members of his program.

Disclaimer:  Belal is just my friend – I am neither associated with Message Mastery nor am I enrolled in the program…yet.

Time Lapse Barrage

Bismillaahir Rahmaanir Raheem

Alhamdulillaah, I’ve been able to take an enormous amount of pictures during my stay here in Malaysia until now.  And while the actual yield of shots with any value may be low, the sheer volume of photos means that I have plenty I would like to share.

The sheer amount of work to upload these and present them in anything close to an appealing way through WordPress has made me decide that I am going to seek an alternative method for disseminating the videos.  I am hoping I can leverage my Gallery installation, in shaaʾ Allaah, but it’s support for alternative media types has not impressed me to date.  And don’t even dare suggest that I use a Flash-based solution…

Read on for the feature presentation(s)!  As usual, make sure to get a copy of the free-and-open-source VLC player if you don’t have it or another media player that can play Ogg Theora videos.
Continue reading “Time Lapse Barrage”

Time-lapse photography with CHDK

Bismillaahir Rahmaanir Raheem

As I’ve already alluded to in a previous post, I’ve been using the CHDK firmware supplement with my Canon PowerShot A550, which on it’s own is an outstanding camera, alhamdulillaah. This firmware add-on, though, really takes the cake!

One of the features made possible by CHDK is the ability to run scripts which take the enabled features of your camera and do interesting things with them. One such script enables one to take a sequence of images of a fixed interval over a period of time – i.e., time-lapse photography! So, over the past two days, I’ve gone-ahead and played with this feature a bit by just collecting images from my office window while I diligently “worked”.

Continue reading “Time-lapse photography with CHDK”

CHDK – Unleash the POWER in your PowerShot

Bismillaahir Rahmaanir Raheem

Alhamdulillaah, I’ve been playing around with CHDK, which is a free firmware add-on (note: it does not require flashing your camera’s firmware) that enables a multitude of features on your ordinary, run-of-the-mill Canon PowerShot digital camera. In short, it’s amazing. I haven’t had enough time to truly “unleash the POWER” yet, but I’m already amazingly pleased with what I can do so far that I was unable to do prior to this.

Amongst its amazing features includes the ability to save images to a RAW format, full control over shutter speed & exposure settings, fine-grained control over video quality settings, HDR photography, and an amazing BASIC-based scripting language that enables, among other things, time-lapse photography (examples in an upcoming post, in shaaʾ Allaah).

Expect myriad future posts relating to images & videos I’ve been able to capture with these new features, especially in combination with

Fedora 9 – Why it’s so awesome

Bismillaahir Rahmaanir Raheem

Okay, I know that title is a pretty pretentious statement by itself, as much of Fedora 9’s awesomeness isn’t unique to it. So, I’ll grant that much of the coming awesomeness is related to Gnome 2.22, which is not limited to Fedora 9, nor is Pulseaudio, Upstart (props to the Ubuntuees for that), or a plethora of other things. So, in reality, Fedora 9’s awesomeness is a celebration of Free & Open-Source software and its universal community.

The following is pretty-much ripped from the wiki. The witty banter is added by me. Also, I know I’m not the first (actually, I hope I’m quite close to the last) to have done one of these things. What follows are the features that I consider to be cool and important, but this list is obviously by no means exhaustive or even appropriately representative of Fedora 9. It’s simply a list of what I think will make Fedora 9 so awesome, in shaaʾ Allaah.

Okay, that should be enough flame retardant for now…onwards!

Continue reading “Fedora 9 – Why it’s so awesome”

Tapeless HD camcorders

Bismillaahir Rahmaanir Raheem

I’ve been keeping my eye out for tapeless (e.g., hard drive or flash memory instead of tapes) HD camcorders for a while, because of the obvious flexibility of being able to transfer the recorded video directly rather than “recording” it via IEEE 1394 (i.e., “FireWwire”) – while an IEEE 1394 link is definitely fast, any tape-based camcorder usually only transfers the video at regular playing speeds by actually playing the video.

Having said that, here are a few that have caught my eye:

The important issue, of course, is how easy is it to work with the video once it’s recorded.  Most of the video formats are MPEG-4-based, usually the controversial AVCHD.  There are some advantages & disadvantages, of course, but ffmpeg really helps with most of the issues.  I’ve been playing a lot with it (ffmpeg) this past week, and the sheer flexibility of it is astounding.  I think the woes of multimedia flexibility under free operating systems is slowly going away, as even the GUI applications (avidemux, PiTiVi, Kino, etc.) are at a level of refinement I wouldn’t have expected.

Naturally, I am loath to use nonfree versus free solutions, so I am pleased to let you know that there are many free software codecs available through ffmpeg – that is the topic for another article, perhaps.

Obviously, there’s still a lot of work to be done, but I’m really excited to dive into open-source content creation!

Updated with relevant linking and a few spelling fixes.