Recent Updates RSS Toggle Comment Threads | Keyboard Shortcuts

  • Tony 2:40 pm on February 11, 2010 Permalink | Reply
    Tags: Doctrine, ORM, , Propel   

    Comparing Propel and Doctrine 

    I’ve recently decided to make the switch to Doctrine as the ORM of choice for any new PHP projects we work on. I didn’t make this decision lightly as, until now, I have been a long time user and advocate of Propel having given talks on it at PHP conferences and even a webinar or two. So why the change? That’s really not significant, what is significant is I think I can give a very quick punchlist of things about each that other PHP’er might find useful when evaluating them for themselves.

    Propel

    Pros – First, let’s be clear I’m not talking about the pros of using an ORM. I’m talking about the good things that this ORM implementation brings to the table. Those are:

    • Hydration Speed – You can argue you should never retrieve hydrated PHP objects from query if you don’t plan on taking some sort of save or delete action on it. Yes, that’s true from a performance standpoint, however, if you are building a site where performance simply isn’t a concern then you’ll be pleased to know Propel can hydrate a set of objects quickly enough to be used in building a view (i.e. a data grid of some sort).
    • Classic Getters/Setters – You get these methods stubbed out in the base classes that Propel generates and you can override them easily. I should note Doctrine can do similar sorts of things but not in a conventional way.
    • Support – The Propel mailing lists and IRC channel on freenode are pretty active, thought, not near as active as Doctrine’s.

    Cons

    • Dependency hell – Propel has improved this but it’s still not perfect. Back in the early days, before PDO, you needed Propel’s generator, Phing and Creole. Now you just need the generator and Phing. Phing is very much like Java’s Ant build tool. While I understand and get why they use Phing, it adds a layer of complexity that makes it a barrier to new users. Propel’s generator isn’t as bad as it is just a set of Phing targets to do Propel’s bidding. If you come from .NET or Java using Phing won’t be a big deal but if you aren’t familiar with Ant or nAnt then Phing will come with a learning curve.
    • Criteria – Propel’s way to help ensure portable queries are built is via their Criteria object. While I get the need for it, not having a explicit way to run native SQL short of getting a PDO connection and doing all the work that way is a short coming. In fact, I despise Criteria so much I never use it, mainly because it doesn’t take too much work to hit a situation that Criteria either can’t handle well or make the code so complicated it’s not worth it.
    • No 5.3 namespace support – Let’s face it, we are all tired of Really_Long_Class_Names ala PEAR, Zend Framework, et. al.
    • Community – This is probably hard to blame on any one person but for a long time no work was done on Propel. There was a change in project leads which took a long time and the development efforts took a while to get going. I’m happy to say the team is active again, but a lot of ground was lost during the downtime.

    Doctrine

    Pros

    • No other dependencies. Doing builds is easy as creating a simple PHP command line file and running it. No Phing, no other external property files.
    • Magic finders – I love this. Say you have a user table with a user_name field that has a unique index on it. Retrieving this is as simple as
      Doctrine::getTable('User')->findOneByUserName('janedoe');

      . Propel would require a few more lines setting up a Criteria object and running it.

    • Named Queries – This is something I pitched to the Propel development team quite a long time ago that always got a luke warm reception from the community. I ended up implementing my own named query implementation which worked well enough that I never used Criteria. With Doctrine you just get it out of the box:
      $this->addNamedQuery(
          'someQueryName',
          \Doctrine_Query::create()
              ->select('*')
              ->from('User u')
              ->where(user_name = ? AND 'password = ?')
      );
      

      Now I’m not totally in love with that syntax, it’s not much better than Criteria, honestly, however I go through that pain once and then I can just say:

      $user = \Doctrine::getTable('User')->find('someQueryName', array('janedoe',SHA1($password)));
      

      It’s also worth noting you can also use named queries to issue raw SQL, though, it will only return the raw recordset. Some of you are probably asking WTF? Named Queries? Read up on them, decide for yourself if they are for you…all I can say is after having used an implementation for years I’m sold on it (maybe that can be a future blog post).

    • Documentation – Their documentation is top-notch. Only improvement that is needed is comment support to the manuals.
    • Community – Let’s face it. Doctrine has gained some traction and all you need to do is follow the mailing lists, IRC and other community resources to see they simply get it. Their partnership with Zend Framework is a shining example of good strides in this area.

    Cons

    • Hydration Override – This one had me scratching my head the first time I noticed it. By default, if you fetch an object by the same primary key twice you don’t get two different copies, you get a pointer to the most recent version. On the surface that makes sense but there are a number of reasons I don’t like this as the default setting. Luckily you can turn this off through a configuration setting when you initialize Doctrine.
    • Hydration Speed – This is my biggest complaints with Doctrine. If you run a query that pulls a parent/child relationship (i.e. a customer and their orders) this take a lot of time with Doctrine’s hydration method. The complexity is the circular references you can get. I don’t know why Propel handles this so much better but the impact is you can’t use Doctrine’s hydrated objects in you views. The way around this, I’ll call the Doctrine Way, is to have them hydrated as arrays. You still get the parent’s children, you just aren’t working with a native PHP object. When you think about it, it make sense, though I still prefer having a choice. The performance hit you take, even on simple queries, makes the array hydration mandatory if you are pulling more than one or two records from the database.
    • No 5.3 namespace support – It too doesn’t support namespaces yet.

    This isn’t meant to be a comprehensive review of either system, rather, a punchlist of noteable things. I don’t feel this blog post is near comprehensive enough to base your decision on, rather, it can be used in addition to your findings. I’d love to hear the other pros and cons from either camps.

     
  • Tony 8:40 pm on January 6, 2010 Permalink | Reply
    Tags: , ,   

    The Arenas Effect (and Gun Control) 

    Gilbert Arenas has made a complete ass of himself, the Wizards and the NBA by knowingly taking guns to “work” as a “joke”. The fact he made an ass of himself doesn’t bother me. People do it all the time, but when their dumb decisions have an impact on me that’s where I draw the line. How did Gilbert’s poor judgement impact me? In two ways: 1) it digs up the gun control issue out of context and 2) perpetuates the notion that blacks, through the misguided judgements of professional athletes, idealize the thuggish lifestyle.

    The gun control issue is the one that burns me the most. Gun control advocates are already a motivated group and they will no doubt take Gilbert’s actions, in one of the most anti-gun cities in America, out of context and use this as further motivation to ban guns. This is my “Turn them into Monsters” reference on my post earlier on How to Stop the Hunting Tradition. Arenas will be turned into a monster that represents the hunting culture, though, I can say with virtual certainty that Gilbert knows nothing of the lifestyle. Don’t believe me? With public support for tougher gun control at an all time low, anti-gun rights groups will try to seize the moment. You only need to see some of the comments pouring in already (here and here).

    The sad part is Arenas isn’t alone. You have Plaxico, P. Diddy and a host of black entertainers turning up with firearms in situations that impact not only gun control but the hunting lifestyle I hold so dear. It is important that anyone reading this still objective on the gun control issue, understand that people like Arenas do not represent gun owner (generally) and hunters (specifically).

    The second impact this Arenas situation has on me is the fact he is black. Stereotypes are already ripe and, trust me, living in Iowa with hobbies that take me into rural settings I know what they are. It is on this issue I find myself agreeing with Stephen A Smith. I say throw the book on him. No, not with just unpaid leave for the rest of the season…what will that do? The guy has a $100 million contact so if you sit him out now when he’s already made roughly $7 million, he’ll only lose around $9 million dollars, or 10% of his contract. Me, if I tote heat to work – joking or not – they put me under the jail. Furthermore, my real rage comes from the parent in me. Children, including black kids, look up to professional athletes. Sure, bring out your Charles Barkley “I am not a role model” mantra. But even Sir Charles didn’t mean it in this bad of a context. Apparently I’m not the only person of color taking this stance. Reverand Al would just assume throw the book at Areans, too.

    To many I am probably just an anomoly…a black, legal gun-toting American living in Iowa with a thirst for the outdoors and the lifestyle it affords me. Maybe so, but being responsible regardless of context is something I expect of my family, friends and of all Americans across gender, political and racial lines.

     
    • Cory Glauner 8:51 pm on January 6, 2010 Permalink

      I totally agree. Everytime some jackass pulls a stupid stunt with a gun, it’s just another chink in the armor. I think that most people are neutral on the gun control issue but the trend is going the wrong direction. Everybody needs to wake up and be a bit smarter.

    • Tony 8:54 pm on January 6, 2010 Permalink

      Cory, what’s sad is Arenas played in that game last night. Any spine I thought Stern had flew out the window…same for the Wizards coaching staff. How do you *not* bench him?

    • Ken 9:33 pm on January 6, 2010 Permalink

      To me the telling line in the article is “Devin Harris of the New Jersey Nets has said he believes 75 percent of NBA players own guns. ” Guilt by association. If you own a gun, you must be a threat.
      Tony, you hooked up with Rev Al on Facebook.:-)

  • Tony 9:21 pm on January 4, 2010 Permalink | Reply
    Tags: ,   

    Street Smarts for the Woods 

    For the beginner, hunting can be an overwhelming experience. Nevermind that one may not know much about firearms, understand the gear needed or how to use the right call. By removing all that you are left with a more fundamental set of skills which can be described by a solitary, single word: Woodsmanship. Nevermind the traditional sex roles that term might conjur up, Woodsmanship cares not about gender, race or wealth. Woodsmanship is being able to decipher what feels like sensory overload to the novice. The sounds, tracks, expansive terrain, shifting weather and seasonal changes in your quarry. Woodsmanship is knowing when to call and when to shut-up. Knowing when to move and when to set still. Knowing when to pass up on a bad shot and when to wait on a decent shot for a better one. It’s knowing how the land shapes the pattern of nature’s creatures, how the need for food, water and cover effects their habits and how their desire to breed can toss all of that out the window. Indeed, Woodsmanship is street smarts for the woods. So how do you get it?

    While some of what is Woodsmanship can come natural, such as the ability to see the flick of a buck’s tail through dense, winter timber to the ability to navigate unfamiliar terrain without getting lost. However, much of Woodsmanship comes from a single source. Experience. Luckily for those of us young in our lifetime outdoors, experience doesn’t have to be the kind experienced first hand, it can be experiences others have accrued through the years. In fact, your first course – Woodsmanship 101 – should take advantage of as many outdoors veterans as you can. Working in your favor, many of the best outdoorsmen I know have a unique combination of arrogance and unselfishness that makes it easy to draw knowledge out of them. They can’t wait to tell you what they have learned while hunting and how good they are at doing it!

    Your 200 level Woodsmanship course moves you to published works. Wikipedia, outdoors magazines, outdoors television shows and publications by outdoors organizations such as the National Rifle Association (NRA) and Ducks Unlimited (DU) and outdoor TV shows will be a good place to start and has the added benefits of serving you well when life keeps you indoors. My suggestion is to skip Barnes and Noble and head to your closest half-price book store where there will no doubt be a number of hunting books on the cheap. Better, in my opinion, are the regional online communities such as Iowa Sportsman. Not only do such communities have a lot of members with tons of experience, they can also lead to friendships with people willing to show a novice the ropes.

    After that, your studies take you into woods where Mother Nature leads the class. Entering the woods shouldn’t make you feel you are encroaching so much as you joining your rightful place in nature. Woodsmanship is much to do with reestablishing your ties with nature that our society, full of distraction has tried hard to tear down. Once there Mother Nature will likely not lay quarry in your lap, rather, give you the chance to listen and watch your quarry allowing you to apply this knowledge on future hunts. In fact, Mother Nature will often give you as much advice on how to turkeys while you are on that deer hunt as she is about deer. Woodsmanship is being open to the experience, appreciating that killing is a small part of hunting, the blending in with nature to watch creatures do what they due is the truest reward of any hunt.

    Finally, it’s important that if you learn nothing else from all this, that Woodsmanship isn’t so much an attainable goal, rather, a ladder that much be climbed one step at a time but that can, with the help of others, be scaled quicker. It’s a path that is best shared and when shared with a seasoned veteran of the wood, Woodsmanship is knowing they only do so with the implicit expectation that you will do the same for others.

    NOTE: Many thanks to the Iowa Sportsman Community (formerly Iowa Outdoors). Their member continue to teach me about Woodsmanship and the true meaning of happiness.

     
  • Tony 3:37 am on January 4, 2010 Permalink | Reply
    Tags: , ,   

    How to Stop the Hunting Tradition 

    Hunting is an archaic activity that does nothing other than give its participants an excuse to bear arms and hurt nature’s creatures. Stopping these senseless traditions is as easy as exposing these people as the brutal, animal hating, gun toting rednecks they are. How do we do this?

    1. Start Small – Before trying to destroy hunting in a large country like the United States which is deep with outdoor traditions, start with a smaller country such as the United Kingdom. Using the Scientific Method, establish it as your control and try out a number of ideas you feel can lead to outlawing the barbaric outdoor lifestyle. Start by seeking the outran ban of a very specific species of animal that people are sympathetic to. In the case of the UK, for example, you can use the medieval class system and how it ties to oppression as a great reason to ban fox hunting. If that doesn’t work, throw in the fact the foxes will die in a brutal manner because of the use of dogs since, as we all know, mother nature is the most humane of all killers…not people nor pets.
    2. Divide and Conquer – This concept is nothing new. Take a large group such as outdoors enthusiasts and divide them into increasingly smaller groups. Start by dividing them into hunting and trapping camps. Then move on to dividing hunting into deer hunters, turkey hunters and the like. Then do your best to turn those groups against one another by suggesting whitetail deer are much more of a challenge to hunt than turkey. Encourage the proliferation of region and species specific online communities. In this manner, mis-information they give about us so-called “antis” will be limited to those communities. Be sure to perpetuate the stereotype that hunting is an activity for only the manliest of white, anglo-saxon protestants. The last thing we need is the additional contention that women, blacks and Mexicans could bring to the table.
    3. Turn Them into Monsters – It’ll be much easier to outlaw outdoor activities if the participants are looked upon negatively by the general public. The best part of this is you can often profit off of this activity by making things like stickers of the Confederate Flag, bullet holes or of phrases like “if it’s brown it’s down”. Then make sure others take note during hunting season as these hillbillies sport the elk or deer they shoot uncovered in the back of their pick-up or trailer. After that, find a few sensational idiots in the outdoor community such as felons and poachers and create as much publicity around their situations as possible. When that doesn’t work, hit the public with obscure facts or outright fabrications of so-called “scientific evidence” that clearly show that hunting does nothing to curb wildlife populations and even exposes those populations to hard hitting diseases that could decimate their already “managed” populations.
    4. Find Sympathetic Businesses and Organizations – When the above doesn’t work, get a few so-called “non-profits” who can fight these barbarians using public donations. If you can, do some clever things like get companies that provide common, everyday products like dog food to donate part of their revenues to those same non-profits. Outdoorsmen are pretty dumb and won’t dig deep enough to find out that the product they just bought is actually working against them. These non-profits also bring the added benefit of having Washington D.C. lobbyists at their disposal. These groups are great at working the political circuit and the art of the amendment. That’s right, our lobbyist friends have found crafty ways to attach anti-hunting legislation to bills that have nothing to do with hunting or the outdoors! While all that is going on, we need to point out at every chance we get that our non-profit partners and leaders in business are responsible for the massive turn around in game populations throughout the country. Hunters will lie and suggest the government – through hunting and fishing licenses – are responsible which, of course, is a lie.
    5. Hit Hollywood Hard – Let’s face it, there is no denying the influence that Hollywood and celebrity actors have on the general public. Many of these same celebrity actors tote around their pets and even dress them up like real people. Find the biggest names in Hollywood you can to take up our cause and publicly humiliate these neanderthals. Don’t forget, these same celebrities have deep pockets and relationships with influential people such as judges and politicians. If Hollywood can get Obama elected, damn it, they can help us outlaw hunting!
    6. Outlaw Their Tools – Fact is these bozo’s can’t kill or harm an animal if we take away the very tools they depend on. First try hitting them where it hurts most by taking away their guns. If you can’t ban firearms outright, first try to outlaw automatic weapons. Turn it into an issue of public safety deflecting the issue of hunting. Be sure to point to the escalating crime in your area as a reason to get rid of these radical firearms. Once you get automatic guns outlawed, just start climbing the ladder to handguns, shotguns and rifles. While you work on the firearms bans be creative and consider trying to obtain the outright ban of ammunition. Maybe even sue a firearms or ammunition manufacturer for the death of some pour soul in some big city…it doesn’t matter that hunting wasn’t involved.
    7. Give Them Something Else To Do – If all of the above fails, one thing we have in our hip pocket is that hunting is on the decline. We need to continue pushing distractions such as mobile phones, the Internet and gaming devices like the Wii and Playstation 3. Fact is, kids would rather text, update their Facebook status, or play computer games against each other. This is our Plan B. These hunting fools are too stupid to realize how drastic the decline in hunting licenses are and the positive effect it will have for us moving forward.

     
    • Cory Glauner 8:55 pm on January 6, 2010 Permalink

      The divide and conquer method drives me nuts. Elitists who hate other sportsmen because they don’t agree with their methods don’t do any of us any good. If it’s legal I’m for it. Just because I think Noodling for catfish is a little weird doesn’t mean that it should be shut down. Let’s stand up for each others rights folks.

    • Tony 9:01 pm on January 6, 2010 Permalink

      Yeah, that’s the point I hope more of us take home. Trappers take heat, Fly Fishing anglers come off as snobs (yes, a generalization), but that the more we see our selves as different the easier it is for anti-[whatever] groups.

  • Tony 2:38 pm on December 16, 2009 Permalink | Reply
    Tags:   

    Moving On 

    My guess is this will largely go un-noticed but I felt a formal blog post was in order for announcing my decision to stop contributing to AptitudeCMS and Geeklog.

    I owe quite a bit to Geeklog…after installing Linux and PHP for the first time over 12 years ago I ran across Geeklog, learned a thing or two about open source development and started Iowa Outdoors (which I’ve since sold). Not long after that I was fortunate enough to serve as the project lead for Geeklog before handing it off to the current lead, Dirk Haun. Back then, there weren’t many viable options in the now overcrowded PHP CMS market. Sadly, I’ve watched Geeklog’s popularity slowly decline to its current state. That said, I have a few constructive things to say to the Geeklog community and the PHP community at large.

    First to the Geeklog community. You’ve run into rough times. WordPress, Joomla, Drupal and company really are the champions in this space. Without doing more digging than I care to, I know Geeklog is far behind in any of the hard metrics that really matter (code commits, # of active developers, etc). Just a hint of proof is had by comparing Geeklog’s Ohloh stats with this, this and this. Then there those things you can’t quite quantify, the passion of the community and the level of innovation happening. Right now I feel the Geeklog community is pretty stagnant. Some of this is likely to be blamed on the fork of Geeklog (whose Ohloh stats don’t speak well either). Fact is if you combine both glFusion and Geeklog’s numbers together it still paints a pretty bad picture. You could argue they don’t need to aspire to be like WordPress, Joomla and Drupal which is fine but what I think has gotten lost in all of this nobody has consciously said if that’s the game they want to play and, if not, what differentiates Geeklog from the rest? In the meantime, the set of features added over the past year or two suggest, in fact, they are playing catch-up to some of the features found in those other systems. That’s not bad, but my point is Geeklog seems to lack a tangible goal. I guess that is part of the nature of open source…the perpetual, organic, itching of scratches but I still feel open source projects need to have long term visions far beyond the next commit, next point release and even next major release. With that said here’s some suggestions for Geeklog’s community in no particular order:

    • Change your name – I attempted to address this with AptitudeCMS and failed but something has to be done. I’m not sure if there is a precedent for a name change in a well established open source project but it has to happen for Geeklog. To me it is branding 101. For anybody outside of a blogger or hobbyist, it’s hard to take the Geeklog brand seriously. Pointy haired managers scoff at such a name (I’ve seen it). Sure you risk confusing or alienating people but I feel Geeklog, as a brand, is hard to sell. That said, even without a name change the remaining points are crucial.
    • Change your image – The Geeklog homepage screams mid-1990’s era design. It’s the first impression we give users. Even if you don’t want to compete directly with the bigger kids on the block, you can’t argue that Joomla, WordPress and even the Geeklog fork looks better. It’s the first impression a user gets. I think improving the Geeklog homepage will lead to more interest. Once captivated, I have now doubt the codebase speaks for itself but, for now, the Geeklog homepage is forgettable for new users.
    • Get social – Geeklog is no where to be found on Twitter, Facebook, etc. The missed opportunities here are, frankly, staggering. The PHP community (as well as Drupal, Joomla, etc) all have a strong presence in these areas and I have no doubt the Geeklog community could benefit by joining the conversation.
    • Blog – Let’s face it, there isn’t much in the way of active Geeklog developers. The ones there really need to blog about what’s going on behind the scenes. What are you working on? What’s a challenge you are facing? Any good commits lately? This in part gets back to the goal setting discussion but it is more todo with giving the community a glimpse of what is going on.
    • Find a partner – Ok, this is probably one of the more controversial points and one that is often dodged in open source discussions but behind nearly all successful open source projects is an organization. Sometimes it is not-for-profits but many times it is a private company or two. Right now there isn’t a single Geeklog developer paid to work full time or even half-time on the core of the system. Geeklog’s current codebase, in my opinion, has to be worth that investment. I think part of the problem here has to do with the name, image and branding issues I brought up. That said, I know of a lot of organizations making selfish use of Geeklog without giving anything back. No bugs, no code, no testing, no translations nada. Zilch. Now before the hardcore OSS supporters flame me, I’m not suggesting the project be effectively run by a company or an organization, rather, there should be enough of a community still where they can contribute developer hours to the project. I believe strongly the project itself needs to remain organic able to change with the needs of those who lead…but that some investment by industry is needed. Who will stand up?

    Now to the PHP community at large. As I look at AptitudeCMS, I see a body of work that started before there were any other PHP frameworks around. I started with an MVC implementation. I incorporated a simple template engine. Later added an ORM. Much of this happened over many employers and well before anybody uttered Zend Framework for the first time. AptitudeCMS as a project is a failure in large part because it was never really released as a “formal” project until well after current PHP framework space became cluttered. Fine, it is what it is. However, to see this stuff rot and be used only when I have a new project come up seems silly. I’m pleading, for my own sanity, don’t let this code go to waste. Feel free to dissect it, borrow anything you find useful and laugh at any bad code you dig up. Some areas of focus:

    • MVCnPHP – It’s a viable alternative to Zend Framework’s MVC implementation. It’s small, configureless and doesn’t present file contention issues common with ZF controllers. I’m sure a Zender can point out ways around this but most ZF projects I’ve seen have all the logic in the controller which seems really wrong to me and is a bit painful when you have multiple developers working in the same controller. Sure SVN, etc can handle the merge but you end up with a lot of merges. MVCnPHP is much more atomic, view logic goes in a simple, small view class. Command logic goes in a similar command class. The controller is only responsible for routing requests between views and commands. An upside to this is MVCnPHP also has basic support for tainted variables. For the unaware, it’s a simple feature that notifies developers with exceptions when an unsanitized GET or POST variable is used.
    • Filtering – I built a filter class on top of Zend Framework that can easily be added to MVCnPHP views and commands. Without much work it could also be incorporated into Zend Framework MVC implementations. Look first here then see the “cool code” in the Filter class which is nothing more than a class that passes calls thru to Zend’s library and then the abstract view that uses it. I doubt the code will tickle you as is but I think conceptually it has merit for someone out there.
    • ORM->Form and Form->ORM – Because we use Propel we were able to dream up a way where we could hand a view an object and have it pre-fill from that object without us having to explicitly set the form field values. Similarly, in our commands we found a handy way of creating the same ORM objects from the submitted form without having to explicitly map and set the ORM object’s values. This was a huge time saver. I think with a little work this code could be modified for Doctrine. Here’s how we map a form submission to a set of object(s) and here is mapping a object to the form

    One thing I want to warn the community at large about is I’m seeing what feels to me like a trend in PHP to conform. You could argue that this very blog post is me, in a way admitting defeat and conforming, but I want to state the obvious that you always have a choice. It seems like many people are choosing to use part of a framework they have already installed instead of challenging whether or not it is the best tool for the job. Just because a filter class is included in Zend Framework doesn’t mean you have to use it. Just because ezComponents has a workflow component doesn’t mean you must employ it. Fact is AptitudeCMS includes Zend Framework, has some PEAR libraries and even some things like MVCnPHP. You can argue bloat, file sizes, which is valid but I’m confident you can still cherry pick the best parts of a framework to give you something you can work with long term. I’ve used Flexy instead of Smarty, MVCnPHP instead of Zend Framework and Propel instead of Doctrine. Some could see those as one bad decision after another but it’s simply the result of a cherry picking exercise I did long ago. Today I’d likely make different decisions but I can tell you I wouldn’t put all my eggs in one basket. Nor should you.

    This blog entry, a self admission to failure, hopefully didn’t upset anybody along the way. To be clear I’m the only one who failed here. Maybe “fail” is too harsh a word as I’m quite happy to make this transition but I want to be clear to Dirk Haun, the Geeklog Project and those of you whom I’ve brushed IDE’s with are all people I very much respect. I hate “losing” and this feels like a loss and will always feel that way. If anybody makes use of any of these suggestions please pass that along in an email to me. It will take a bit of the sting off.

     
    • ET 7:56 am on February 10, 2010 Permalink

      I very much agree with your first two points. I’m currently looking for a CMS for my personal site, and I have to say I discounted Geeklog because of its name, and after finding out that glFusion (which so far I like) is based on it, I went to Geeklog’s site to check it out, and got turned off by the design.

  • Tony 10:03 am on November 6, 2009 Permalink | Reply
    Tags: , ,   

    DNR Safe Hunting Commercial 

    Here’s the second commercials featuring yours truly.

     
  • Tony 4:14 pm on October 30, 2009 Permalink | Reply
    Tags: , ,   

    Bibbs Family Featured in Iowa DNR Commercial 

    This is Maia, Lauryn and myself in a DNR video featuring safety as the Iowa Pheasant season gets started:

     
  • Tony 9:30 am on July 9, 2009 Permalink | Reply
    Tags: ,   

    Boat for Sale 

    Well, I’m finally getting around to upgrading my boat. I’m pretty excited but this also means I need to sell mine. I’m asking $3,750 or best offer for a great boat with these features:

    • 1997 Spectrum Boat
    • 2006 30hp Mercury 4-stroke with less than 35 hours
    • 3 swivel seats with backs all in good condition. 1 pedestal seat used for bass fishing
    • 12 gallon gas tank, two storage compartments and livewell.
    • Lights, bilge and aerator all work and are in good condition
    • Galvanized trailer with full spare that’s in fantastic shape. Tires on trailer are brand new.
    • Optional: Minnkota Trolling motor. It’s an auto-pilot that is compatible with the co-pilot remote (not includeded)
    • Interested parties should contact me at tony [at] tonybibbs [dot] com or call 515.554.8046

    Fishing Boat for Sale from Tony BIbbs on Vimeo.

     
  • Tony 6:54 am on June 23, 2009 Permalink | Reply
    Tags: ,   

    Preparing to Wade Iowa’s Interior Streams 

    My first try at a short podcast. Basically a video with zilch in the way of editing. That’s next:

    Preparing to Fish Iowa’s Interior Streams from Tony BIbbs on Vimeo.

     
  • Tony 7:00 am on May 29, 2009 Permalink | Reply  

    Stop Follow Friday Insanity 

    I hate this phenomenon on Twitter called Follow Friday (referred to via the #ff and #followfriday hashtags). Get ready for a big dose of hater-ade because I’ve endured this crap for the past few Friday’s, filling up my Twitter stream and it’s gone beyond the point of ridiculous. So why am I hatin’?

    Conceptually Follow Friday is cool. It’s a day to try and expand your Twitter network by taking recommendations from your followers on other people worth following. Simple enough. But the whole damn thing is missing the target. That said, here’s my Follow Friday *censormode*-list:

    • My first gripe with Follow Friday is some people will recommend far too many people. Some people even have multiple tweets giving a half dozen or more suggestions. Seriously, you can’t give this whole thing a bit more thought and recommend just a few worthwhile suggestions?
    • All you get in a Follow Friday tweet is the Twitter username. Follow Friday tweets don’t bother telling me why someone is being suggested. That is sort of pointless because now I have to dig into their Twitter timeline and fine out if they are truly follow-worthy which is an exercise in futility especially if you are guilty of the first bullet.
    • Why Friday? Sure, Follow Friday sounds cute but aren’t people follow-worthy the other six days fo the week?
    • Oh, and my biggest *censormode* about the whole Follow Friday phenomenon is the follow-up tweet where the person being recommended in a Follow Friday tweet thanks the person who suggested them. No, the thought is fine but make it a direct message and don’t further clog my Friday timeline even more Follow Friday crap


    Ok, so I’ve got that off my chest. Now let’s go a step further and turn this into constructive criticism by suggesting better ways you can implement Follow Friday:

    • Limit the number of suggestions you make. Give that limited number of suggestions some thought.
    • Give a reason your followers should follow the person you are recommending someone. Consider going a step further by writing up a short blog entry why someone should be followed. This has added benefits of not being lost on search.twitter.com after a few weeks) and it acts as a place your followers can go to get more recommendations by you.
    • Try making recommendations on days other than Friday. Sure, then you can’t call it Follow Friday anymore but I think your followers will appreciate getting one recommendation a few days per week than a dozen all at once all without a stated reason

    Ok, I know all this probably came off negative and I know there are a lot of Friday Follow lovers out there. Keep doing what you do, but please, consider taking some of this advice to make it more meaningful to all your followers.

     
    • Cory Glauner 2:07 pm on December 31, 2009 Permalink

      I agree. I was on the bandwagon for a while, but finally realized how ridiculous it really was. Just clutters things up.

c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
esc
cancel