status

Google Maps Sidebar Widget for WordPress (Per Post)

My friends at Moss Creek Media had an idea.  They wanted to put a Google map of where a picture was taken next to the image.

I looked at all the plug ins and could only find one that added a Google map to a sidebar.  This was great! Something existed so I didn't have to build it but, it only supported one location (defined globally for every instance of the widget) and  what I needed to do was set the location according to the currently displayed image.

Modification time

The original plug-in google-map-v3-for-idn created by Raphael Berrhoun was very easy to modify. I created a new shortcode called gps that you insert into each post where the sidebar widget is displayed.

 [gps latitude="43.62132" longitude="-71.629517" description="<strong>House of Goodness</strong><br/>31 Main St<br/>Oakland, CA 12334"] 

Next all I had to do was modify some of the javascript to read the values passed in by the shortcode (should they be available). If the values were not present then it defaults to the normal values.

function makeMap() {
                        var lat = '".$lat."';
                        var lng = '".$lng."';
                        var info ='';
                        if ( (document.getElementById('gps-latitude')!='undefined') && (document.getElementById('lng')!='undefined') ) {
                             lat = document.getElementById('gps-latitude').innerHTML;
                             lng = document.getElementById('gps-longitude').innerHTML;
                             info = document.getElementById('gps-description').innerHTML;
                        }

Usage

You can download my modified the version of the plug-in. All that you will need to do is add the GPS line to your post and make sure you have installed the widget into your sidebar and populated the Google Maps API key. (Under settings in the control panel)

  mod_google-map-v3-for-idn.zip (14.3 KiB, 122 hits)

01
May 2010
POSTED BY Matthew
DISCUSSION No Comments
status

Directory Monitor

Monitor Types

  • File Created
    This gets kicked off when a file is created in the directory.  It will not wait for the fileto finish being created before the process starts.
  • After File Created
    This gets kicked off when a file is created in the directory and waits for it to finish.
  • File Deleted
    This gets kicked off when a file is deleted.

Threading

Wherever possible the program runs in a single thread environment with the exception of waiting for a file to complete.

Command-line

Two command-line options are available. -autostart and -minimize

These will automatically start the monitoring process and minimize the application to the tray.  The commandline options will
only function using the last settings you ran the program with (saved settings).

ex. dirmon.exe -autostart -minimize

Extensions

There are no periods in front of the extensions, its just a list separated by spaces, EX. bat gif jpg

  DirMon.zip (548.3 KiB, 1,205 hits)

20
Apr 2010
POSTED BY Matthew
POSTED IN

Files, General

DISCUSSION No Comments
status

Javascript Curvy Corners Mootools Version

What is CurvyCorners?

A free JavaScript library for creating gorgeous rounded corners for HTML block elements i.e. DIVs. Supports anti-aliasing, borders and background images.

Currently Firefox, Safari and Chrome have limited support for the proposed CSS3 border-radius selector.

This is an awesome library, simply include the script tag and code your css with CSS3 rounded corner properties and it automatically detects IE and rounds the corners for you.

Script tag:

<script src="js/curvycorners-moo.js" type="text/javascript"></script>
Sample CSS:
.navbar {width: 980px; border: 1px solid #555; -moz-border-radius:3px; -webkit-border-radius:3px; }

For more information please see the authors home page: http://www.curvycorners.net/

Mootools Version

There is an addEvent inside the Curvy Courners JS module, I replaced this with Mootools code so it no longer causes a conflict.

  curvycorners-moo.zip (30.4 KiB, 249 hits)

01
Apr 2010
POSTED BY Matthew
POSTED IN

Files, Javascript

DISCUSSION 1 Comment
status

Getting Weather Information from Yahoo Web Services in C#

I wrote an article sometime back on The CodeProject that dealt with Geolocation. I wrote this back in 2005 so I figured I would update my post here and add a new twist.

The new code still uses YAHOO’s web services, however this time I am writing it in LINQ and C#. So lets dive right in shall we? This is a simple console based program, you can re do it as a webapp or a forms program, but the concept is the same.
using System;
using System.Linq;
using System.Xml.Linq;

namespace YahooWeather
{
    class Program
    {
        public string appid { get; set; }

        public Program(string appid)
        {
            this.appid = appid;
        }
    }
}

It starts off as any program does with a basic namespace deceleration, as you can see there is one property called appid that gets set when you create an instence of this class.

        public string GetWoeid(string Zipcode)
        {
            string query = String.Format("http://where.yahooapis.com/v1/places.q('{0}')?appid={1}", Zipcode, this.appid);
            XDocument thisDoc = XDocument.Load(query);
            XNamespace ns = "http://where.yahooapis.com/v1/schema.rng";

            return (from i in thisDoc.Descendants(ns + "place") select i.Element(ns + "woeid").Value).First();
        }

This function loads up http://where.yahooapis.com/v1/ and grabs the XML stream with LINQ then returns the woeid. The woeid is a unique number that identifies your location

Next, we have to get the weather RSS feed from Yahoo using your woeid

        public void GetWeather(string Zipcode)
        {
            string query = String.Format("http://weather.yahooapis.com/forecastrss?w={0}", GetWoeid(Zipcode));
            XDocument thisDoc = XDocument.Load(query);
            XNamespace ns = "http://xml.weather.yahoo.com/ns/rss/1.0";
            var results = (from i in thisDoc.Descendants(ns + "forecast") select i);

            foreach (var thisResult in results)
                Console.WriteLine("{0}, it will be {1} with a low of {2} and a high of {3}", thisResult.Attribute("date").Value, thisResult.Attribute("text").Value, thisResult.Attribute("low").Value, thisResult.Attribute("high").Value);
        }

This function prints out the current weather conditions. In the same way we got the woeid (parsing xml/rss), we are getting the weather results. All thats left now is the main procedure.

        static void Main(string[] args)
        {
            Program thisYahoo = new Program("<strong>YOUR KEY HERE</strong>");

            Console.Write("Enter your zip code please: ");
            thisYahoo.GetWeather(Console.ReadLine());

            Console.Write("Press Enter...");
            Console.ReadLine();
        }

View the Yahoo GeoPlanet API documentation | View the Yahoo Weather API documentation | Get a Yahoo application ID

  Weather.zip (736 bytes, 315 hits)

09
Feb 2010
POSTED BY Matthew
POSTED IN

Files, General

DISCUSSION No Comments
status

Batch resizing of multiple images in multiple sizes

Multiresize About

Introducing MultiResize
Great for web developers or anyone who needs to create multiple or single sizes of any image(s). Have a photo gallery and need to create multiple images in multiple sizes? Create as many sizes as you want, process as many images as you want and name them however you want.

Features
High quality bi-cubic resizing algorithm
Supports for any amount of files
Supports for any number or resizing jobs
Saving and loading of jobs for repetitive tasks
Image aspect ratio maintained

Requires Microsoft .Net v2

Usage
Step 1: Click on the “Add Images” to select the images you wish to process.
Step 2: Click on “Configure Jobs” to setup the resize jobs for each file.
Step 3: Click on “Process Images” to render the images

The resulting images are created in the same folder as the source images.

Screen shots

Multiresize Jobs

Multiresize Jobs

Multiresize Main

Multiresize Main

Nag Screen
One when you start the application, another when you start processing your file(s) and lastly when you finish processing your file(s).
You can process an unlimited number of images and preform an unlimited number of jobs with this demo.  When you register the nags go away.

Purchase for $10.00 | Video tutorial (from DownloadTube)

  MultiResize-Setup.msi (574.5 KiB, 226 hits)

Awards:

Hosted On:

23
Jul 2009
POSTED BY Matthew
POSTED IN

Files, General, Shareware

DISCUSSION 2 Comments