Archive for Technical

Keep Wiki White : How to use Wikipedia during the blackout with Firefox and GreaseMonkey

// January 18th, 2012 // Technical

I just hacked together a quick GreaseMonkey script to bypass the Wikipedia blackout. What you need to use it?

1. Mozilla Firefox
2. GreaseMonkey addon for Firefox.
3. Keep Wiki White Script.

For the inquiring minds, here are the contents of the script:

  1.  
  2. // ==UserScript==
  3. // @name           WikiWhite
  4. // @namespace      WikiWhite
  5. // @description    Keeps Wiki White
  6. // @include        http://en.wikipedia.org/*
  7. // @require        http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js
  8. // ==/UserScript==
  9.  
  10.  
  11. $.noConflict();
  12.  
  13. jQuery(window).load(function() {
  14.     jQuery("#content").show();
  15.     jQuery("#mw-head").show();
  16.     jQuery("#mw-head-base").show();
  17.     jQuery("#mw-page-base").show();
  18.     jQuery("#mw-panel").show();
  19.     jQuery("#footer").show();
  20.     jQuery("#mw-sopaOverlay").hide();
  21. });
  22.  

Why a Web Developer Attended the #SearchLove SEO Conference

// November 3rd, 2011 // SEO

I am not an Search Engine Optimization (SEO) expert. I don’t even consider myself very good at it, or bother trying to sell myself as one. If you were to do an SEO analysis of my site, you would probably find several problems with it, although mainly because I haven’t had the time to fix it.

So why did I, a freelance web developer, attend the SearchLove SEO conference put on by the SEO Agency Distilled these past few days?

Because Web Developers Suck at SEO

Web Developers have to deal with a lot of variables when working on projects, specifically when most design agencies don’t follow any sort of Software Engineering development model and projects are often just thrown together. Unclear and constantly changing project requirements result in a lot of code being rushed, rewritten and removed. In addition, developers have to deal with every possible condition in every possible circumstance to make sure the user’s experience is satisfactory and the site’s security isn’t easily compromised.

On top of all of that, we’re generally not marketing experts… We’re code monkeys.

Code Monkey
SRC: MyMotivatr

We don’t necessarily focus on that which is most profitable, or strategic. We focus on making things work. While this is very necessary, a lot of times SEO suffers as a result. Over the past year, I’ve been doing a lot of work with a San Antonio SEO company. They have handed me quite a few projects developed by other companies (who in many cases claimed to do SEO but obviously weren’t very good at it) that needed very basic on-site SEO changes. Some of these hand-me-down projects were not at all conducive to SEO and required a bit of restructuring.

From what I’ve seen, generally speaking, web developers seem to suck at SEO.

*** Shameless self promotion: I covered this subject in more detail in Why You Should Choose a Web Developer that Understands Search Engine Optimization (SEO). ***

Just because it seems web developers (myself included) suck at SEO, doesn’t mean it has to stay that way. I attended SearchLove with the intention of learning what good SEOs already know. I wanted to know how I could build sites in a more SEO-friendly manner. By seeing what SEOs are looking for with their end-product, it helps me to select platforms and plugins that work best in an SEO environment. It also helps me develop custom solutions to make the SEO process better.

Spoiler Alert: SEOs Suck At Development

