Client Support: Keywords and META

Q: How do I determine the words that allow people to find my website easily? Is that through my wordpress back end?

A: What you are looking to do is alter your HTML head code by adding meta tags. Meta is the information used by websites like Google to learn about your web sites.

 

The “Make-It-Fun Community Web-Dev Thinkubator”

Temple_Grandin_at_TEDTEDTalks. What a great execution of a fabulous concept: give brilliant minds a forum to speak to the world. Recently I watched a talk by Temple Grandin (The world needs all kinds of minds), legendary livestock facility designer, about how to engage the minds and interests of kids on the autism spectrum.  Not only did it make me question where on the spectrum my brain lies (pattern thinker with highly social learned behaviour?), it also inspired me to use my skills in web development, project management, community organizing and idea generation into something to help engage youth into the awesome power gained through knowing how to create a web site.

Elevator Pitch:
The Make-It-Fun Community Web-Dev Thinkubator is a free short-term Summer workshop for marginalized youth with limited access to computer resources to learn how to think about and execute a web project that will benefit their community.

This will be an entry level work shop to teach the skills of brainstorming, forming project goals & requirements, planning, and  non-programming (WordPress) web site creation. The applicant will be required to submit their idea for a website that will benefit their community, of which concepts may or may not be adopted by the workshop as part of the end product.

My goal for this project is to show kids how fun web development is and to have work together to develop a project that will be used in the real world to help their community.

The expectation is that the kids will get to experience and find their strengths within the follow roles:
– Product development
– Social media marketer
– Technical analyst
– Web Developer
– Graphic Design

The next step is to find a home for this project. Following that will be the challenge of finding mentors who will volunteer to share their skills as developers.

 

Google Map API V3 – Lat and Long values change

I was struggling with this for a while and have now learned 2 valuable things.

1. I solved my problem where Google Maps API was changing the internal variable names of it’s Latitude Longitude object, which was intermittently causing me errors.

2. How to turn an object’s keys into an array, and then use the arrays to call the object with variables.

The two step process looks like this:

  1. Loop through the object and push into a new array:
    var newArray = [];
    
    for (var key in latLng) {
    
       newArray.push(key);
    
    }
  2. Call your object with variable values with the square bracket syntax, dot notation breaks:
    var lat = latLng[newArray[0]];
    
    var lng = latLng[newArray[1]];

Find my answer on StackOverflow here: http://stackoverflow.com/a/14967355/994397

 

Ye olde ‘Measure Twice, Cut Once’ strategy

Leading a team has taught me that there is rarely a poor worker, just different skills and styles.

 

Buckets Of

Screen Shot 2014-01-23 at 4.40.48 PM

Honestly, I spent a bunch of time making this single page site kick-ass, and then my server was hacked within a month by a demon who overwrote my index.html with their notice they were hacked. This is a simple band site that was rebuilt in a hurry. The big question… where did my dev files go? This is why we use GitHub for repos!

http://www.bucketsof.com/

 

Map comment location with geocode on Google Map

In this post you will see how I cobbled together information from other genius people to create a plotting of a commenter’s supplied geographic location. To do this I extended the comment field to accept location, built a new feed template formatted for GeoRSS and used the Google Maps V3 plug-in to create a short code.

I’m not going to tell you this is the BEST way to do it, or that there aren’t other ways to do it. But I will tell you that it gets the job done. Any suggestions on how to improve this process are much appreciated.

Here are the elements I used to achieve this. Let’s talk about them:

1. Comprehensive Google Map Plugin

Install and activate this plug-in. It touts itself as a simple and intuitive, yet elegant and fully documented Google map plugin that installs as a widget and a short code. No limited plugin editions or limited functionality! This is the full version of this free and premium plugin.

Get it: http://wordpress.org/extend/plugins/comprehensive-google-map-plugin/

2. Creating a geoRSS feed from WordPress

Take a look at this back-to-basics tutorial for generating a geoRSS feed from WordPress, correctly formatted for use in Google Maps KML layers.

View it here: http://www.strangerpixel.com/2011/03/creating-a-georss-feed-from-wordpress/

3. Search MySQL

If you aren’t so handy with the database search query syntax of WordPress, here’s something to look at. I didn’t use code from this directly, but it gave me an idea of how to write the query properly.

View it here: http://stackoverflow.com/questions/4443280/php-mysql-search-query

4. The Google Geocoding API for php

