Easier APIs for WordPress

January 28th, 2010

The secondary goal of the HTTP API was to take something that was difficult for programmers to create or have to recreate with various degrees of success and make it easier. Through all of the WordPress community, we should be able to create something that was more bug free than what others were doing themselves. Trust me, some of the bugs were difficult ones and I don’t think any one person could have solved them all with only part-time commitment.

One of the strengths of WordPress is how easy the APIs are. I can wonder about how much time can be saved if there was a Facebook connect API or a Twitter API that everyone that wanted to use those APIs could do so uniformly. If there is a bug, then it is fixed for everyone that used that API. Well, the argument could be made that since there are a small number of developers that would want to use these APIs that it doesn’t justify adding it to the core.

The point is not how many programmers are using it now, because we don’t know how many will in the future, if such, an API existed. It is possible that one programmer might not know it even exists to know to use it or might not like how the API is used to access the web services. I do know that if the choice was to spend at least four hours studying an API, and then another day to three days developing an API, including testing, I’d go with the already written API.

The biggest hurdle will be writing the “easier” API and then the second will be convincing those with commit access that it is worthy to be part of core. I would like for WordPress to instead include the UI to allow others to develop the UI and extend the features. If WordPress moves to a more foundation, then having easy APIs would seriously beat out a lot of the competition that does not and forces the programmers to develop their own or use a third-party library.

Possibly Related Posts:


Libraries Should Use Liberal Licenses

January 25th, 2010

One of the biggest concerns I have working on WordPress and developing libraries is that any library I develop is going to fall into the GPLv2 license and I’d rather people use my code anywhere for any purpose. Quite frankly, if someone wanted to take the code and develop a commercial product, then so as long as they don’t say they wrote it, then I’m happy. When writing libraries and code for WordPress, you don’t have that choice or power.

The advantages of having your library as part of WordPress is the support. If there is a bug in the library, then a fix is going to be patched for WordPress and hopefully sent upstream. Plus, the amount of people working on WordPress and fixing problems is going to be more than your project and the number of users is going to be greater as well. This has benefits in that bugs will be found and fixed sooner leading to a faster development cycle that isn’t completely dependent on your work schedule.

That said, a library can be another license just fine and work within WordPress. Any library code I develop for WordPress (controller) is going to be New-BSD and whether it is included or not is up to the developers with commit access and the community. There are others developing a solution that will be more GPLv2, so it is unlikely that within the next few months that I finish my project and port it to WordPress that it will be needed.

The point is, is that applications should be restricted, because they take longer to develop and thus developers using the project have more incentive to follow the rules of the license. A library can probably be recreated within a reasonable amount of time depending on the developers skill and experience.

I think given that fact is why I keep weighing the benefits of using WordPress verses not using WordPress for a current project. Sure, if I focused on just the project elements I could have the project completed relatively soon, but contained within the confines of WordPress and the way it does things, the project wouldn’t stand on its own well enough. The license of WordPress itself is compatible or will be compatible with my project. I’d be using GPLv2 for the application HTML and administration code. It is just simply that I can get away with coding the framework quickly on my own without all of the so called bloat of WordPress.

I can build much of the WordPress core for what I’m needing, the news and content feeds. Really, I think I can probably just strip down what WordPress has and just have a even more limited subset. If I did this, then the code base would be smaller. I could also build a bridge that would take advantage of WordPress, if the application had DB access to the tables. Alas, I could even just go with RSS and ATOM standards to allow for the news to be pulled, but that doesn’t complete the content portions.

Really, that is what drove me to using WordPress in the first place, but I’m thinking that writing a library that is New-BSD would serve my purposes better. I could always use another class library or framework that used a liberal license. That is really the beauty of using such a non-restrictive license, in that you are open to do and enjoy a larger amount of freedoms.

I don’t really mind someone creating a commercial component for the application, because really if there ever grows a community that draws upon the project, then I did something right. Serving a purpose and not limiting people based on some perceived notion of fairness for users totally ignores the real problem. I wouldn’t want someone stealing my code and making money off of my back and off of others, but most programmers don’t sell libraries, they sell solutions and products. A library is not a product and its usage serves only to help create a product, if it helps to create one quicker and better than the programmers using it could have otherwise, then I believe both parties were well served.

