Mar 02

web-worker-daily.gifCourtesy of Web Worker Daily, here are some really interesting jobs that seem to be a good fit for someone working in a Web 2.0 job.

Likely most interesting to someone with some extra time on their hands (outside of their regular job). Still, pretty interesting stuff.

1) New Media Producer
- Essentially video blogging and similar forms of media production.2) Clothing Label Crafter
- Basically creating t-shirts that say something like “Pedro For President”.

3) Micro Investor
- Offering loans person to person.. eliminating banks and lending companies.

4) Publisher
- A standard run-of-the-mill author (who prints on paper).

5) Community Curator
- Creating your own social network (like Facebook).

Go see the original article to learn more about the jobs themselves.

Feb 23

cakephp.gifAfter literally weeks of tenuous back and forth rhetoric with myself (internally) and my fellow co-workers, I have finally, humbly, and assuredly concluded that CakePHP is the best PHP Web Framework in the world!

I could argue the benefits of Cake vs. other Frameworks again, but I’ve already done that, twice (though I originally decided differently).

Instead I’m hoping to help the Cake community a bit today. I’m not a “Cake expert” yet, but I think I can contribute a few things that can possibly ease some of the few frustrations that might occur when getting started with Cake.

Dustin’s CakePHP Beginner’s Guide!

I’m gonna try and keep it simple (K.I.S.S.) for ya’ll and do my best to actually offer any Cake newbies out there some advice that can help get the ball rolling quicker.

After showing it off to my co-workers and going through the manual a few times, here’s my

reccommended approach to the learning process:

First, Some Installation Tips:

- Use Apache… it’s just easier than IIS and it’s time to make the switch if you haven’t yet. Make sure mod_rewrite is enabled; again to make things easier.
- If you must use IIS, check out my writeup to help you get the ball rolling.
- “Make sure that an .htaccess override is allowed in your
httpd.conf (Apache), you should have a section that defines a section for
each Directory on your server. Make sure the
AllowOverride is set to All for the
correct Directory.”
- Don’t mess with the production install of Cake yet; just do a development setup.

Second, do the basic blog tutorial:

- Prepare for the inner excitement that will soon come.
- I know it’s not the recommended order of learning, but I think it works better to give a real-world example right off the bat before anything else.

Third, save that blog code and start working your way through the manual:

- Start at the very beginning, don’t skip any sections, and read every word.
- When you get confused (which you probably won’t much), re-read!
- It’s not a big manual, you’ll be done in an hour or two.

Fourth, go watch a few of the screencasts:

- Especially: Building The Bakery & Admin Routing

Last, start your own basic project and see where you get.

Here’s a few more helpful tips:

- Explore the Bakery for cool stuff.
- Get the ‘Cakesheet‘, it can save some serious searching time.
- Use the Cake Google Group, en excellent option for help.
- Remember to search through the User Manual, API, the web (2.1 million results for Cakephp on Google), and the entire Google Group BEFORE asking a question. You’d be surprised how often I see thread’s on the group posted that look something like: “Cake N3wbie – How do I connect to a database”. I know it’s easy to just ask and be lazy, but trust me, there’s a really good chance it’s already been answered. Don’t wear out the Cake experts prematurely with the simple stuff.

Ok, now you have enough to get started, so why are you still here reading this?

By the way: Let me know how Cake works out for you!

Feb 20

upward-trend.gifI promise I’m not not trying to brag, but I’ve recently noticed that my rankings in the ole’ search engines have been near the top for almost every topic I post (especially on Google).

Now, normally I haven’t had trouble showing up near the top for most topics, but lately (in the last six months) I’ve seen my rankings doing better than they ever have before (overall). I know it’s only a portion of the true reason, but I also just noticed my PageRank is now 5 and that seems to be a contributing factor.

After a little celebration, I checked out the PageRank Prediction Tool to see where I was headed. This thing, however inaccurate it’s predictions may be, is fun to play around with. It’s fun to see what the big domains are doing and I really like to check out the competition and see how they are “really doing”.

I’d recommend taking a second to play around with the Page Rank Prediction Tool if you get a chance.

Feb 16

nist-logo.gifCourtesy of The National Institute of Standards and Technology (NIST), I have discovered this incredible collection of algorithms, algorithmic techniques,
data structures, archetypal problems, and related definitions.

