Categories
guide how-to php

Web Developers, You’re Not Alone

Web developers who plan to work alone, or are already doing so have a lot of obstacles to overcome.  One of which is being isolated and having no like-minded professionals to turn to for advice and feedback.   I know this one all too well and have been working alone  for the past 5+ years on various projects.  My current project, FantasySP, has been extremely challenging and rewarding at the same time.  Reinventing how people manage their fantasy sports teams can be quite a challenge.

Smashing magazine wrote a great article detailing why you should not be working alone.  However, some of us have no choice but to work alone. It could be that you are doing a solo project that no one believes in, or you simply do not have enough funding to get anyone else on board.  Fear not, this article will show you where to go to get some helpful feedback.

  1. Stack Overflow
    This is my personal favorite for websites to turn to when you are stuck in a bind.  As a developer on your own you will eventually run into programming problems that you need to get some outside advice on.  Whether it be a MySQL scalability issue or how to parse JSON in PHP.  You are free to post about whatever problem you are having, even newbie questions are often given great responses.  Questions are mostly geared towards programing, but can occasionally touch on server configuration or just plain old HTML questions.

    Best part about the site?  The community is friendly, extremely knowledgeable, and eager to help.  I’ve asked questions on that site that directly and indirectly led to answers.  I can’t say enough good things about this site and suggest anyone who is involved in coding to sign up and participate.   You’ll feel compelled to help others and try to be the first one to get selected as “Best Answer” to rack up points.

  2. Forrst
    Forrst is a site that can be used for networking with like-minded individuals and provide a spot to ask a wide range of questions that usually don’t pop up on Stack Overflow.  This site isn’t specifically limited to questions.  You have the option to post code snippets, screenshots of projects, to gain feedback.  You can even post useful links that you think can be beneficial to others.  Your posts can be private or made public, it’s completely up to you.

    If you are looking for feedback on a blog layout, design mockups, or coding then Forrst can be a great spot to check out.  I do not have much experience here, but from what I’ve seen thus far the community seems helpful and eager to help.  Getting started on Forrst you may feel a bit isolated, since it has a social aspect to it.  The site requires you to apply for it, but after waiting a week or so then you will recieve your invite code in your mail.  However, if you are helpful and engaged in the site then you should gain quite a few followers and get the feedback your looking for.

  3. Dribbble
    Dribbble’s sole focus is to post your designs and try to gain feedback from it’s userbase.  The site is invite only and is fairly difficult to become a member of without getting lucky or knowing someone already on the site.  I am not a member of Dribbble, but a designer friend is and told me the site is less about feedback and more about showing off your awesomeness.  Egos abound.

    So should Dribbble be on this list of helpful sites?  Yes and no. It’s still a great spot to post your designs and get feedback, but if you aren’t up to par then expect to hear about it.  That isn’t necessarily a bad thing if you are a pro, but amateurs beware.

  4. Web Hosting Talk
    Here we have a throwback site that you probably heard of.  Unlike the other sites mention, this is a forum and is geared towards web hosting questions.  Being a developer on your own means making web hosting decisions as well, so this site is a must to learn which places to avoid.

    It may not look the best, but the forum is loaded with people who have lots of experience with multiple web hosts and it even has employees from dozens of hosting companies.  Ask your questions about domain registrars, VPS’s, cPanel, or Plesk and you’ll get lots of great feedback

  5. Webmasterworld

    Another blast from the past, webmasterworld is the place to go for questions related to your server and SEO.  This is a fantastic place to go to learn about harmful webbots that should be blocked and the latest rumors/news about search engines.  Users on this site are anonymous, and for good reason.

    This site is about  asking questions that you probably wouldn’t ask elsewhere.  For example, if you plan to partake in questionable practices such as cloaking content for Googlebot.  The community is helpful and there is a large mix of newbies and experts on the topic of SEO.

    This list is far from perfect and I have a feeling I’ve missed quite a few useful sites.  Be sure and leave comments to other helpful websites to go to for feedback.

Categories
SEO

Google’s Soft 404’s are Inaccurate and Often Times, Outdated

Google has announced that they have implemented Soft 404’s as a way to indicate pages that appear to be 404 (page not found) but come up as 200 (Good Response).   My initial reaction was that’s great news and should help me out when I forgot to include a 404 header response.  So then I went to webmaster tools to have a look.

One example of a Soft 404, according to Google, is this news page about A.J. Burnett of the Yankees.  This is interesting for two reasons, 1) This page is 683 days old, 2) It is definitely NOT a 404 page and has relevant content.  I have about 50 or so of these pages that I think are incorrectly identified as Soft 404’s.