Another problem I have with WordPress is that you’re required to work around its flaws to create a product. What does WordPress do well? It does content and administration well, so plugins and applications are built around WordPress that extend these areas. What it doesn’t do well is allow itself to be without neither content nor administration. If you use the administration, then you must use the content portions, there is just no other reason to use WordPress. Alas, you either must use the content portions or you must hack your way around them.

WordPress doesn’t lend itself to applications that aren’t related to content in some way. I do think that WordPress will become better and I believe that most people look beyond the license, because it really is an okay one. For those that wish to do without, there are other projects and frameworks that exist and recreating WordPress wouldn’t take very long.

Well, I say that and really I think people might miss the point with the statement. What I mean to say is that a programmer can develop a theming system pretty easily, it may not have all of the features of WordPress, but it would work fine. WordPress theming and plugin system is simple for most competent programmers to reproduce and even hopefully do better. The bulk of what gives WordPress its size and what would take the longest to reproduce is the Administration and convenience APIs. What I mean really, is that you can do without them. I’m not really saying it would be simple to rewrite WordPress, but to take what it is and recreate it.

Which is what I’m doing, all I need is the content management (pages) and the news (posts). Everything else about WordPress, I can either do without or recreate fairly quickly myself. Still, it seems I would have been better served if bits of the API were liberal licensed. I don’t believe BackPress has a liberal license and I believe that is a shame. Even more so, because most of BackPress could be quickly rewritten with a liberal license and would make it obsolete. Not to say anything about bugs and documentation. However, generally, once you’ve written the API that obsoletes one in BackPress it becomes relatively simple to maintain it and match any improvements made to BackPress.

The point that I’m trying to get across is that applications, if they are done well, are harder to reproduce than libraries. And really when I say fairly quickly, I generally mean someone or a group with a lot of time of their hands with three months to kill.

Possibly Related Posts:


Media Matters: A Watch Group For Conservatives

December 21st, 2009

If you read Media Matters, then the only conclusion one can come to is that Conservatives and Republicans are evil to the heart and soul. Whom are bent on world destruction, travesties, and generally would kick kittens because their so damn cute (albeit not always good, but I guess cute is good in a way). As a disclaimer, I haven’t really read that much on the web site, but it appears that they don’t often talk about liberals or democrats all that often, if at all.

To be fair, it isn’t as if Conservatives are any more “righteous” in their descriptions of the so called evil Left. It seems that to the Right, the Left is evil and wants to ruin the country and the Left likewise thinks the same of the Right. I will just say that they can’t both be right, but at least the bickering is entertaining. Quite frankly, I think both sides are doing a disservice to their side by polarizing each issue. Any layman should be cautious to take any side lest be associated with that side evermore.

I haven’t actually read any conservative blog, but I would assume the same tactics used on Media Matters applies as well. The tactics and proofs are far too effective at shutting down any opposing side to not be used. Using logic, reason, facts, and proof in a unbiased fashion isn’t as sexy as ad hominem attacks and using sources that are also biased towards the same opinion.

You see, attacking someone’s character is effective, because it puts the burden of proof, in most peoples’ eyes, on the character being attacked. In this the straw man side steps the issue by forcing the character being attacked to disprove the accusation and then try to disprove the other points made in the articles. The best claim is to say that since someone or some group took money from the oil companies, then they can’t make any argument against climate change or global warming.

While it may or may not be true that receiving money from a particular group that may lean a certain way in the research findings, it true of any group that receives money. If the pretense is that a group that receives money from a group believing a certain way is corrupted in their findings, then many of the research groups that receive any funding from outside sources are contentious. There was a very well written study about this very topic on Watts Up With That website, but I don’t believe Media Matters would ever consider that site as a valid source, given that they actually use facts, statistics, unbiased reporting (for the most part and I would say far more than whats on Media Matters), studies, evidence, and research to further their claim. Alas Watts Up With That website’s lack of frequently attacking someone’s character because they don’t hold the same belief wouldn’t make them a news source that Media Matters could use.

My perspective of the site, is that it wants to either preach to the choir or get the Independents who haven’t fully researched both sides of the issue or who are leading towards the mindset of Media Matters anyway to follow Media Matters. Researching both sides of the issue is slightly difficult and I do respect that Media Matters at least gives you the reference material to decide after reading the opinion piece. Often when they do give the full transcription or article they are referencing, the question is often, “Why is this a big deal again?” and sometimes they take jokes, sarcasm, and tongue-in-cheek out of context to further their claim.