Geocoding is the process of converting addresses (like “1600 Amphitheatre Parkway, Mountain View, CA”) into geographic coordinates (like latitude 37.423021 and longitude -122.083739), which you can use to place markers or position the map. The Google Geocoding API provides a direct way to access a geocoder via an HTTP request. Additionally, the service allows you to perform the converse operation (turning coordinates into addresses); this process is known as “reverse geocoding.”

Find the quick API url for doing the job, plus MUCH more here: https://developers.google.com/maps/documentation/geocoding/

5. Putting it all together:


$id = '91'; //hacky way to pass the post id, as a GET will not work via the GeoRSS ingestion:

echo ‘‘; ?>

 

 



get_results($wpdb->prepare(”
SELECT $wpdb->posts.*
FROM $wpdb->posts
WHERE ID = ‘”.$id.”‘
“));
?>

post_title; ?> – Jamaica Plain, MA


42.3068523 -71.1121722
42.3068523
-71.1121722

get_results($wpdb->prepare(”
SELECT $wpdb->comments.comment_ID, $wpdb->comments.comment_content
FROM $wpdb->comments
WHERE comment_post_ID = ‘”.$id.”‘
“));
$count = count($comments) – 1;

for($i = 0; $i get_results($wpdb->prepare(”
SELECT meta_key, meta_value
FROM $wpdb->commentmeta
WHERE meta_key = ‘_iti_ccf_post_location’
AND comment_id = ‘”.$comments[$i]->comment_ID.”‘
“));

$countj = count($commentmeta) – 1;
for($j = 0; $j meta_value;
$address = explode(‘ ‘,$address);
$address = implode(‘%20′,$address);

$geocode=file_get_contents(‘http://maps.googleapis.com/maps/api/geocode/json?address=’.$address.’&sensor=true’); $output= json_decode($geocode);
$geoLat = $output->results[0]->geometry->location->lat;
$geoLon = $output->results[0]->geometry->location->lng;
$coords = $geoLat.’ ‘.$geoLon;
?>

post_title; ?> – meta_value) ?>


comment_content?>


 

swfupload not working in ie9

This is a sneaky issue. Most of the time IE9 resolves issues, but in this case… the trusty ol’ SWFupload.js script stopped working in IE9. What happens is the the browse button simply doesn’t execute, therefore not allowing the user to select a file to upload.

Thank goodness for Google.

How to fix this:

Open the file and search for: SWFUpload.prototype.cleanUp
Change: if (typeof (movieElement[key]) === "function")
To: if (typeof (movieElement[key]) === "function" && key[0] <= 'Z')

Easy peasy, right? Only if you’re really good at this stuff and even understand what that is doing. Did you even know that this was using prototype? I definitely thought it was only jQuery.

This answer was found on the swfupload support site: http://code.google.com/p/swfupload/issues/detail?id=348

 

Ladies Learning Code mentorship

I recently participated in an intensive JavaScript mentorship program with the super excellent and so well done Toronto organization Ladies Learning Code. My role was a simple one, be available for a 9-5 work shop attended by women who are learning JavaScript from the ground up. Two lead instructors, Pearl Chen and Christina Truong, put together a presentation that would rival any first year university level JavaScript course. The mentors, 1 per 4 students, helped roughly 60 attendees get through the heavy concepts and actually produce working code.

Being a female (or, close enough) in the web industry has always left me a little isolated feeling. Not only do I not get invited to play foozball with the boys, I also lack a large peer network in this field. Not one of my female friends is a programmer. The opportunity to meet and network with women in this field is extremely valuable to me. The concept of the group is also one of great importance. Women offer so many different facets to development; process, details, organization, logic. Yet enrollment of women in tech fields is actually declining! Declining since when? I can’t tell you that stat, there never really was a pinnacle of women in tech.

I hope to find my skills useful in more than just the JavaScript program because lending my energy to this group is more than good for me, and hopefully very good for others.

If you are a lady, or man actually (they don’t actually discriminate on gender), and want to start a new awesome web skill you might find this a great launch pad: http://ladieslearningcode.com/

 

How to connect to a web server with FTP

Here is a basic tutorial on how to connect to a remote web server from your computer using an FTP client.

 

Hiding keywords in HTML = bad practice

It is inadvisable to hide text on the HTML in the method previously used on aura.net. Google uses a clever algorithm and actually penalizes sites that try to trick it, placing keywords in hidden text is against search engine guidelines. A quick Google search for ‘hiding keywords in html’ will show many discussions regarding how Google ‘will get you’ and regards the practice as equivalent to ‘spamming’.