You might ask yourself: “What’s so special about a few algorithms”? Well, I don’t care who you are, if you are a programmer of ANY type, this stuff is good for you to know and use!

I actually enjoyed going back and looking at some of the problems I worked on back in college. Truthfully, these bad boys can make your job (as a programmer) a whole lot easier and your code a whole lot more efficient.

So come on, check out The Dictionary of Algorithms and Data Structures.

Note: The Byzantine Generals Problem is still my favorite.

Feb 12

bubble-comments.gifCame across a pretty neat little CSS trinket this afternoon on

It provides a very simple, yet powerful way to generate “CSS Speech Bubbles“. It does use a bit of Javascript (25K – Yikes!) which confuses me because that really makes this thing, “Javascript/CSS Speech Bubbles”, doesn’t it?

However, I’m guessing the Javascript was used to make the code cleaner (and probably validate properly).

With that being said, still seems a tad hokey to me, but I suppose the project could nonetheless be useful in some instances. Too bad I don’t really have a use for ‘Speech Bubbles’ right now… maybe someday.

You can see original site here: CSS Speech Bubbles or just download the package directly.

Feb 09

cakephp.gifLately, I’ve been taking some serious time out of my schedule to sit down and really examine a few of the top PHP Web frameworks (CakePHP, Symfony, & Zend) even more than I had previously. After a bunch of reading, tinkering, and playing around, I can now officially declare: “I think CakePHP is the best”. There I said it, I hope I won’t regret it… heh.

In fact, after actually sitting down and expanding on the basic blog tutorial offered in the manual, I am tepidly excited about the prospects of implementing something cool and truly useful in Cake (I may even switch The Weber Report over to my new, fancy, Cake-Powered, conglomeration that I created during the learning process) and really start taking advantage of the MVC Design Pattern.

Now that I have read through the manual a few times, I can humbly offer some of my favorite parts of the Cake experience:

Powerful Associations Between Models

“One of the most powerful features of CakePHP is the relational
mapping provided by the model. In CakePHP, the links between tables are
handled through associations. Associations are the glue between related
logical units.

There are four types of associations in CakePHP:

- hasOne
- hasMany
- belongsTo
- hasAndBelongsToMany

When associations between models have been defined, Cake will
automagically fetch models related to the model you are working with.
For example, if a Post model is related to an Author model using a
hasMany association, making a call to $this->Post->findAll() in a
controller will fetch Post records, as well as all the Author records
they are related to.”
Powerfully Flexible Data Validation Features

“Validations are defined using Perl-compatibile regular expressions,
some of which are pre-defined in /libs/validators.php. These are:


But custom validation (outside of regular expressions) is also extremely easy. If you’d like to perform some custom validation apart from the
regex based Cake validation, you can use the invalidate() function of
your model to flag a field as erroneous. Imagine that you wanted to show
an error on a form when a user tries to create a username that already
exists in the system. Because you can’t just ask Cake to find that out
using regex, you’ll need to do your own validation, and flag the field
as invalid to invoke Cake’s normal form invalidation process.”

Stringent Security Component

“The Security component is used to secure your controller actions
against malicious or errant requests. It allows you to set up the
conditions under which an action can be requested, and optionally
specify how to deal with requests that don’t meet those requirements.

So if a request doesn’t meet the security requirements that we
define, what happens to it? By default, the request is black-holed,
which means that the client is sent a 404 header, and the application
immediately exits. However, the Security component has a
$blackHoleCallback property, which you can set to the name of a custom
callback function defined in your controller. Rather than simply give a 404 header and then nothing, this
property allows you to perform some additional checking on the request,
redirect the request to another location, or even log the IP address of
the offending client.

Every time the Security component is loaded, even if it is not
being used to protect an action, it does the following things: First, it
generates an authentication key using the core Security class. Then, it
writes this key to the session, along with an expiration date and some
additional information (the expiration date is determined by your configuration file).
Next, it sets the key in your controller, to be referenced later.

Then in your view files, any form tag you generate using
$html->formTag() will also contain a hidden input field with the
authentication key. That way, when the form is POSTed, the Security
component can compare that value to the value in the session on the
receiving end of the request. After that, the authentication key is
regenerated, and the session is updated for the next request.”

Cool Scaffolding (Similar to Rails)

