Articles

Six Sweet Resources for Web Developers

Authored by Calvin Freitas on June 27th, 2009

If you’re a web developer, you need access to information to do your job. Every day, you’re coding or debugging a new application, script, or program of some kind. You need access to documentation, bug reports, workarounds, and code examples. And, occasionally, you need to de-stress. Here are the sites I’ve incorporated into my workflow to help me get things done.

Q&A

Stack Overflow
The best site I’ve found for getting questions and answers about anything and everything code-related is Stack Overflow. As of this post, over 200,000 questions have been asked on the site.

Stack Overflow is easy to search because all questions are tagged. If you’re looking for answers to a Perl question about the GD image library, you can search for [Perl] GD and see if any previously asked questions answer the question you have.

For system administrators, Server Fault was recently launched as a sister-site to Stack Overflow.

Source Code

GitHub
GitHub hosts source code for numerous open source projects and, for paying customers, private code hosting. GitHub uses git at their distributed version control system.

GitHub is useful in several ways.
1) Host open source projects for free
2) “clone” (i.e. copy) code in order to use it or if you plan on contributing to the code base
3) Private code storage for paid accounts — store all your code in one place

A few open source projects I follow on GitHub are Prototype (Javascript library), Scriptaculous (Javascript visual effects), Scripty2 (the next version of Scriptaculous), and Slicehost-DNS (a Ruby script to automatically generate DNS records for domains hosted on Slicehost).

A few good git tutorial sites if you want to start learning it: GitHub Guides, git ready, and GitCasts.

News

Hacker News
Hacker News is a Digg-like site for “hackers.” The site is run by Y Combinator, a seed-stage investment firm started by Paul Graham. It has numerous links to articles about code, languages, entrepreneurship, business, and numerous other topics.

It has been a great resource for me and has expanded my exposure to information about programming languages, source control management, entrepreneurship, and more. The resources about git referred to earlier in this post were all gleaned from HN (with the assistance of SearchYC).

Perl-specific Sites

I’ve been using both of these sites for over ten years now and they’re absolutely essential resources for Perl developers.

CPAN is the centralized repository for Perl modules. You can search it and find modules that do all kinds of things.

PerlMonks is a Perl community that helps each other with questions, has code snippets, and talks about anything and everything Perl-related.

What are your essential development resources?

As a developer, what are your essential websites and any other resources you use to make your life easier? Post them in the comments!

HowTo: Make IE8 Display Your Website in IE7 Compatability Mode

Authored by Calvin Freitas on March 16th, 2009

To make your website or web page look the same in Internet Explorer 8 as it does in Internet Explorer 7, include the following line in the <head> tag on your page.

<meta content="IE=EmulateIE7" http-equiv="X-UA-Compatible" />

This code tells IE8 to render the page in IE7 compatibility mode. That way you can just worry about making your site work in IE6 and IE7 and not trying to support three concurrent generations of the web browser.

Microsoft has more information about Compatability View for IE8 on the IEBlog.

You can also tell IE8 to apply compatibility mode by setting the header in your web server. In Apache, you can do this by including the following line in your site config file (or apply it just to a specific directory or page if needed). Make sure you have the Headers module installed.

Header set X-UA-Compatible "IE=EmulateIE7"

More information is available in the Internet Explorer Compatability Center.

(Thanks to @kevmoo (Kevin Moore) for initially answering my question about this topic.)

Optimism

Authored by Calvin Freitas on March 7th, 2009

“My life has been a series of well-orchestrated accidents; I’ve always suffered from hallucinogenic optimism.”
- Evan Williams, founder and CEO of Twitter

You can follow me on Twitter.

Source: New York Times

Updated Projects List

Authored by Calvin Freitas on February 18th, 2009

I’ve updated my projects list to include my current employment as well as a few independent projects I’ve been working on lately. Be sure to give it a look.

Everyone’s a Hero in Their Own Way

Authored by Calvin Freitas on October 29th, 2008

Who are your heroes?

When I was growing up, I watched a lot of football and baseball. My heroes at the time were San Francisco 49ers wide receiver Jerry Rice and the Oakland A’s leadoff hitter Rickey Henderson.