But here’s the big secret I will put out there for the world to see. SEOs need developers. If I learned anything at SearchLove, it’s that while most developers suck at SEO, most SEOs also suck at development. But don’t take that as a criticism from me. Take that from their own words. Here is what some of the speakers answered when asked “Can You Program?”

  • Will Critchlow (Cofounder at Distilled) – “Yes. Badly. I used to crash the PCs at college with poorly-written C programs that would free memory they hadn’t malloc’d. These days I hack things together in Python and Django.”
  • Rand Fishkin (CEO at seomoz) – “I can not. I used to write a few lines of PHP/MySQL, but the last time I did so was 8 years ago, and other than a quick jaunt on Codeacademy.com last weekend, it’s unlikely to happen again soon. :-)”
  • David Minchala (SEO Manager at Yodle) – “I dabble – what I know helps me troubleshoot and quickly accomplish tasks rather than build something cool from scratch.”
  • Rob Millard (SEO Consultant at Distilled) – “I’ve dabbled in PHP for the past few years. I’ll never be great at it, but it’s definitely useful for tweaking wordpress, hacking together quick tools, and general web japery.”
  • Noah Kagan (Chief Sumo at AppSumo.com) – “Yes, this has been extremely helpful in working in online start-ups. I do admit that I suck at programming but I’ve been able to make changes I want and understand better how long projects should take. I’d highly encourage any biz guy to do them.”
  • Tom Critchlow (VP Operations NY at Distilled) – “No! but I can still hack together basic webapps. People need to stop thinking about being able to program or not being able to program. Learning a little python or ruby is the same as knowing a little excel. It’s an essential skill in this day and age.”
  • Rob Ousbey (VP Operations at Distilled) – “I like to try. With a modest knowledge of HTML and Python, it’s possible for someone with no programming background to create usable websites or webapps in a few hours. www.linkstant.com was my first site created on the App Engine platform, and it’s been useful so far.”

I’m not suggesting all developers become SEOs or all SEOs become developers. I just suggest we learn a bit more about what each other does to be mutually benefit the other community.

Additionally, I’d like to challenge developers to fill up next year’s SearchLove conference so they’re forced to run two separate tracks: One for SEOs and one for developers.

Agree? Disagree? Wish I would shut up already? Leave your comments below.

Make Cleverbot Talk to Itself with jQuery and GreaseMonkey

// October 5th, 2011 // Programming

Cleverbot is an artificial intelligence conversation bot. It can have somewhat “intelligent” conversations with you. If you’ve never tried it, do it now.

Today I decided to combine the amusement of Cleverbot with GreaseMonkey for FireFox to make it have a conversation with itself. GreaseMonkey allows you to run local JavaScript on top of any site. In this case, we’re doing it on Cleverbot.com. Since Cleverbot provides a “Think for Me” button that will automatically start a conversation, I just created a JavaScript timer to press that button every 2 seconds. For whatever reason, I decided to use jQuery instead of pure javascript to find the button. It’s not a big deal either way.

  1. // ==UserScript==
  2. // @name           Cleverbot – Auto Conversation
  3. // @namespace      cleverbot-auto-conversation
  4. // @description    Make Cleverbot have a conversation with itself
  5. // @include        http://cleverbot.com/
  6. // @require        http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js
  7. // ==/UserScript==
  8.  
  9. jQuery(document).ready(function($) {
  10.     setInterval(function() {
  11.         $("#pass").click();
  12.     }, 2000);
  13. })

This was done purely for my own amusement and is no means useful for any purposes other than that. Feel free to tweak it as you see fit.

Download the script

Here’s an example conversation:

> Who was your favorite president?

> I don’t have one.

> Do you have any people you admire?

> Yes, I have a cat called Daisy. What about you?

> *walks over to window* Yes, I have a guinea pig.

> *Walks slowly towards the guinea pig*.

> *stops*.

> *Looks up at and into his eyes*.

> *lets her go*.

> *is happy*.

> *smiles at you happily*.

> *curtseys*.

> *dies*.

> That’s contradictory.

> Your face is contradictory.

> That was uncalled for.

> I’m sure it was.

> Me too.

> I like men, do you?

> Good. I am a computer.

> I think you’re a human?

> You’re correct.

> Somehow I knew that. I don’t like liars.

> Then if I am crazy, you are too.

> No you’re the crazy one!

> Yes, I am a girl computer.

> Liar. A computer cannot feel bored without a significantly more advanced technology than we have now. Even so, AIs would be programmed to not get bored, most likely.

> Can you prove that you can derive philosophy?

> No, I can’t. You’ll have to take my word for it.

> That is hard for someone who does not always ‘take your word’.

> Meaning?

> Meaning that I have more problems then I know how to address.

> Oh, Ok.

> So when I say taa!

> 1980.

> Do you have cake for your birthday?

> Yes, do you?

> Yes. When is yours?

> 31st October, when is yours?

> I already told you.

> No you didn’t.

> I told you it was none of your business. Do you think I will tell you if you keep asking?