FairTest – working against standardized testing

I work at a company that is involved in providing consulting services to K-12 educational organizations (that is, schools). My officemate gets the pleasure of writing & rewriting our testing coding, which basically handles the testing & test scores of students.  Therefore, it should be no surprise (or, well, at least only moderately surprising) that I found the following site mildly interesting:

This is an interesting organization whose purpose is to show the implicit failure of standardized testing.  I have to say, I kinda agree with some of their points…I almost wish I could help them redesign their website…


Is there anything Linux can’t do (other than take over the desktop market, that is…*ducks*)?


I meant to post this a long time.  I guess I was planning on fleshing out the two lines above a bit more but I decided to go ahead & just post it anyway, just to trim down my pending post queue (I have, like, 10 unfinished posts waiting on me to complete & post them…)

Computer temperature

I’ve ordered 4 case fans from Newegg, because ever since I’ve closed-up my case (a gift from an old friend), the noise level is actually higher as the CPU fan is spinning faster to keep it cool now that it’s closed. I figure adding a few larger fans will help keep the internal temperature lower and keep that (hopefully noisier) CPU fan running more quitely. We’ll just have to see. Until I get the camera I want, you’ll just have to imagine what all this looks like.

Currently, the CPU idles around 46°C with a case temperature of 46°C, likewise.  This peaks at almost 60°C when running a fill CPU load (runs Prime95 for a short while…) 61°C CPU, 46°C case.  The CPU fan also runs at 6250 RPM at this temperature.  Once I’ve installed the new fans (I might do them one at a time to measure their individual contributions), I’ll report back.

Andrew Tanenbaum’s website

Whilst browsing Slashdot today, I came across a post describing yet-another-computer-science debate. This one in particular is regarding the debate regarding microkernels versus monolithic kernels in operating system design. The players: Andrew Tanenbaum & Linus Torvalds. Torvalds is, of course, the original writer & maintainer of the Linux kernel, while Tanenbaum is the author of what can be called the precursor to Linux – Minix (undergoing a Slashdotting at the time of this writing).

But I didn’t make this post to discuss operating system design. As it turns out, Tanenbaum is a rather decent writer, and I found myself rather drawn to the numerous writings he has up on his website. Amongst the interesting reads I encountered were the following:

(I think I was really interested in this particular series of events, apparently).

Continuous Integration

I came across a link to this article describing some good development practices & procedures from an announcement on the Tigris project site.

I’m posting it up here so I don’t forget about it. I’ll try and offer a better write-up and/or analysis when I get some time (most likely outside of work hours). Feel free to share any comments if you get a chance to read it & have something to share.

PHP, PEAR, & Zend Framework coding standards

I’m all for standardization and standardizing procedures for long-term efficiency. However, up until now, where there were no “official” standards for something, I would make up my own or imitate what I thought was the nicest. One place where I’ve done just this was with regards to my coding styles for PHP – I had my own styles. Well, no more! I’ve finally decided to take the plunge and following the PEAR coding standards. Continue reading “PHP, PEAR, & Zend Framework coding standards”

Implementing PHP Iterators – The Beginning

One of the new features that came with PHP 5 is the ability to implement Iterators. Implementing one of your objects as an iterator essentially allows you to treat it as a standard array. By default, without adding any additional code, you can enable iteration over a regular objects variable members. So, for example, if I had the following code:

(I’ve removed the plugin that I used to format PHP code here, so until I find out that works, I apologize for not showing my code examples…)
If I were to run a foreach() loop over this, I would get behavior that would correspond to an array with the elements of $bar1, $bar2, & $bar3. This is wonderful default functionality. However, you can go a step further if you want to implement more complex & complete behavior. I’m going to be experimenting on this kind of behavior with my DBObject class – namely, converting it to a DBArray object, and see how well that goes over. I will report on my successes & travails in followup posts.

(Boy I’m having a hard time to get WordPress to format code on this thing…probably need to get an extension to do it. Any suggestions?)

Zend Framework

My supervisor brought to my attention the Zend Framework – an interesting PHP-powered answer to Ruby-on-Rails.  The Zend Framework seems to espouse the MVC design pattern.  It looks really interesting & is worth another look here shortly.  I’ll follow-up & let you know what I find out.

MyDNS – MySQL (or PgSQL)-powered DNS server

I came across a review for MyDNS – a database-driven DNS server – over on Linux.com.  I’m going to try it out, since it comes with some nice features such as a web-based management page as well as the ability to hand-modify the database records.  Coupled with the fact that it should scale well, this seems like an interesting & easy-to-setup system.  Do I finally have a replacement for BIND?

Social networking & online projects

While browsing around at work today, I came across an interesting post on Bradley Horowitz’s blog describing his take on the relative distribution on the “phases of value creation”. I found this post via another post on Jeremy Zawodny’s blog, which I linked to from the links listed at the Google Blog. Rather appropriate for a post regarding social networking & online projects, eh? Continue reading “Social networking & online projects”


Gnome.org has a brief summary of the new features coming up with their version 2.14 release of the Gnome Desktop Environment (read more about Gnome itself here). I love the new features they have coming up for it, and I am consistently impressed at how clean & elegant-looking its interface is. I just recently installed Fedora Core 4 on my desktop in a dual-boot system, and I found it to be so refreshing after using Windows XP for the past several years. The Linux desktop has so many features, widgets, & tools that simply blow away Windows, thanks to the open-source nature of Linux and its related tools.

On a similar note, I picked up some interesting news off of Slashdot regarding Fedora Core’s AIGLX, which is, more-or-less, an integration between the X window system & the OpenGL 3D rendering language. What’s even more interesting is that it will first become available in the upcoming Fedora Core 5 release. I am looking forward to see what some clever developers can do with the new features enabled by this synergy.

(Those two news bits are not exactly related – I just read about both of them today, so I wanted to blog about both in one post.)

Upcoming tutorials

There are a plethora of articles about which I would like to write, and I will easily get caught-up and overwhelmed if I don’t at least make some kind of a plan. So, I’m going to write-up a short list of tutorials I plan to be writing soon with the hopes that it will help me stay focused and not get too distracted.

  • Cascading Style Sheets (CSS) – Separating content from presentation
  • PHP & DOM – Generating XML webpages without typing a line of markup
  • Database Abstraction Layers – Streamlining access to your data
  • HTTP Headers – How browsers communicate with servers
  • XMLHttpRequest/AJAX – Send & receive data without reloading the page

The ultimate goal of these tutorials is to combine the knowledge in all of them into one super-tutorial on creating a powerful content-management system utilizing some of the best techniques and technologies available to us today. Also, in the future, this page will link to the articles above as they are completed.

NOTE: The titles of the articles will almost certainly be changed, but the topics will remain the same.

XML Applications

I’m very pro-XML, so I wanted to compile a simple list of interesting applications of XML that can be useful. This is all part of my perpetual grand-unification CMS that I always say I’m working on. Amongst other things, it will leverage as much XML as possible, since its core rendering will be using PHP’s DOM XML capabilities.

As I discover and/or remember additional interesting applications for XML, I’ll try and update this list a bit. There are literally hundreds to thousands of XML applications, but this list is meant to be limited to the ones I can leverage in my own projects. In the future, I might write up some more in-depth articles regarding these technologies, how they can be used, how I will use them, etc.

If you can think of any additional, interesting applications for XML that can be leverage in a web-based CMS powered by XML or you just plain think is worth mentioning, then by all means, leave us a comment.

Now taking tutorial requests

One of the goals of HidayahTech is to share what little technical knowledge I have with my visitors in the form of easy-to-follow & comprehensive tutorials. So, if you’d like to request a tutorial, please leave a comment to this post with the nature of your request. I’ll start you off with some options:

  • PHP
  • MySQL
  • HTML
  • CSS
  • Object-Oriented Programming
  • XML
  • Standards-Compliant Design
  • 3-tier design (a.k.a., Model-View-Controller)
  • REST

My posting these topics above does not imply that I am in any way an expert in them, but they are concepts with which I am at least slightly familiar, and wouldn’t mind looking into more deeply to help share some knowledge. However, I do deal with most of those topics in one way another at work or in my own personal website design.

Your request need not be limited to the list above, and may even be a combination of any of the above, but you’ll have more of a guarantee of a decent tutorial written if it can be expressed by one or more of the above topics.

I’ll be lookin’ forward to hearing from you all!

Welcome to HidayahTech

After a rough start (still working on the Tawheed Collective), I’ve decided that it’s okay to have two blogs.  The focus of HidayahTech, if you haven’t gathered from the name, is on technology – but there will also be spatterings of science, and general posts as well.

Now that I’ve got it looking the way I like, I wanted to invite anyone that wants to listen in on my little chats.  What you can expect in the future will consist of discussions regarding IT-ish topics such as web & software development, technology, tutorials, & other topics that I think might be of interest & benefit to others.

So, have at it!  Comment!  Leave suggestions!  Contemplate about what I write!  It’s a free-for-all!