“So cool that you’ll want to use it in production apps. Now, we
think its cool, too, but please realize that scaffolding is… well…
just scaffolding. It’s a bunch of stuff you throw up real quick during
the beginning of a project in order to get started. It isn’t meant to be
completely flexible. So, if you find yourself really wanting to
customize your logic and your views, its time to pull your scaffolding
down in order to write some code.

Scaffolding is a great way of getting the early parts of
developing a web application started. Early database schemas are
volatile and subject to change, which is perfectly normal in the early
part of the design process. This has a downside: a web developer hates
creating forms that never will see real use. To reduce the strain on the
developer, scaffolding has been included in Cake. Scaffolding analyzes
your database tables and creates standard lists with add, delete and
edit buttons, standard forms for editing and standard views for
inspecting a single item in the database.”

Remember, these are just some of the highlights. There is a LOT more in the manual to get you excited. In the near future, I’d really like to contribute a bit to the Bakery and really begin discovering the power of Cake in ways I can’t yet foresee.

You know you want to check Cake out, so stop wasting time… take the leap!

Jan 25

cakephp.gifOver the last few weeks, I have been attempting to learn two major PHP frameworks: Symfony & CakePHP.

Originally, I had decided (in a bit of short-sighted wisdom) that Symfony was the obvious champion. I think I may have been wrong. I spent nearly a week tinkering with Symfony off and on. I came to a simple conclusion: I’m confused.

The Symfony framework is so huge and poorly supported that it confused the heck out of me. Their basic “sandbox” tutorial doesn’t work in any way close to what the documentation states. And the documentation, oh the documentation; what could be the best part of this huge framework fails because of one fatal flaw: no one updates it for the new each new revision that (sarcastically) seems to come out every other day.

After seeing my co-worker struggle with the installation process for days and my own copy just barely functional (with hardly a thing to show from it), I called it quits. At least until I read this (from The Symfony Blog):

“You know that we spent the last months writing a complete guide for
symfony that will be released in bookshops on January 29th. We also
mentioned the fact that the content of this book would become the
official symfony online documentation and be published in HTML on the
same date.”

So, it looks like I’ll put Symfony off until this new-fangled documentation goes live, then I’ll give it another swing.

In the mean time, I’ve been working with CakePHP and genuinely lovin’ it. After tinkering around with it for a while, here are my thoughts about the two frameworks:

- CakePHP: Up to date, but not totally complete and somewhat difficult to search through. They also have an extremely helpful CakePHP Google Group that helped most problems I ran into quickly (almost instantaneously during normal business hours) and efficiently. You can’t beat live support that’s free.
- Symfony: Until the new release, not all that helpful because much of the content is dated. However, what is there is easily searchable and they have an active forum that seems to be full of knowleable (yet somewhat arrogant) people.

- CakePHP: Very easy to install. For the most part, just copy it into your web root and you are good to go (provided you have Apache and mod re-write previously enabled). Once it’s in there, all you really have to do is setup the DB connection and you can be off and running.

- Symfony: Ouch… this is my major sticking point here. I know people that would say, “If it’s not hard, it’s not worth doing”. I agree with that idea, but this is one tough cookie to crack. There are so many little tricks, files, variables, and directory permissions to set-up… it’s a wonder I even got to the point I did. Their basic tutorial, “my first project“, wouldn’t work by following the given instructions… no matter what I did. They also rely on Pear to deliver the goods, which is inherently fraught with little tricks to keep it all running smoothly.

Directory Structure
- CakePHP: It makes sense and it’s extremely logical for almost anyone. You don’t have to be the creator of the framework to understand what each directory is used for. The framework code is in a separate directory totally away from all of your own code. Props to these guys, it works well.

- Symfony: File and directory overload. We’re talking a huge amalgamation of directories buried within directories and files scattered all over the place. When I started really digging, it left me dazed. Truthfully, after spending countless hours working with Symfony, I still haven’t figured out what all the directories are there for (which could be because the framework kinda mixes it’s own libraries in with the programmer’s code).

I could go on for hours, but I think you get the picture. For the time being, I have revised my opinion on the matter of PHP web frameworks. In my somewhat humble opinion, I think CakePHP is the current champion. However, Symfony may present some good competition just as soon as their new release comes out on the January 27th, 2007. Only time will tell I suppose. Rest assured, I’ll be choosing one or the other.

UPDATE: My mind is made up – CakePHP wins! Please read this, and this.

Jan 18