These men were my heroes because they inspired me with their athleticism and the way they dominated their respective sports by pouring their lives and energy into becoming the best players they could be. Jerry Rice has several NFL records including most career receptions (1,549), most career receiving yards (22,895), and most career touchdown receptions (197).

Similarly, Rickey Henderson dominated baseball with his skill of stealing bases. He holds the career record for most stolen bases (1,406) and most runs scored (2,295).

In the years since my childhood, my priorities have changed as have my ambitions and focus. However, there are still lessons I can take from my childhood and questions I can ask myself moving forward.

Who is at the top of their game in your industry?

Lately, I’ve spent time reading about startup founders through books and blogs, and I’ve also talked to local tech startup founders. Many men and women running their own businesses who inspire me for a variety of reasons.

1) Guts – People who start a small business inspire me because of their guts. It takes a lot of work to start a business, and even more work to find revenue, generate profit, and grow the business.

2) Community – Not all businesses are concerned with community, but many businesses in Seattle do show their care for the community through their involvement in a variety of local events.

One example locally is Nathan Kaiser of nPost. Nathan runs his business as a way for people to find jobs in the tech startup industry. NPost also sponsors pub crawls and holds frequent events with company demos and networking. These events aren’t solely about self promotion for the attendees — I’ve met several people who are also web developers, have had great conversations, and begun new friendships.

3) Success – It’s exciting to see founders who are passionate about their product and idea attain success.

Matt Mullenweg (wiki) began developing WordPress blogging software in 2002, left his day job in 2005, and founded Automattic in late 2005. The company and its software have been growing ever since to be used by more and more people with WordPress.com hosting millions of blogs, and WordPress open source software being downloaded millions of times.

4) Hope – One of the guiding themes of my life is hope. I’m always looking for sources of hope from stories, books, movies, and mostly importantly from real life examples.

My parents have been great examples to me. I’ve watched my dad and mom for 26+ years and have seen them go through ups and downs, but they always kept our family moving forward, kept my brothers and I safe, taught us, encouraged us, and helped us to grow into the fine people we are today ;) .

You Might Be a Hero, Too
In the case of football, only one person can hold the record for most career touchdown receptions. In the case of business, there can only be one richest man in the world.

But we all have roles, we all have skills, we all know people, and we all have ideas. You can get help and give help.

Someday, you could be somebody’s hero. Maybe you already are.

(Title borrowed from the lyrics to “Everyone’s a Hero” from Dr. Horrible.)

Northwest Entrepreneur Network Blog Redesign

Authored by Calvin Freitas on August 12th, 2008

The Northwest Entrepreneur Network wanted to integrate the overall look and feel of their website into the NWEN Blog design. Originally, the blog used the default Wordpress theme.

I have taken the NWEN website look and feel and adapted it to become a Wordpress theme which applies to the entire NWEN Blog.

The theme is standards compliant and works in Internet Explorer 6+, Firefox, Opera, and Safari.

NWEN Blog Theme

NWEN Blog Theme

View a screenshot of the blog design or go look at it live on the NWEN Blog now.

FuseTop

Authored by Calvin Freitas on July 22nd, 2008

I’ve added FuseTop to the projects page and a FuseTop demo is available.

FuseTop allows a website to display information from multiple sources in a centralized location. FuseTop displays the title, description, most recent articles, and subscription options for each site. On mouseover, each article will display a tooltip with the first part of the article content to allow the user to more easily determine if they want to visit the link.

FuseTop was developed using PHP, SimplePie, XHTML, RSS, and CSS on an Apache server.

Anti-Spam Solutions for Wordpress, Movable Type, and the Rest of the Web

Authored by Calvin Freitas on May 29th, 2008

Comment and trackback spam began propagating through the web in 2003 and they haven’t stopped spreading since. Jay Allen created one of the original comment anti-spam tools which worked by allowing users to keep a blacklist and disallow comments from known spammers.

It’s been five years, and the tools for combating comment spam have evolved. Instead of relying on a blacklist as in the days of yore, newer anti-spam services use a variety of tests and heuristics to decide what category a comment falls in.

Comments are classified either as “ham” (a valid comment), “spam” (a bad comment), or “unknown” (unsure). Generally, the ham comments are allowed to go straight through, spam comments are blocked, and unknown comments are held for moderation.

