Author Archive

14 of 16 people think this post adds to the discussion. Do you?

HelpfulLinks_GlobeDolls.JPGIn a presentation at Web 2.0 New York, Scott Porad of Pet Holdings talked about user-generated content (UGC) and how anybody creating content needs to be thinking about UGC’s impact.
Porad mentioned that filtering is the key to implementing successful user-generated content. Submissions on his sites are reviewed by a team of 15 or so initial “web-cultured” reviewers. Then they go into a secondary review area where site members then make the final call. One click by readers and the post goes back to the initial reviewers. Two percent of submissions are filtered out completely.
These voting mechanisms on content also act as a reward and encourage more participation when users know their submissions are appreciated.
Another notable point in Porad’s talk was the Amazon “did you find this review useful” feature. Amazon has this type of question on each review in their customer feedback section. I recently read a review on Amazon that stated:

This product will stop working after a year unless you pay them a $20 annual fee. Need more than 2GB of storage? Another 2GB costs you $10 a year. There are other products that record to your computer’s hard drive, and can even upload the captured images or video to the FTP site of your choice (most ISPs give you several GB for free). This product is just a bad idea, in my opinion.

Reading this and then seeing that 14 out of 16 people found it useful adds context to the products description and instills trust amongst customers.
This review stood out and helped me make a definite decision. User-generated content combined with good filtering adds an invaluable tool and resource to any site.

Business

The Importance Of Having A Fast Computer For Coding

MX_Revolution_02.jpgA fast computer is important for a coder. It may be obvious, although, some people think, “hey, I just code, I don’t do anything that is graphic intensive, I can code fast enough with my 486DX2-66 with 8MB of RAM”.

What they don’t realize is that although the computer is fine for coding once you have your IDE open, it is task switching that can add up to wasted time. Every second spent launching a program counts. For instance, if there is a slight delay in your browser and it takes 10 seconds to launch. You could be looking at 5 minutes or more of wasted time daily. I have an Intel Core 2 computer at work, and although at times

I push it to its limit and have to wait for it to catch up, I know that when my browser opens instantly I am saving time.

Input devices can have a similar impact. Specifically the MX revolution mice series. When I first used a regular scroll wheel mouse I thought, “nice, this is such a time saver”. I didn’t have to press page down or click on the scrollbar arrows anymore. Then recently I tried a revolution mouse. Wow, what a difference. This mouse flies through code or data, slices and dices noisy log files and can completely change gears when you need precision click-to-click control.

A new concept for navigating documents and folders, the MicroGear Precision Scroll Wheel operates in two distinct modes. In free-spin mode, the familiar ratchet-scrolling mechanism retracts, allowing the wheel to spin for up to seven seconds, providing hyper-fast, nearly frictionless long-distance scrolling. In its normal click-to-click mode, the wheel allows users to navigate small distances with great precision, such as individual spreadsheet rows, or small vertical distances in a document or Web page. Switching between the two modes is either done manually or managed automatically by Logitech’s SmartShift technology.

The revolution really does revolutionize mousing making mouse use more enjoyable. Two notes about these mice and Logitech scroll wheels in general. One, be careful not to drop the mouse on the scroll wheel, it will break the tactile feedback on the middle click. I’ve tried to fix the issue but both times it seems like its missing some part. Two, don’t place a wireless router in between the mouse and the receiver. It will cause random pauses while you are moving the mouse. What are you using for coding? Are there any devices that save you time?

Ai

Web 3.0 – The semantic web – It all makes sense now

rdfa.jpgThere has been a lot of talk about Microformats, RDFa (Resource Description Framework – in – attributes) and Web Ontology Language (OWL). These naming conventions, although not widely used yet, present a solution that narrows down relevant search results and data correlation on websites.
As some of you may know, our favorite web pioneer has recently announced Google Search Options.

This refined view of data exploits semantic markup conventions making it easy for people to find the data they want. They also have some good documentation on structured data in their Webmasters guidelines section.
So far, it seems like the three most common implementations for rich snippets are reviews, people and products. When coding, property association for data can be added either by naming the element class or adding a property attribute. These two Firefox addons, Operator and Semantic Radar, will display this information.
Here is the recording from the webinar we attended today on the Semantic Web.

Technology

Change on the internet happens faster than you think.

twitter-icon-300x300 (1).jpgAs an avid fan of new (well maintained) web based software, I’ve noticed a common attribute: it changes often, and it changes fast. Yesterday, Alex and I were testing a twitter application we created. He was certain that his followers were not seeing his replies to other followers and I was certain that they could. It turns out that I had enabled a setting in twitter to allow me to see them. We discovered that 98% of users did not have this enabled. This did not fare well for our application. It was back to the drawing board.
To our surprise, and not even a day after, we received news that twitter had removed that setting completely, and in favor of our application!
If you find yourself wishing that a software feature was different, try again soon, it may just be there next time.

