From the time of publication of the essay “No Silver Bullet” in 1986, we have been looking for the silver bullet ever more diligently. Even the essay’s author, Dr. Fred Brooks, Jr., wrote a sequel called “‘No Silver Bullet’ Refired” that appeared in 1995. On a less grand scale, five years later, I gave a sad keynote address at Software Methods and Tools 2000, a part of which was a prediction that project management would become another failed silver bullet in this century.
Sadly, all of the above predictions have turned out to be true. Continue reading
I recently implemented the Disqus comment system on this and another of my blogs. I am really pleased with the service. It works extremely well, allows me to moderate all of the comments on my multiple blogs and my online conversations in one location, and the user interface is seriously kick-ass. My only complaint was that there is no way to change the look of the Comments and Reactions count. Or so I thought. Thanks to Ryan at Disqus, I learned there is a very simple, but admittedly unknown, way to do this. Continue reading
Cryptography fascinates the inner thief in almost everyone, from children who have tried to steal a cookie while their mothers were not looking, to professionals attempting to steal secrets. This interview question is a good one to discuss for a 45 minute hour to determine if a candidate understands the basic principles of cryptography as opposed to security.
While working on a project for work today, I encountered a problem that I apparently have never encountered before. What I thought was a very simple function call in jQuery turned out to be a bit more complicated. I needed to removed an HTML element from a string representation of an HTML snippet. jQuery doesn’t quite behave the way I expected and I had trouble finding a solution.
All things must eventually come to an end. SkyBlueCanvas lightweight CMS is officially at the end of its life. I built the very first incarnation of the software in 2003. Over the course of 8 years I spent thousands of hours developing the software and providing support. All of this was done for free. The software was downloaded over 50,000 times. I had an opportunity to interact with many very nice people around the world and made a few good friends in the process. But it is time to move on to other things. Continue reading
This evening I stumbled across what I think is one of the simplest and yet most brilliant ideas I have seen in years. The name of the service is “Pay with a Tweet”. I own a few web properties on which I give away open source products for free. Giving away my wares for free is not completely altruistic. While I am happy to contribute to the web design and development communities, my goal is to build my web traffic to be able to sell advertising and useful web-related products on my sites. Continue reading
I can’t begin to count the number of times I have coded the same search field with the default value “Search…” in it and so that when the field receives focus, the text is cleared but magically reappears when the field blurs. Every time I code it I know I should save that snippet of code somewhere but it is always faster to just write it anew each time. Well, no more. I finally got around to writing jQuery plugin to allow me to add the focus/blur default value toggle to any field. I have very creatively named the plugin ‘Defaultify’. Continue reading
In this morning’s mail I received a link to a good post about passwords and entropy and the like. There is so much cruft about passwords that it is difficult to reliably suss the good and the bad, but the above posting is both correct and reasonable. Sometimes I need a password, not a password system, and I offer the following as a free solution for you to use. Continue reading
One of the most useful features of Drupal is the ability to define one’s own content types and field types. Prior to Drupal 7 one could create custom content types (limited to Title and Body fields) without using any third-party modules, or add custom fields to existing content types using the Content Construction Kit (CCK) module. In Drupal 7 most of the features of the CCK were moved to the Drupal Core so it is even easier to create custom content types and add an arbitrary number and arrangement of predefined as well as custom fields to an entity.
Drupal 7 also saw the introduction of a new concept in custom content types: entities. Through this new API, Drupal 7 allows you to define a completely custom type of data object or entity which can have its own menu paths, callback handlers, and access, display and storage rules. Continue reading
Whether or not you intend to be an SQL programmer (ever, or for the rest of your life), you will spend a large amount of your time in IT modeling data. For now, throw the MVC meaning of model out the window, or if you happen to be on the 17th floor, just put it on the sill, and restrict yourself to the abstract problem of transforming real world data into a something you can read, search, and display. Continue reading