symfony-logo.gifThanks to a great mentor (Greg) in my starting days of web development and a strong background in Computer Science from several excellent professors in college, I had a good start at web development a few years back. My original skills for PHP featured an Object oriented approach, secure validation & error reporting, some nice Pear DB functionality (with MYSQL), and the Smarty Templating Engine. My skills and knowledge regarding PHP have continued to grow each day (especially regarding efficiency and security).

Recently though, I began playing with the big new talk of the town: Ruby on Rails. I have to admit, the process hasn’t been as easy as I thought. Most of the slowdown revolves around the fact that I don’t know Ruby all that well. Combining a totally new realm of development (the Rails framework) with a new language makes the switchover difficult for me. Regardless of the difficulties, I certainly see the power of Rails and understand how it’s framework can make the development process amazingly more agile and efficient.

With that being said, at Consumer Testing Labs we’ve been talking extensively of doing some major changes to how we code. We thought it would be a great idea to implement a standard templating system (like Smarty) for everyone to use, develop some internal libraries that all the developers could agree on and use frequently, and even strong rules on everything from coding practices to directory structures to design patterns. I think we all sorta hit a no duh moment when considering how to implement all these ideas effectively: a PHP MVC framework!

The discussions at work piqued my interests enough to send me on a quest of nightly rituals over the last week or two discovering, testing, and playing around with the nearly fifty frameworks that currently exist for PHP. Ok, I didn’t try them all out, but I did try out the best of the best according to my reading (and the ones that seemed to fit into the MVC layout). After tinkering around with CakePHP, Zend Framework, and Symfony, I did a lot more reading on these types of agile development packages.

Here are my conclusions on things at this point in time (01-17-2007):

CakePHP: Had a great basic install and easy to implement first run of things. I really liked being told what to do from the Cake code itself. Sorta like a wizard. Getting into more advanced coding had me pulling my hair out though. Mostly, the documentation was at fault – but not that it was all lacking. I just thought it was sorta scattered and hard to follow. Some tutorials I found helped a bit, but I was still left confused much of the time.

Zend Framework: Where do I begin? I had an icky feeling from the get-go with this thing. First, I’ve been a little off put by Zend for trying to commercialize something that has for so long been open-source… at least for the most part (PHP). In my opinion, the problem with the Zend Framework is that it appears to be a half-hearted attempt at a framework. It seems like it’s more like a collection of libraries than a true framework. When I compare it to Cake and Symfony or even Ruby on Rails, it just doesn’t feel quite right. There are lot’s of specific reasons I feel this way, but anyone’s attempt to convince me otherwise would simply be futile, heh. I don’t think Zend would ever be the type of framework I would want to use on a daily basis (at least until they make some major revisions or enhance it a bit more).

Symfony: If you hadn’t guessed it yet, Symfony was the winner in my book. I saw a lot of true similarities here between it and my reference: Ruby on Rails. Now, don’t get me wrong; it isn’t a straight-up clone of Rails, but the good parts are all there. So what does this mean to me? It means I get to use all the power of the Rails framework (albeit a tad different) without having to learn an entire new language (Ruby). It’s the best of both worlds!

So, if you are out there looking for a well-rounded and properly executed PHP web framework, be sure to check out Symfony.

UPDATE: I have actually changed my mind! Please read this, this, and this.

Jan 11

Quoted from here:

Microsoft Office Outlook 2007 uses the HTML parsing and
rendering engine from Microsoft Office Word 2007 to display HTML
message bodies. The same HTML and cascading style sheets (CSS) support
available in Word 2007 is available in Outlook 2007.

The limitations imposed by Word 2007 are described in detail in the article, but here are a few highlights:

  • no support for background images (HTML or CSS)
  • no support for forms
  • no support for Flash, or other plugins
  • no support for CSS floats
  • no support for replacing bullets with images in unordered lists
  • no support for CSS positioning
  • no support for animated GIFs

Read More.  What do I have to say?  Buh.

Jan 06

I was recently presented with two projects at work that offered me a good opportunity to delve into the 'scary' world of Javascript WYSIWYG (what you see is what you get) content editors for the web. 

Normally, I try to avoid Javascript like the plague, but lately with the advent of AJAX and Javascript effect packages, I'm feeling a bit more used to it.

In this case, I needed two specific and diverse solutions to a few problems I had.

Problem 1: I needed a way to embed an editable spreadsheet in a web page without any special plug-ins or proprietary Microsoft scripts.  In basic terms: a web spreadsheet application.