Instead of being built into publishing platforms such as Wordpress or Movable Type, most anti-spam solutions are run as web services. The publishing platform will either come with an anti-spam plugin or have some available that will talk to the remote web service to determine the status of a comment.

Here I present three of the best anti-spam tools currently available.

Akismet

Akismet has long been the best anti-spam tool available for use with Wordpress. Akismet is free for personal use, but for commercial use a license is required. Akismet is most commonly used as a Wordpress plugin, but it is available for other platforms including Movable Type, Drupal, phpBB, Joomla, and more. Libraries have been developed that enable its use in Java, .NET, PHP, Python, Ruby, and more.

Mollom

Mollom is new to the anti-spam game and is is currently in public beta. It originated as a module for the Drupal content management system. It combines many of the techniques discussed above, but to ease the process of moderation also incorporates a CAPTCHA on “unsure” comments to test if the comment is coming from a human rather than a spam bot.

A Mollom plugin for Wordpress — WP Mollom — is under development by Matthias Vandermaesen.

Mollom libraries have also been developed for Java, Ruby, Python, .NET, and PHP.

Final pricing for Mollom hasn’t been determined, but according to the pricing page, “The basic Mollom service will be free — yes, as in beer — but it will be limited in volume and features.”

TypePad AntiSpam

TypePad AntiSpam became the newest player in the fight against spam when it was released today (5/29/2008). Six Apart has been doing testing of the service for a few months and today declared it ready for open beta.

Having glowing words from TechCrunch won’t hurt early adoption of the service, and you can’t beat the price. “TypePad AntiSpam beta is free for any type of use, personal and commercial, regardless of how many comments you receive.”

Coming out of the gate, TypePad AntiSpam has plugins for Movable Type 3 & 4 and Wordpress 2.5. Six Apart is encouraging developers to get involved and create libraries for languages and plugins for other platforms.

Coming to Conclusions

Up until now, I have been using Akismet to protect my sites from spam. However, I have decided to try TypePad AntiSpam based on the price, compatibility with the Akismet API, and because it has been released as open source. Thus far, I have had no problems.

If you’re looking for the most established solutions, at this point Akismet has been around longer, isn’t a beta product, and has a reputation for stopping comment spam. As Mollom and TypePad AntiSpam mature, they will garner more attention and usage throughout the web.

Getting Started With Wordpress

Authored by Calvin Freitas on May 15th, 2008

To get started with a fresh install of Wordpress 2.5.1, here is a list of some handy resources.

Initial Resources

Design Resources

Enhancing Wordpress

If you need any help setting up, installing, or customizing Wordpress for use as a blog or content management system for your own website, please contact me and I can provide you an estimate for the work you need completed.

Upgrade to Wordpress 2.5: Done.

Authored by Calvin Freitas on April 6th, 2008

I have upgraded to Wordpress 2.5 on this blog. The process was simpler than I expected. One thing Wordpress has done very well is ease the simplicity of upgrading. In this case, the lack of changes to the database schema made it even simpler upgrading 2.3.3 to 2.5 than any previous upgrade I’ve done. Summarized: remove the wp-admin and wp-includes directories, replace it w/ the wp-admin and wp-includes from the new version, copy over the updated files in the main Wordpress folder, and then run the wp-admin/upgrade.php script. Done!

Of course, you’ll want to check your plugins before you upgrade. I had no trouble w/ the ones I use on this site (Akismet, MyTwitter, Contact Form 7, etc.)

One nice feature of the new version of Wordpress is the built-in ability to update plugins automatically. On the new version of the Wordpress Plugins screen, any plugin that needs updated will tell you and also provide a link to “upgrade automatically.” I tested it out for two plugins: I updated to the new MyTwitter 1.6 beta and the newest release of Contact Form 7.

The best change in Wordpress 2.5 is the overhaul of the admin interface. It has a cleaner interface, improved post editor, better support for adding media to posts, improved tagging, and miscellaneous tweaks here and there.

If the enhanced features would improve your life and you’ve got about thirty minutes to spend upgrading it and testing out the new capabilities, I recommend giving Wordpress 2.5 a try.