Though, perhaps I didn’t have enough content on the page about Burnett and need a bit more information for Google.  How about a page that shows all the news collected for Joseph Addai in September 2009?  This too is an example of a Soft 404.

Does Google not like the fact that I show/hide content and only list the first few items by default?  Even if they didn’t like how it’s displayed, why would it be listed as a Soft 404?

I am sure many of you have similar situations popping up on your sites as well.  At first glance Soft 404’s sounded great, but in actuality they need a LOT of work in the accuracy department.

Categories
Uncategorized

Lost Sucks

The “cool” thing to say is that Lost was great.  When the Sopranos ended people said how great that show was too.  In both cases, good shows turned into steaming piles of dog shit rather quickly.  So let me take a moment to explain why Lost sucked.

Most of you are too lazy to re-watch season 1 of Lost, but if you do ever get around to it, then you’ll realize that the mood of the show was dark and the island was the main character.  The people on the island had a purpose and each flashback meant something.  In season 1 “the others” were hunting them down and stole Walt.  Ethan stole Claire,tried to kill Charlie, and beat the shit out of Jack.

After all of this, Juliet says in the following seasons that they were just trying to help Claire so she has a successful pregnancy. Ah, so that explains why Charlie was hung by his neck.  Gotcha.  Makes perfect sense.

The problem with Lost is that the writers had no idea what to do with it, so they made up random plots and characters and love stories to fill seasons that really amounted to nothing.

Lost Season 1 was NOTHING like Lost seasons 2+.  It was a different show completely.

The majority of characters on Lost went in completely irrational and illogical directions.  Not one single character at the end of Lost was in any way similar to who he was in season 1.

Instead of answering original questions, like explaining Darma, Walt’s role, the numbers, the powers of the island, why babies couldn’t be born (probably because of the nuke?). etc etc.  None of those were answered, instead they made up random plots, created ridiculous love stories, and destroyed every single person’s character.  Then at the end, answered questions that no one wanted to know or ask to begin with!

Here are some of the more ridiculous character moments….At one point Sun became a badass and wanted Ben dead, even got a gun.  She even managed to become a majority shareholder in her father’s company without him knowing. WHAT?!?!  Even Syiad decided that Nadia was the girl for him, and other time’s Shananon was his girl.  Probably the worst love story was fat-man Hurley and Libby.  Absolutely hysterical writing that had nothing to do with anything.

Yet somehow you all forgive them!?!?!  You overlook all this bullshit and say the show was good.  I could go on and on why each character was ruined but I’ll leave you with this.  Bill Simmons said it was the best drama ever written and he loved all 6 seasons.

It goes to show you what it’s like to be a fan of something and completely ignore all logic to the contrary.  I hate everyone and hate myself even more for watching this bullshit to the end.

Please, watch season 1 again.  You’ll come to your senses.

Categories
jquery

How to Create Page Load Animations Using jQuery

We have all gone to Google.com and noticed that they have a neat little animation to reveal more of their page.  So let me show you how to create similar effects using jQuery and jQuery UI.

We will be using the .animate effect for jQuery UI, along with FadeIn and AddClass.  I’m not going to go into detail about these because the code speaks for itself.  I have created 5 demos to showcase animations that are possible on initial page load.  Each demo page gets less and less animation until it’s just a fadein effect.

Check out the demo animations here.

I certainly do not recommend that you apply these animations for most websites.  However, there are plenty of instances where these animations could enhance your sites.  These may be cool for portfolio websites, temporary splash pages before your site launches, or anything else that you may want the user to really notice.

You can take it a step further and only have the animations show for new visitors.  Once a user has visited, create a cookie for them so they do not see the animation.

I should also mention that these pages DO NOT render correctly with IE7+ users.  This is an unfortunate side-effect when using the .animation class on your entire wrapper div.  It has been tested and renders correctly with Chrome, Opera, and Firefox.

Categories
rant

The Social Web is Using You

The term “social web” sounds great.  A lot of people use social websites like facebook, digg, twitter, reddit, etc.  Every year more and more social websites create buttons for websites to allow users to vote, like, digg, tweet, etc for their site.

While that sounds good at first glance, after a closer look all they are doing is cluttering up websites, slowing them down, and ultimately using us to further control the web.  It’s a harsh truth to realize and some people will refuse to believe that social websites are a growing plague on the internet.  There is TOO MUCH voting going on.  With facebook’s release, web developers have NO CHOICE but to add the button.  How could we possibly ignore 400+ million users of possible exposure?

To Facebook this is a big deal to spread their empire, but to me it’s just another friggin button that I need to consider adding.  If you think about it, it’s no different from any of the other buttons!  They all do the same thing.