SolutionCodeThat, a small venture heralding from the Ukraine offers a powerful, simple, and easy to configure all-in-one solution called CodeThatGrid

The power of this software is it's simple ability to allow any web user access to a simplistic replica of Microsoft Excel.  It closely resembles Microsoft's product in form and function, so there isn't much of a learning curve.  Best of all, it's relatively lightweight size-wise and seems to have a robust feature-set.  Overall, I think it's a great solution for a tough problem. 

Problem 2: I needed a simple yet powerful text editor that would allow a user to post content to the web without the need to know any html or any knowledge beyond Microsoft Word.  In basic terms: an advanced rich text editor.

Solution:  After lot's of research, Moxiecode's TinyMCE seemed to have the easiest to use and most robustly supported Rich Text Editor I could find at this time. 

When fully decked out, this thing looks almost exactly like Microsoft Word… and has almost all of the features.  Some highlights: real-time spell checking, table support, image insertion (even an optional file/image management system), a fully-compliant gzip compressor, and support for PHP, JSP, .NET, and Coldfusion.  It works well and I'm thoroughly impressed by the wide range of plug-ins and options available for the software.

So, remember to check them out if you have a need for some powerful WYSIWYG tools for your next web project.  And no, neither one of these companies paid me for this review.  I truly just like them a lot!

Dec 26

google-gmail.gifAccording to Google Operating System:

“If you sign out of Gmail, you’ll notice that the storage doesn’t
increase. It used to increase with about 0.33 MB a day, but the Gmail
team forgot to add the code that manages the quota increase after 31st
December 2006.

On April 1st 2005, Gmail space increased from 1
GB to 2 GB and started to grow every day. They called this: “Infinity+1
storage plan”.

‘Storage is an important part of email, but that
doesn’t mean you should have to worry about it. To celebrate our
one-year birthday, we’re giving everyone one more gigabyte. But why
stop the party there? Our plan is to continue growing your storage
beyond 2GBs by giving you more space as we are able.’”

Hmmm. I always love that little counter sitting there counting on into the the future no matter what. Sigh. I hope it makes it back.

Dec 21

A few months ago, I found myself seeking a new web development job.  Although the entire process itself could make for a very entertaining narrative, I think the most memorable portion was my experience with a local car dealership in my area. 

