I had a great interview with Ed Yourdon last week. Ed has put together a summary of our conversation on his blog.
I’ve also put a post together to respond to the experience Ed had with his Naymz Google ad. This lives over on the Naymz blog. It covers a bit about how Google ads works in general (of course the real system is a black box to us, but we make good guesses at it).
One of the things that I did discuss with Ed was some of my fairly contenous thoughts about the Web 2.0 technology. I’ll be covering that deeper in a post this afternoon as well as my thoughts on what Web 2.0 really is and what I see for Web 3.0.
We also discussed in detail identity management and more importantly identity trust. This is one part of our conversation that Ed skipped over and I think it was mainly because it is a problem that hasn’t been solved yet by Naymz or anyone. It is a tough problem that consumes something like 15-20% of my cycles on a constant basis. One of the major reasons is because I hate SPAM. But more on that later this week I think.
For now, check out Ed’s entry and feel free to send me thoughts and comments with your take on Web 2.0.
I’ve finished launching my latest Inversoft product – The Inversoft Bad Word Database. The website is written entirely in Ruby on Rails and uses PayPal for purchases. All and all the coding was extremely straight forward and simple. Here’s the address:
The product idea essentially sprouted from my work on https://www.naymz.com where I need to add some filtering logic to the site so that folks could not enter any restricted words (cuss, slang, swear, superlatives, derogatory, etc.) when constructing their ad for the search engines. Google, Yahoo and the others reject advertisements whose content is not valid or contains restricted words. As I built out the functionality for Naymz, I wanted to test it with some data. Unfortunately there was no data to be found.
I did quite a bit of searching and found that there were services out there who offered a web service you would sent the content to and they would validate it. This just didn’t make sense to me since I wanted to have as few external dependencies as possible and most of these sites could not guarentee reliability, up-time or accuracy of the content filtering. I also found a few other sites that had lists of words, but they were not in a database friendly form. These websites also suffered from the fact that some words I would not consider “restricted” at all and yet again the data would need major scrubbing. Another site I found offered hundreds of thousands of words entered completely by its users. This was probably the worst considering that I had no way of making a determination of which words I wanted to load and which I didn’t because as we all know users will add anything when there aren’t any checks and balances.
What I really wanted was a list of words, with definitions, ratings and categories. So, in my spare time I started building this out. I surfed the web and found all the words I could. I started adding definitions to them as well as a ranking system that would allow applications to adjust the level of leniency they wanted to allow. I also found that many times a list of alternate spellings was need because folks are smart and can beat filters by typing something like sh7t.
After quite a bit of data scrubbing, tweaking and coding, I finished the website and did an initial data load. The initial load contained approximately 500 words and another 500+ misspellings (or something close). The website is live and I’ll be adding words to the database each day and also be building out an multi-language version that contains bad words from as many languages as possible. Check it out and feedback is much appreciated.
I finally got fed up with Tiles and wrote something new. Naymz had a bunch of random exceptions in the logs and almost all of them were caused by Tiles. I started digging and eventually just got mad at the whole situation. WebWork had repackaged tiles and apache was still supporting the Struts tiles. I didn’t want to spend all day fixing WebWork to use the Struts tiles and I also didn’t want to figure out if there were major differences between these two that could be causing the problem. Plus, tiles uses the digester for parsing XML, which seemed to fail at random. This code was quite thick and I knew it could be done in a much lighter weight and concise manner.
So, I threw out a simple XSD for the format and then implemented the parser and tag lib and 7 hours later I had Bluprints 0.1 up and running. This thing is pretty suite. It supports nesting, extensions, parameters, page references, and a bunch of other little cool features. It’s really simple to learn and I’m hoping to write some docs for it this coming week. I’m also hoping that because it is so simple and lightweight that folks start using it and helping to test and develop it. We’ll see about that though. Plus, it has no dependencies except on the J2EE libraries and WebWork, but only if you use WebWork. Lastly, it is running on a live production site already https://www.naymz.com.
Anyways, feel free to check it out over at Source Forge. Here’s the link to the project.
For those that don’t know what I’ve been up to for the past month or so, the site I’ve been working on has launched. The site is located at https://www.naymz.com. I’ll give a quick run down of what we do and what technologies we used.
First of all Naymz is an online identity site. We don’t manage all your passwords like FireFox does, we manage who you are. Naymz let’s you sign up and create a profile. On your profile you can create links to all the other websites you have accounts on like your blog, Flickr, YouTube, whatever. This allows folks to quickly browse through all your online stuff.
Second, we work with search engines so that when people search for your name, they’ll find your Naymz profile. We do this in two ways:
- We have a great way for search engines like Google and others to find your Naymz profile naturally. This is a process where the search engines scrap sites to find keywords to index by. These are the results you see in a normal online search.
- If you want to ensure top placement we’ll put up a sponsored link for your name. These are the links you see at the top in blue or on the right hand side in white that say “Sponsored Link”. This is the real value of Naymz because it allows folks to find you quickly and correctly.
Now, the technologies we have used are pretty new. We are a Java based web application and use Spring 2.0, Hibernate 3.2, Hibernate Annotations, WebWork 2.2, Prototype, DWR, MySQL 5.0 and others. Those that follow my technology blog postings probably have seen various posts about difficulties we encountered during development. I’m planning on doing a number of articles covering the good and bad of many of the frameworks we have used, so stay tuned.
One of my favorite features that we have built is a mechanism for users to quickly add links to their other online accounts. Many times websites such as Amazon and MySpace make it very difficult to share links with others or use them in blogs and postings. We’ve designed a very flexible system that not only allows us to quickly build these links, but we also test them to ensure that they are correct and also allows us to add new sites quickly. If you haven’t already played around with our link generation feature, I urge you to try it out. Of course if you find bugs, send them my way via email or blog comments.
Finally, if you want to see how cool Naymz really is just Google for “Brian Pontarelli”.
I just tried to setup DomainDNS for the Naymz.com DNS and found out after a number of headaches that this service is completely dead. There 7 lookup servers aren’t contactable on port 53. So, in case anyone is wondering, http://domaindns.com (http://dd.net) is completely worthless.