The tech websites HAVE to cover it because it’s a facebook announcement.  ReadWriteWeb, Arstechnica, TechCrunch have to create their top 5 articles on what “LIKE” means for the web because they can’t ignore the 400lb gorilla.  The seemingly limitless web is being controlled by a select few websites and there is nothing you can do but accept it and try to make the best of it as you can.

I did NOT want to add the facebook button to FantasySP, but I have no choice and neither do you if you want more traffic.  We are at their mercy.

Categories
directv

Directv Multi-Room DVR (Beta) Review

Directv users have wanted multi-room ability to watch their recorded shows from their dvr on other hd receivers.  Well, now it’s possible.  The Multi-Room DVR beta is probably already on your HD-DVR receiver. Go to your setup menu and look for “multi-room”.

Before I get to how multi-room performs, I *think* the multi-room beta is only available on the black colored receivers (HD and HD-DVR).  If your regular HD receiver is beige, chances are you don’t even have an ethernet port.  If I am wrong, post in the comments to correct me.

Setup Process

The setup process is incredibly easy.  Your HD-DVR and regular HD receiver need to be connected to your router. (If you are out of router ports, I highly suggest buying a 100/1000 8port Dlink switch.  )

Next up, go to the multi-room menu on your HD DVR and opt in for the beta.  It will take a minute or so to begin sharing.  You have the option to name your receiver so you can easily identify it.  On your regular HD receiver, click opt in for multi-room.

That’s all there is to it.  Easy enough, right?

Performance

When selecting “List” for your hd receiver, you’ll notice a bit of a delay (especially the first time).  It’s nothing too serious.  When navigating the listing of recorded shows, you’ll also notice a bit more lag than normal.  The most noticable lag happens when you start to play a show.  I’d say it pauses for about 3 to 5 seconds.  However, once the show begins to play, it’s a different story and there is no performance issues at all during my testing.

Fast Forward/Rewind

I was expecting some major lag, but I was pleasantly surprised that it wasn’t too bad at all.  There is SOME lag, it doesn’t fast forward as fast as being on the actual DVR box.  I tried the 30 second skip 5x and the 4X fastforward and it had noticeable lag from both pressing the button and fastforwarding.  This shouldn’t be a surprise to anyone and it is manageable.

Bottom line: Overall Directv has done a pretty good job at sharing over your LAN to multiple receivers.

Pricing starts at $3 a month.  Some things to keep in mind however.  I suggest using a router with AT LEAST 100mbit speeds.  My particular linksys router is gigabit, but I do not believe the Directv receivers support gigabit connections.  Someone else will have to double check that.

Have you joined the beta as well?  Reply in the comments about your experience.

Categories
Uncategorized

I introduce to you, a new way to rant

It occurred to me that a lot of people have things to rant about. Your first option might be to rant on twitter or facebook, but you “sort of” know those people. Those sites aren’t anonymous and you sure as heck aren’t going to waste your time creating a blog. Enter NerdRANT.

NerdRANT is a bit different than a normal website.  Right off the bat you’ll notice that the box to post a rant is on the top of every page, kind of like Twitter.  It needs to be EASY and painless to complain, right?

Second, you’ll notice that there is no “sign up” button.  There is a sign in button.  Instead of wasting your time with yet another sign up box, NerdRANT authenticate’s users from other services such as Google and Twitter.  All you have to do is already be logged into these things and allow NerdRANT to populate some basic user info.

I know what your thinking.  If It’s grabbing your info, how the hell is posting anonymous?

Each user has the option of submitting a rant or comment with 3 different display names.  Yes, each user is essentially 3 users in one.  You can submit a post based on your userid #, location, or real credentials we collected.  By default, its based on number.  It’s up to you which display name you’d like to use.

If I see a decent amount of people using the site then I will be adding more features.  Until then, rant.

Categories
cpanel

The perl module DateTime could not be installed

For those of you experiencing the sporadic error “[checkperlmodules] The perl module DateTime could not be installed”, there is hope for you! Over at the cpanel forums they have a simple suggested fix that seemed to work for me.

SSH to your server and type in:

/scripts/perlinstaller --force List::MoreUtils

Reply back with your comments if it did or did not work for you.

Categories
jquery

jQuery 1.3+ Autocomplete, The Newbie Guide

This is my first jQuery guide specifically for newbies who either don’t have much experience with jQuery or just need to see an example to understand it. The more examples you read, the better off you are at developing your own stuff.

For those of you hoping to see jQuery UI 1.8’s autocomplete, sorry to disappoint you. I tried to use their new autocomplete built in feature, but was unsuccessful using their new plugin. The autocomplete plugin I will be using was created by Jörn Zaefferer and can be found here.  Even though he has several examples, I still couldn’t figure out how to achieve the autocomplete I was looking for.  My guide also has techniques borrowed from 1300 grams.  My goal is that this guide will be newbie friendly so just about anyone can pick it up from here.