The story began with a simple newspaper ad mentioning their [the car dealership's] need for a “web guru with experience in search engines, design, and keywords” (yes, they were seeking a web developer exclusively through the newspaper).  Although hesitant about a job title of “web guru”, after viewing their dreadful web site, I thought I'd give them a call.  My call was greeted by a sales manager with a welcoming (although somewhat fake) attitude of excitement and interest in meeting me.  I had lots of experience from my last job ( & in development, design, e-commerce, marketing, search engine optimization, and even personal experience marketing cars on Ebay– so I felt like it was a great fit and they seemed to agree.

The obvious down-side: I knew it wouldn’t be easy working for a car dealer. Surprisingly though, the initial interview process went off without much of a hitch (except for an expectation they had for me to work Saturdays and be a car salesman part-time).  Fast forward to our final meeting:  After setting up meetings and having them canceled repeatedly, I began to feel that they were playing games with me.  This infuriated me and as time wore on, things would only get worse.  After yet more delays, I finally showed up to see their offer and haggle it out with them.  They first ushered me into a cold, dark, and tiny office buried deep within the building that had a very hard, uncomfortable little chair in the corner for me to sit on.  The sales manager came in and said a little blurb about how much they needed me, then decided to go check and see where the owner's son, we'll call him John, was.  After a lengthy period of sitting in this blank, cold, room — alone with nothing to do or look at (another typical car dealer tactic), he returned alone.  “He’ll be here shortly,” he stated matter-of-factly.  After yet more fruitless minutes, John came in and we began haggling back and forth on typical employment issues and miraculously came to an agreement on most of them, but salary still hadn’t been mentioned yet.  John jogged out of the room “to grab the offer from his Dad” (who apparently made these types of decisions). 

He was gone for another good amount of time (again more delays), in which he returned with a plain piece of white paper with a number scribbled on it hot out of the copy machine.  Now I can't be certain, but I truly believe he simply wrote a number on a piece of paper and photocopied it so that it looked like it hadn't come from him (still more silly tactics).  He had gone to a 'higher authority' such that it seemed the decisions on the salary weren't within his control at all.  I won’t tell you the number written on the piece of paper, but I can honestly say it was pretty degrading.  I had the knowledge and skills to completely change the profit margins of this business, but they had just effectively ruled me out – by treating my like just another car sale.  I stared at the paper big-eyed, and using a technique they use themselves, stated: “well, that’s not really a do-able number for me.”  I let my words hang in the air which created an awkward silence, knowing one of the two men would eventually respond.  I could feel them doing their very best to make me squirm… they had done this throughout the entire process.  I wondered how often poor customers were trapped in this room bitterly seeking a decent deal on their new car, but instead feeling confused and upset by the entire experience.

After a tense minute or so, John cautiously asked me what I felt was a better number.  I was prepared with salary data from our area for similar job descriptions (courtesy of and offered them both copies of what I was expecting.  The median salary was considerably more than twice their offer.  “We can’t go that high at all, it’s just not feasible,” the sales manager blurted out gruffly.  I shrugged my shoulders and started packing up my things.  “Don't worry, we’ll put our heads together and come up with a new number that you might like more,” said John.  They had already lost me; there's no way I would work for a company that would treat a prospective employee like they had.  As I walked out, the sales manager promised he would call me the next day with another offer.  I knew it wouldn’t come; instead, they would wait for me to call them and I simply never would.  How could I ever trust an employer like that?  I am still in awe of the tactics they used on me. 

Two weeks later, I received an offer from Consumer Testing Labs (my current employer) that made me feel that I was a valued employee– even before I ever started the salary negotiation process.  This feeling of value contributed greatly to my accepting the job.  You may be thinking: “spoiled kid, that’s nothing compared to my horror story job offer.”  I agree, it wasn’t that bad– but it was bad enough for me to want to share my experience with any other young web developers out there seeking a new job.

So what's my point with this article?  I don't have a vendetta out against this dealership or any member of the company.  Truthfully, I just want to show young developers out there who are in the process of seeking a new job what to look out for.  I'd also like to inspire companies seeking a talented web developer to carefully review their hiring and salary negotiation processes before assuming existing methods will work for this type of specialized employee.  Web developers & programmers are a completely different type of person than you [likely] currently employ and deserve special attention.  We are information specialists and our value is not only in the skills and experience we possess, but our ability to instantly change the profit margins of your business (if sufficiently motivated and talented).  Moral of the story: invest in us and we can more than offset our salary in sales, profits, and other intangible benefits.

- Dustin Weber

Dec 07

Have you noticed the recent explosion in social networks?  It's funny how a few successes (ie: MySpace & Facebook) can make the world suddenly full of niche producsts such as: “The World's First Jewish Social Network”.  I've seen some other interesting ones before, but this actually seems to take the proverbial cake.  They also seem to be spending a serious amount of money on marketing.

Check It Out if you feel that you need a social networking site that “aims to become the Jewish alternative to Myspace”.

Dec 02

My 'good buddy' Jim has been preaching to me about the benefits of Ruby on Rails for what seems like decades now. 

About a month ago, I finally broke down and really started plugging away with my “Agile Web Development With Rails” book (that I bought a few months ago).

I had skimmed through the book and created a few test projects prior to this, but this time I've been really trying to take time and attempt to understand Rails in-depth.

I can say this thus far: WOW!  It's pretty amazing and a bit of a change from my PHP experience thus far.  I especially like the powerfully tight integration of Ruby and AJAX

If you are interested in Rails, I'd pick up the book I mentioned earlier, it's worth it.  If you'd like to know a bit more about the tight integration and power of AJAX & Rails, check out this article I stumbled across earlier today.


The hype for Ajax, a technique for making Web pages more interactive,
is in overdrive. The Ruby on Rails framework is also flourishing,
partly on the strength of its excellent Ajax integration. Find out what
makes Ajax on Rails such a powerful combination. –> Link

Nov 21

Just a quick hint for all you web developers out there in the world. 

The past week I have been struggling to implement a few draggable items and some accordion action on a project I've been working on at work. 

I found that is still a bit buggy in this department.  I stumbled across another similar effects/utility library that seems to work a lot better, is a bit lighter on file size, and seems to be a tad easier to implement (at least away from a Ruby on Rails platform). 

It's called Rico and it's quite nice.

Check it out if interested.