Holy shit would they have a field day with me if I ever got into political writing. Of course, I don’t believe they would bother, because they go after the big names who people actually might listen to and read. Furthermore, I don’t really care about politics to write about it often. I just think that when you read something from Media Matters and its sources, you should be wary and do more research to get the full story.

Possibly Related Posts:


Paying Off Debt Revisited

December 6th, 2009

I don’t think I posted the other detailing my plans because it is largely personal and many people shouldn’t know. I post some things for my benefit to see how well my planning went.

Paying Bills

I’m paying most of my bills using my bank’s bill pay. Now I don’t have everything on this. My insurance, cell phone, mortgage, and utilities are not using it yet. I think I can move my insurance to the bill pay, but I’m not going to worry about it. Most of the bills were paid by bank to bank and it causes problems when you forget that it is coming. With the bill pay, I can see exactly how much money is going to whom and when. Also, my bank will hold that amount so I won’t be able to accidentally spend it.

Automatic Savings

I’ve been saving for the past 4 weeks and while the amount is still fairly small, it is a decent start. I no longer consider that amount part of what I have, so I don’t feel like spending it. I’m going to be using it a lot more in the future, both to pay off my current outstanding debt and to make purchases in the future. I’m going to take the approach of saving up the money before I buy something, so that I am very rarely buying something with a credit card.

The reason I’m saving cash instead of paying off more cards is so that I’ll have that money in case I need it to pay other bills. If I use it to pay credit cards and then have to use that same credit card to pay other expenses, then I’m not getting ahead. At least it provides a cushion to prevent me from having to use credit. At some point I hope to save $200 to $300 and I should be able to after I pay off all of my credit cards. My goal is to eventually have about 6 to 8 months of salary in the bank in the case of emergencies. In this way, if something bad happens with me, my house, my job, etc that I won’t be in a position where I have to sell body parts to pay the mortgage.

Paying Credit Cards

With the amount of savings I have, I should be able to pay off one credit card with a small balance in about 3 weeks. I am going to wait another 4 or 5 weeks, so that I can still have enough savings to start on other projects. With the one credit card paid off, I’ll only have to worry about 3 more. The only problem as I see it is that paying this card off will only give me an extra $50 to $75 a month. However, I suppose it will lighten my mood having one less card to worry about.

The credit card with the highest balance will be paid off in 36 to 38 weeks or 8 to 9 months. I may get this card down to a thousand and focus on other cards. The two other cards, one is the second highest, but is a store card, so I’m more concern with keeping it in good standing and then waiting until the other cards are paid off before focusing on it. I made the mistake of paying too much on that card to only have no cash left over and had to resort to using my other credit cards. I’m a little bit wary of repeating that same mistake.

The good news is that one company has dropped me, so after I pay off two cards, I’ll no longer have that company. I’ll be dropping two more credit cards. This will affect my credit score a great deal, however, I feel that with the house, the one credit card, zero balance on all of my accounts, and good credit history that I will be able to get new cards of moderate balances and with APRs and terms that will be far better than what I’d ever get with the ones I have now.

Extra Money

I’m going to work on several projects that I’ve been putting off for a number of years now. I believe that when these projects are completed that I’ll be able to pull in some money. Albeit, it most likely will be zero to extremely small amount a month. However, it is far better than what it is pulling in now and anything is better than nothing. I have the motivation to work on these projects and I think that when a few of the cards are paid off that a few of the projects will also be completed.

Well, I plan on taking shortcuts to allow for the projects to be completed sooner. They might not be done in exactly the fashion I would have hoped, but at least they will be done. I plan on revisiting certain elements once they are complete, so that they can be optimized and perhaps sold for money.

Possibly Related Posts:


Why Writing Documentation Wasn’t a Waste of Time

November 14th, 2009

The hardest part of writing documentation for WordPress was coming to grips with the realization that I could have been spending that time actually doing something. I put aside three browser based games, a library I was working with someone on, and my core web sites to write inline documentation. That I think was a tremendous sacrifice or so I thought at the time. The motivations for which was that I was helping myself by not having to figure who what each function did, what function I should have used, and where each function was located.

Working with WordPress was filled with so many WTFs, I was almost screaming out loud instead of just inside my head. The API in WordPress is so large, learning it is almost like learning PHP. In fact, there were quite a few times, I built functionality that already existed or to need a solution and find it one or two weeks later. Other parts were so convoluted in functionality, it wasn’t worth tracking down each code branch to figure out what was happening and how I could hook in and change it.