Technology

Save Time Launching Programs By Using A Launcher, Quick Launch Or The Superbar

Trying to find a program to launch by browsing through the list of programs can be time-consuming, especially if you juggle applications throughout the day. My first suggestion to overcome this is to drag the program on to your quick launch or dock. Your program is now one click away and will save you time next time you have to launch it.
quicklaunch.jpg
Another method for quickly launching an application is to use a launcher such as Launchy (xp) or Spotlight (Mac). These save you even more time by eliminating the search for the icon on your dock or taskbar as you launch the program by typing instead of clicking.
amarok.png
The third approach is to use the superbar (windows 7). The well thought out new taskbar is very time-saving. You can open an application once, pin it on the superbar and it will always be there when you need it. If it is not open, it opens when you click it, if it is open it goes to the window. It is very intuitive and streamlines the computer use process.
clip_image004_thumb.jpg
Methods like these help trim off time during development, leaving more time to focus on writing code.

Technology

An Idea Is Born, And Kept Alive.

nurture375_7i59.jpg

Like a newborn baby, an idea is sensitive and needs special care. If you are not careful, you can actually kill an idea. On the other hand, if you nurture an idea, you can see it from conception to incubation to realization and application.

Here are some links to guide you through the nurturing process that can help you give constructive feedback.

  1. Ways to kill and ways to help an idea: A good list of what to say and what not to say.
  2. How to kill an idea, or help it grow: More suggestions.

If you have any other tips on helping an idea succeed, please share them with us.

Ai

Reuse Code And Write Reusable Code

reuse-code.jpgBefore I set out to write a significant amount of code, I search high and low to make sure someone else hasn’t already written it.
There are a few ways to do this:
1. Google Code Search
2. Look in your other projects for similar code.
3. Ask around (co-workers, twitter, IRC etc..).
One main reason for code reuse is that it will usually have less bugs than writing it from scratch. It is also evident that reusing code will save time. For example, why write a user authentication system when you can just download one and install it as a plugin. A few hours of research can save hundreds of hours programming. Another advantage to using pre-existing code is that it is usually more abstract and can fit a wider variety of applications. As a bonus, it usually has more features.
When you do have to write code because the problem you are solving requires more customization than anything out of the box, it is best to make sure it is reusable. For example, avoid naming your variables too specific, such as the_yellow_square_at_the_left_of_the_page, instead, create a function similar to shape('yellow', 'square', 'left'). This will allow you to reuse it for many situations. If you wanted a purple triangle on the right you would just write shape('purple', 'triangle', 'right'). It’s much easier to refactor and reuse on future projects.

Technology

Django-svn-revision: A Django pluggable App To Display Revisions In Views

2009-03-11_1116.pngDjango-svn-revision is a Django pluggable app that can be added easily to your existing Django application.   It gives you the ability to embed the revision into the meta tags or any other place in your views.  
This originally started out as just a template tag that would call svnversion every time the page loaded.  Then we refined it to use an __init__.py file beforehand to limit resources.  Finally we converted it into a pluggable app so it will work easily with other applications.  
One useful application is to help out the QA process by enabling testers to match up revisions.  Django-svn-revision is available on our github repository for download. Feel free to use it in your project.  Let us know how it works out!

Technology

Dramatically Reduce Form Submission Spam With A Hidden Field

You’ve set up your site and its contact form and you have started getting traffic. Then one day the person getting the contact requests forwards you a spam submission:
“We are getting tons of these. Is there a fix our web guy can implement?”
Your immediate response may be to install a captcha. That will work, although it is a bit much for a simple contact form.
An alternative solution is to simply include a hidden field.
hidden-field.pngIn your css file add:
#email2 { display: none; }
In your contact form add:
<input class="text" type="text" name="email2" id="email2" />
Finally, in your server side processing script add logic to the effect of:
if request.POST.get('email2','')=='':
    #process form

And that is it. This will trick the spam bot to think that there is an extra email field in your form that needs to be filled out. It will automatically fill it out and submit the form. By filtering any form submissions that have this extra field entered, you can exclude the non-human submissions.

Technology

One Click Process Termination – Task Killer [for Windows]

Every now and then you get a process that just does not want to coordinate. How many times have you seen this?
Untitled.pngThe usual way of going about terminating this process would be to:
Right click the taskbar, select task manager, click process, click end process, click ok? or Press ctrl+alt+delete, open task manager, click process etc…
How about two clicks? That is what task killer enables you to do. It’s a very handy program to quickly clean up your system of processes you don’t need running.
tk_big.gif
This tool is free for Windows users and can save you a lot of time.

Uncategorized