I like drupal but...

Drupal is a major improvement over our previous CMS solution. I like the fact that it uses standard web technologies that are widely used. I like that I can go back to the source code to answer a question or address a problem. I like that it's flexible and extensible. I like that it has a large community of knowledgeable and helpful users.

But one thing I don't like about drupal is it's documentation. For the most part it's pretty good (it's better than many other open source projects). In fact, A good portion of Drupal is very well documented, especially older features. If you're needs are basic or you are familiar with Drupal 6 you should be able to get by without too much trouble. However because Drupal is a somewhat large project, there is a large amount of documentation. This can make getting up to speed a daunting task for new Drupal developers. This is compounded by the fact that Drupal was designed to be a modular system in which many apis have an impact on the end result of any code. This means that after you grasp the Block api well enough to create the traditional 'hello world' block, to do more you need to go read the Database api, then the Render api, then the Theme api, and so on.

Facebook Video Chat

So if you haven’t heard yet, Facebook has teamed up with Skype to create video chat capabilities for the popular social networking site.  Now you can video chat with your friends and family right through Facebook, without having to create a separate Skype account. We tried it out in the office, and it was fairly easy to use, although quite buggy right now. I believe they just announced it on July 6th or 7th, so I’m sure there will be many bugs to work out in the days and weeks to come.  However, all you have to do is search for “Skype Me” on Facebook and download the app. It took me a few tries before it finally worked, but then you just download the file and Run it on your computer. After it’s installed, you can choose any friend from your normal chat list and click to open the chat. Now you’ll see a small video icon, and you can click that to begin the call.  It rings on your friend’s end, and they have the ability to answer or ignore your call.  Once answered, it opens a box that shows your friend’s video, with your video in a small box in the corner.

Lessons in Life

Life is precious…

I had to learn that the hard way this past week. I think many of us seem to forget just how vulnerable we are in this world and while it is true that no one lives forever many of us tend to forget that.

A close family friend passed away this week as a result of a car accident, she was only 23 years old. She was studying in medical school at the University of Louisville. She had her whole life ahead of her, but that wasn’t her fate. While she was driving on the highway she encountered a bike that someone must have dropped and swerved to avoid it, but as she swerved she lost control of her car and crashed into the guardrail on the side. She was transported to UK hospital but the damage was already done. She never made it out of surgery.

Many of us had to deal not only with the sadness of losing someone we care about, but also with such a tragic story. Death can have a silver lining though. It can bring people together who never thought they would speak again, it can bring a community together to grieve regardless of race, religion or color, and help the family by comforting and supporting them, it truly can remind us of how precious family, friends and life really is. And it can change us for the better, when we realize just how fragile human life is.

Easing code reuse and refinement through the use of the entity-component pattern

In software development, there's an axiom that states that you should reuse code when it's possible and useful to do so. Common sense, right? Why WOULDN'T you reuse code? Not only does it save you from reimplementing functionality that you may have written before in othe projects, it also plays a big role in ensuring that your code is as bug-free as possible, due to the (obvious) fact that as code is used over and over again, bugs will pop up and be fixed.

In my experience, people typically try to solve the code reuse 'problem' using inheritance chains. By definition, it is true that classes who inherit do reuse code that was written in the parent. HOWEVER, the little bit of code that gets reused in this instance is not worth the inevitable huge, hard-to-see inheritance chain that is created. Inheritance locks your classes into a rigid, fragile system that can be tedious and difficult to break out of. There IS another solution -- composition. Anyone who has taken an undergrad course in software engineering will be familiar with it.

Freedom is priceless

We should never take our freedom for granted.

As events are unfolding across the Middle East it has become abundantly clear that what we have in this country is so precious.

Imagine what it would be like to have the very basic freedom of peacefully saying what you want to say thwarted by an unimaginable amount of violence. Well that is what is going on today in the Middle East. Hundreds upon hundreds are getting killed in many Middle Eastern countries all because they are taking to the streets,demanding freedom, and they are suffering.

The protests have always been close to my heart because I can’t stand to see people suffering in such an inhumane way, but now it has hit closer to home. My family is originally from Syria, so now I personally experience the struggle in many different ways.I experience it when my uncle tells me that he can't go to the store and get the basic necessities of life because there are military tanks in the middle of the road. I experience it when I hear my grandmother who is crying on the phone because she is so afraid, she is afraid of what is going on, she is afraid that one of her children will get killed or maybe even worse get detained in government custody, she is just afraid, she cries and I cry with her.

Drupal Development with Drush and Quickstart

    So say you're new to Drupal and have been playing around a bit. You've been exploring the modules and themes available and you're excited about all the possible ideas you might implement. You're deep into the experimentation phase here and time is of the essence! Decompressing the Drupal package for a new site, setting up a sandbox like with LAMP (or MAMP, or XAMPP), and finally configuring the database running the install script takes several minutes and is highly repetitive. Even after setting up a core install there are many common modules like Views, Ctools, or Panels that you need to download, unpack, and enable. How daunting! Is there any way to script things like this so you can get down to work?

Quickstart/Drush to the rescue

Graph Exploration

A few years ago, before the explosion of the Web into popular culture, and especially before Facebook and social networking brought the concept to surface in a directly personal concept, few outside mathematics were interested in graphs.  Today, however, they have become extremely popular for intuiting the vast weave of interconnected, but irregular or incomplete, data that's become so prevalent.  Graph databases such as Neo4j have risen in the space known as NoSQL to replace traditional relational databases for solving certain types of problems with incredible speedups.  However, tools like this require a certain level of technical arcana that make them inaccessible or uninteresting to many.  A higher level tool, and the subject of this post, are the graph visualizers.

I Don't Remember That...

Everything seems to be going ok in the Anthropology course I am taking. Blackboard is actually cooperating for once, and I’ve had no major issues from the system. The first exam becomes available in Anthropology, and I am feeling pretty good about it all, that is I open the exam and the question is completely foreign to me. So of course I begin to immediately panic. Dr. McDonald is coming back from her trip to Europe at this current point and time so we have the TA to fall back on. Although they were both out of my reach (even through email) until I finished the exam. I try my best to calm myself down but that is not very easy when I already have such high test anxieties in the first place.


My son comes up to me and asks, “Mommy, are you going to be ok? Because I will help you, would you like for me to rub your feet?” I couldn’t help but smile and realize that I was becoming so frantic that my kids were picking up on it. So thanks to my 5 year old son I was able to calm down enough. All I could do is keep answering the questions that I knew, and attempt the ones that I didn’t know. However, I would be sending a frantic email to the TA and Dr. McDonald. We were able to be re-take the exam this past weekend, with the correct set of questions, and at least on my end, everything went well.


Quick Reminders

For this week’s blog, I’m doing a bit of self-advertising to talk about a video series I’ve started called Quick Reminders.  The videos focus on the adventures of two stick people, New Cheerful Employee and Disgruntled Senior Employee, as they explore the dos and don’ts of office life in POT. It’s rather enjoyable, but it’s taught me a few things in the short time I’ve been working on them.

First, animating videos takes a long, long time.  The first video I did was only about three minutes long, but it took a good six hours to put together, even with computers doing most of the work.  I can’t even fathom how long it would take for a professional animator to put together a half-hour or hour-long cartoon, since they’d have to put far more effort into the artwork than I do.  Next time you watch a cartoon, take a moment to thank the animators for throwing countless hours of their life into making a project designed solely for your amusement (particularly those cartoons done before the advent of computers, when everything had to be hand-drawn).

3D and Faking It

Faking 3d

One important aspect to 3D art is optimization. What I mean by this is that, if you make something appear the same or similiar to a more detailed object then that greatly decreases rendering/computing time. This is certainly paramount in video games since the computer must make calculations on the fly but still important in movies because it cost money that is usually determined by rendering time. Without further ado, I will briefly introduce one method to "Faking It."

Normal Mapping


Enter your linkblue username.
Enter your linkblue password.
Secure Login

This login is SSL protected