The Codex is great for what it is and continues to be, but it is a community project and much like WordPress is an Open Source project, they both suffer from the same problem. Motivation and the surplus or lack of it. Writing documentation for the codex is a massive project, because you have to explain things so that people can understand. Writing inline documentation, you have no such restrictions.

Inline documentation is technical and to be read by programmers of various skill levels to provide the additional information for understanding what the function is used for. Furthermore, each function, object, or documented code is independent of everything else. With Codex pages, often you must tie in multiple functions to explain a given concept well enough for the layman to understand how they may be used together to create something great.

So, my motivation was that since it would take a fraction of time verses writing Codex information, it would be better to have completed inline documentation that changes with the code than to spend forever writing Codex documentation that has to continue to keep up with the changes of the code and will have a harder time keeping up to date with the code changes after the page has been written.

I believe with the introduction of books that WordPress may be served better by those who wish to write documentation for money than the community benefit. Well, each really will serve each other. Authors of books will have a limited space and thus may only devote as much as they can towards certain topics that help the reader get into the flow and basics of working with WordPress. The Codex goes into more technical information for various subjects dealing sometimes with topics outside of WordPress, but dealing with WordPress. For example, hosting, mod_rewrite, and other hosting techniques that can be used to enhance, secure, and improve the WordPress experience.

Actually, I should note that there were quite a few patches that gave me a leg up during the early parts of the project and towards the end people did help. Now that I’ve done other things, there are still people maintaining the documentation. In the beginning, I had the feeling that everyone wanted someone else to write the documentation, because no one wanted to be tasked with such a long and tedious project. When the choice is doing something you enjoy verses something that doesn’t benefit you but other people, then well it is understandable. My prediction was that once someone had put for the effort and completed enough to set a standard of quality, then others would join.

The problem is that when you have a culture that doesn’t have an emphasis on writing inline documentation, then few will do so. It is not fun writing inline documentation and is often a lot of work. Also, it would have felt like pushing back the waves of the ocean, so yeah. People can see the benefits and it is easier to continue once most is already documented.

That isn’t to say that it is perfect, people still need to work on the inline documentation, to improve it, to ensure that the documentation doesn’t become outdated from changes of the function, to make sure that undocumented functions are documented soon after and to make sure that future functions are documented before they go in. WordPress may have started with very poor documentation, but it would have been a lot easier to improve the documentation if the decision was made 4 or 5 years ago rather than 1 or 2 years ago. Going foward, it has to be up to every contributor to ensure that WordPress continues to raise to 100% of every function, class, etc be documented and maintain at least 30% LOC to Documentation LOC ratio.

For the project to go from 4% to 8% ratio 31% is nice, very nice. It also took a while to get there. What I benefited from it? I benefited from the experience and knowledge with the ability to write phpdoc docblock style comments without needing to look up what each tag does, what it will look like, and how it is used. It speeds up my ability to write inline documentation and thus I write more of it in my own projects. I’m finding that it wasn’t a waste of time and that it has and will serve me well in the future.

Possibly Related Posts:


Home Entertainment Center Project

November 1st, 2009

I’m going to place the TV and other devices on the west wall in the living room, between the doorway to the bathroom and the doorway to the kitchen. This gives me 75″ width and 70″ height to work with. This project is not a short term goal and will probably be within 3 or 4 years. Parts of the project will be completed before other parts, but does require the TV and shelving to be completed.

Goals