For this example we will be using similar code from FantasySP to search for baseball players. (If you haven’t heard of FantasySP, its a fantasy sports news aggregator that collects player updates from dozens of sites to give you an edge when managing your fantasy team.) When typing a name we want to see what team he plays for and his position:

Let’s take a look at the input box that is used to achieve the autocomplete:

MLB Player Search

Nothing too complex going on here.  The autocomplete=”off” is to make sure the web browser’s autocomplete is disabled.  Now onto the jQuery function. (Unfortunately syntax highlighting won’t be used because it screws with the code. No idea why.)


$(document).ready(function() {

$('#player').autocomplete("/tutorials/autocomplete/auto_complete.php", {
dataType: 'json',
parse: function(data) {
var rows = new Array();
for(var i=0; i
rows[i] = { data:data[i], value:data[i].pos, value:data[i].team, result:data[i].value };
}
return rows;
},
formatItem: function(row, i, n) {
return row.value + ' ' + row.pos + ' ' + row.team +' ';
},
extraParams: {
q: '',
limit: '',
maxRows: 15,
term: function () { return $('#player').val() }
},
max: 25,
width: 200
});
});

Things get complicated when it gets to parse:. Essentially all it’s doing is taking the returned JSON response and organizing it an array so it can be manipulated. I am adding two new JSON values that need to be manipulated, pos and team. They are listed like so: value:data[i].pos, value:data[i].team. The section where it says result:data[i].value is what is returned into the input box when it is selected. We don’t want pos or team included in the box, so we simply use .value.

Next up is “formatItem:”. This is what adds extra styling to the results. It’s fairly straightforward, we are using the same values that were just added to the array in the previous function.

“extraParams:” are the added variables that will be passed to the PHP script. We have q, limit, maxRows and term. q and limit are set to blank because I won’t be using them in this particular example.

Now the easy part is the PHP function:

$var = mysql_real_escape_string(strip_tags($_GET['term']));
$sport = 'mlb';

if($sport == 'mlb' && strlen($var)  >= 1){

	$result = mysql_query("SELECT * FROM players WHERE sport = '$sport' and hisname LIKE '%$var%' LIMIT 25");

	while($row = mysql_fetch_assoc($result)){

        $row_array['pos'] = $row['pos'];
        $row_array['team'] = strtoupper($row['team']);
        $row_array['value'] = $row[hisname];

 array_push($return_arr,$row_array);

}

echo json_encode($return_arr);
}

That is all there is to it folks! Check out the barebones demo. It shows the necessary javascript files needed and syntax highlighting.

If you are great with jQuery and would like to rewrite the javascript function to work with the jQuery UI autocomplete, be my guest. I will glady link to your post or append the code to this post.

Categories
jquery php

jQuery vs Prototype, a newbies perspective

When I first started to dabble with javascript and ajax, Prototype was the only game in town that was making any headlines. So of course I used prototype with script.aculo.us .  I was able to make some simple stuff, but my coding with Prototype wasn’t very elegant and it certainly wasn’t the best way to code things.  But you know what, I’m a javascript newbie and  it worked!

Over the last few years it seems like Prototype development has slowed down a lot, while jQuery is making huge headway.  Every tutorial I see is using jQuery.  So I FINALLY decided to buy a book and learn it.  They are vastly different to say the least.  My prototype code had an awful lot of onclick=”” kinda stuff inside the HTML, while jQuery let’s your code appear more transparent and natural.  I love being able to pass my own variables using html attributes.

I went through a lot of WTF, why isn’t this working moments during my first attempts at coding using jQuery techniques.  However, overall I love jQuery.  Now my code is optimized, cleaner, and I feel as though I am not limited in what I want to do.  If I can dream it, I can code it with jQuery.  Not a small feat for someone like myself.

For example, with Prototype I simply didn’t know how to show a loading gif when an ajax command was in use.  It sounds simple and a lot of you are probably thinking what an idiot.  I turn to jQuery and my first attempt I find that it’s so simple to achieve.  Not only that but I can easily manipulate form values, check their validity,and pass them along with no problem at all.

To learn jQuery I completely rewrote all of my javascript code for FantasySP.  It took me about 2 LONG weeks, but now I feel as though I can code just about anything I want.  My code is a mere 7kb in size now, compared to 49kb in Prototype.  I am actually making reusable functions now and you can too.

My only quibble with jQuery is that coding an advanced autocomplete function is a huge pain in the ass.  Prototype let me customize it from the backend (PHP), whereas jQuery forced me to use JSON and adding extra javascript code.

So for those of you who haven’t used a framework before, or are still using Prototype, give jQuery a try.  You won’t be disappointed.