The primary goal is to buy the TV, shelves, and sound system. This will be near $3500, so the next stage with buying the gaming systems will be another $1000 or so, not including games.

  • TV that is over 50″, but under $2000. This also has to have at least 3 HDMI connections, but isn’t all that important, because I plan on buying a sound system to plug the HDMI into and then just plug the sound system into the TV for video.
  • Sound System is going to have HDMI connections for sound and video. Doing it this way, I can plug most of the devices that are HDMI into the sound system, have the sound go straight to the sound system and then have the video directly sent to the TV. This will reduce the amount of wires required to complete the devices.

    One of the longer term projects will be to send the speaker wire through the walls to hide them. This can be achieved easily by placing the module with the wire ran underneath the flooring and then back up to where the sound system is located. This will reduce the amount of wiring needed and will look a great deal tidy. The problem is that once this is done, it will be very time consuming to correct, so setting it up without first and then running through the walls is a better choice.

    The sound system is probably going to have either a DVD player or a Blu-Ray player as part of it.

  • Shelves

    The shelving will be glass and I want to have close to about 6 shelves. The bottom shelves are going to be 30″ wide and long enough to hold most devices. I will proably need to place it a foot off of the ground in order to fit the other shelves with the TV. I can only do two shelves on top of each other or I’ll be limited on the screen size. The good news is that I’ll be able to place a shelf mounts on each side of the TV that is 12″ wide for speakers or I could use speaker mounts.

    I might not use glass for the shelves. I think it is fine if it is wood, since it is unlikely to cut and slice the person if they happen to fall through it. The point is to not fall through it, but I’ll rather have the odds that if someone were to fall through it, then they wouldn’t require hospital attention. The reason to have glass is that it will match the rest of the house. Given that I may have kids, I’ll rather be safe than sorry and it will probably be cheaper for wood shelves.

  • Game Systems

    I’m going to buy a Playstation, Nintendo, and whatever system Microsoft has out in 3 years. These will be 3 of the five or six shelves, although, the Nintendo could probably fit on one of the shelf with another game system.

  • TiVo or Internet Connection Device

    In three years, I doubt seriously that I’ll have cable. I’m doing exceptionally fine without cable TV with Netflix, Hulu, etc. The need for cable TV is diminishing, so thus is also the need for TiVo. If I need to, then simply, I could get away with using my computer to record TV and then stream to the Xbox or Playstation devices. I’ll have to wait and see. Most likely after the sound system and game systems, I’ll at least want to have a few shelves open for future devices.

Possibly Related Posts:


Dragon MVC

October 31st, 2009

I think the motivation factor is to lessen the scope of the project, so that I can get it done and write the documentation and unit tests for the project. If the scope is limited to just the controllers, database API, and view abstraction, then I can probably get something out in about 3 weeks time instead of trying to do many things at once.

I’m going to aim at keeping the components as separated as possible with some connections between the different parts. The view component is going to be the easiest and quickest to complete since it is just going to use PHP templates. I might finish the documentation for the Views first and complete the unit tests as well, so that the project gets off on a good start.

One component that I’m also going to to include is the plugin API. This will tie in to certain parts of the controllers, views, and DB API. I believe most of the real documentation will go into the database API and how to use that. The controller will also need comprehensive documentation, but just not as much as the database API.

I’m going to give myself a month and a half to complete the project with basically an hour a day on the weekdays and 2 to 4 hours on the weekend. I’m going to focus first on the unit tests and try to get as much of the API designed in unit tests as possible. Everything will have phpdoc inline documentation and have all main documentable elements explained. This will carry on to the DocBook documentation, which will try to explain in human terms how to use the library with examples.

Motivation

By giving myself sprints, I should put out a plan and be working on the project a little bit every day. By giving myself a little to complete and knowing exactly when I’m done, I can actually see the light at the end of the tunnel. By giving myself a deadline of a month and a half, I set forth a goal which I plan on completing.

The plan is to have the project functional before the month and a half, but most likely the majority of the planned features for the DB API will not be finished. The DB component will be the biggest part of the MVC and more time will have to be spent completing it. The foundation of the DB API should be fairly quick to complete and will allow for testing.

Previous Attempt

The previous attempt, I believe, failed because I was attempting to code it to replace WordPress without realizing that the API just isn’t going to be able to do that. After I realized that, I had already written the foundation and realized to get it to where it needed to be, I’ll have to rewrite it. I can still take some of the best parts of that API and apply it to the new API.

Instead, by starting over anyway, this attempt will have the design where I want it from the beginning. I think I’m still going to take some of the best parts of the WordPress DB feature set, including HyperDB code base. I’ve been experimenting with different implementations of what is currently in the code, so it is simple to replace the functionality and still allow it to be extensible.

Database API

The Database API is going to be Active Record and take what I’ve learn from CodeIgniter, ORM, Datamapper, CRUD, BREAD, and various other implementations of DB APIs I’ve done in the past. I’m going to try to correct the mistakes of other implementations and code the DB API to the best of my ability. This will not mean I won’t make mistakes on my own. This will be mostly a learning experience and I’m going to try new things in an attempt to simplify the code and how the code is extended.

My hope is to code the project in such a way to allow for experimenting, but also allow for “correcting” shitty code architecture that will creep in with such experimenting. Not all trials will work out the way they should and the API needs to be flexible enough to accommodate that. The other parts of the code base will not be developed in this fashion and the code will not use “experimental” code.

Possibly Related Posts:


Thou Art God

October 30th, 2009

“Thou Art God” is not a real ideology, it is a further understanding of our purpose and existence. The idea of a God created us to doubt its existence as part of his plan. Alas, it is also the political parts of controlling the grand masses to following the few. The basis of religion has its foundation in control and governing people. What if, at the beginning God was created as a plan to control the people, not from Kings and Queens, but everlasting rule?

It says nothing of an Creator, because even if one exists, saying that it controls your life and will lead you on to the afterlife is far reaching than what the Creator controls. A religion can not control its followers by suggesting that the only thing God cares about is that you believe in it and that there is no afterlife for you to lead to. For a religion to control, one has to explain the unexplained and do the unbelievable. One has to believe so much as to push that faith on to others, or if history is any guide, kill as many people that don’t follow as possible without killing everyone or at least conquer enough people to where those left alive have no choice but to believe.

The point is, that a King can only rule for as long as that King is alive and also for as long as his subjects do not attempt to overthrow him. To keep the law, religion is a far better way to do so. Religion is not bound solely by what the police can enforce, people who believe are self-enforcing (for as much as possible). People aren’t perfect, so even with laws and religion, people are going to do whatever drives them their actions. Religion just supplies the righteous an avenue for the masses who blindly follow the doctrine as the Word.

One of the advantages of Religion, is that it doesn’t often change, a law that existed in the beginning will exist far longer than the many generations of Kings and Queens. Therefore, while laws will change from King to King, the Word will not.

Possibly Related Posts:


Why I Contributed to WordPress

October 29th, 2009

I thought it was interesting when someone made the argument that if plugin authors wanted money, then the developers who contributed the most to the core of what makes WordPress should receive money as well. Well, this might become a reality when and if the WordPress Foundation is ever created. From examples of other Open Source Foundations, usually what happens is that funds are directed to those who contribute in hopes that they will continue to contribute or get new people to contribute full time.

Until the WordPress Foundation is created, if it will ever be and there aren’t any suggestions that it will (that I know of, this is hypothetical), then I don’t think I would even take money even if it was offered. I didn’t jump into the development of WordPress core and fix bugs, because I thought I could make money from it. I seen a problem and decided to fix it, because it would benefit me, that fact that it also benefited other people was a bonus. The most important factor was that it would benefit me. If any of the work I’ve done seemed selfless, then you don’t know me well enough to realize that it was purely selfish reasons.

Not selfish in the way that I desired fame, fortune, or gratitude. Truthfully, I could still care less about that and I think those who seek those things will be sorely disappointed when they find that it doesn’t work that way. I don’t believe it should, but contributors have different motivations. People who work on core are not well known. Well, this is a generalization, I suppose that people know who Dion Helse is and several of the other people.

I suppose the problem is that while I’m not particularly well known, I’m not obscure either. Lorelle has mentioned my name at a few WordCamps (in relation to writing documentation). I have a feeling that many people were wondering about my name, “Who is that?” What I find interesting is that I can go to any given WordCamp and only a few people will know my name. Most know me, not from my work on the core, but for other reasons.

I think that is funny, I set out to create change and I only changed anything by attempting it myself and even that wasn’t my original goal. Whether or not I changed anything else is debatable. Working on a project can be enjoyable, but expecting fame or money just isn’t going to happen, unless you put yourself out there doing other things. By the end of next year, hardly anyone is going to know my name.

I suppose that is the cycle, except for the more veteran members.

Possibly Related Posts:


Saying Good Bye to Dollhouse

October 28th, 2009

I just want to curse Fox’s name while I still have the chance to and still give a shit about Dollhouse. I mean, I was happy that 24 survived after the first season and lived on, even though I hated the direction it took after the second season. That is, I’m happy 24 stopped sucking and last season was exciting as was its direction pretty awesome.

However, Dollhouse is just as good as 24, err, well, okay 24 kicks major ass that very few series can match. I’m just saying that Dollhouse isn’t boring and is actually more entertaining than many of the other Fox Network TV series (I thought the snooze-fest Fringe was going to be good, but it appears to just be a rip-off and slightly better X-Files). Joss Whedon has a problem of creating really awesome TV series that very few people ever watch.

Possibly Related Posts: