CMKY as a design trend

No matter who complains you always have shadows of doubt. This, on top of the fact that design by committee never seems like a good idea, was why I was worried when 32 graphic designers had to agree on a theme for our Senior Portfolio Review (SPR). The meetings were a mess with no clear direction, leaders thrust into power with out any kind of training, and no clear deadline to be finnished by. I knew two things, our only hope was to pick 1 person to design it and let them work and I did not want it to be me*. Rachel had a great idea and direction of using CMYK because it is the core of what we use** and it would nicely show off the full color postcards we were printing. For all of our sake she was chosen after some preliminary designs and we were all very happy with the results.

Until we sent it all out and two TCNJ alumni had not so nice words about our SPR theme of CMYK. One of our best teachers assured that the one student was horrible and to not listen to a word he says and the other was so insignificant that he could not even remember her***. We all knew what he said to assure us was true and got angry at the alumni instead of depressed for ourselves. We pushed on and the SRP was an amazing success.

While it didn’t bother us the shadows of doubt had lingered in the back of our minds. No one wanted to be called a hack as you were graduating. We were never fully vindicated till I found an article from LogoLounge.com about Fifteen trends in logo design for 2005. On page three I was shocked to find CMKY as a design trend! Even if you disagree with the trend I am beyond happy to know we were with the times with out consciously thinking about what other people where doing. We did what felt right and it worked.

I’m not recommending being trendy but it’s hard to deny that graphic design is very close to fashion design and trends are important in both. It’s a fine line to walk and I’m happy that it seems our senior class walked it very well.

  • CUB, ResLife and Campus Life we’re gonna be the death of me. ** though being the odd one out with web I used RGB. ** He then went crazy himself and started psychoanalyzing the people the email was CCed to.

Rhizome: a Raw RSS feed!

I’m kinda hot and istead of be original I’ve decided to just ReBlog:

Now available at Rhizome: a Raw RSS feed! http://rhizome.org/syndicate/raw.rss Right now this feed re-posts the entire text as posted originally. So it's suitable for reading, reposting, etc., etc. There are now three separate ways to track the discussion on Raw: by email, by web, and by RSS syndication feed. I set the feed to track the last 40 items, which right now means it's a sort of big feed, at 87k. Of course with Raw's traffic the way it is, the resulting feed only tracks about the last 36 hours worth of posts. I'm considering excerpting some of the bigger posts, and having more posts per feed, if 36 hours isn't enough ... anyway, let me know if you're using it and have suggestions for it. This is one of those things that we couldn't have done three weeks ago. I hope y'all find it useful. Francis Hwang Director of Technology Rhizome.org

gMapTrack lets me tag the world

While gMapTrack still seems kinda of buggy it really looks like it will be as full featured as I had mentioned previously. I really wish google has taken the initiative and added this functionality themselves. It would have blended in nicely with their Google Account system they have going. I’m extra interested in this technology because, as of now, google maps does not list my house on their maps and for the google fanatic I am it’s a little embarrassing.

gMapTrack seems to still be rolling out alot of features (they say this coming Monday) and so I’ll restrain from giving it a review using hReview that’s I’ve been itching to use. I’m looking forward to tagging the world. I would love this to integrate with hCard (my current obsession) and let me up load my contacts and then view their location on the map.

Where is my vCard extention for Firefox?

I was looking for a good address book and didn’t really come across anything, especially for the PC. Searching more what I did find was the Apple Address Book and the vCard standard for the MAC and very simple Address book for the PC. From there the only good program I seemed to find was A-Book which seems really nice though it is $30 for the full version and the trial is a timed 30 day trial. The vCard wikipedia post was lacking in much information as well.

I found a Mozilla project for a vCard extension but it seems to have been mostly abandoned. I think it would be a great extension to run right along side the Mozilla Calendar extension (as well as the standalone sunbird).

With iCalendar starting to do some really interesting things on the internet with the ability to subscribe and publish online and hReview looking to do some cool things in the near future I really want something to happen with vCard.

Screen Scrape an RSS feed with PHP: A Guide

I was looking for a guide to making an RSS feed for a site that didn’t have one* and found the internet very much lacking in what it provided. It turns out that there is not as much to choose from as a Google search would lead you to believe. Dennis Pallett seems to be one of the only people to have written a review and it is featured on many, many different sites. While it was very helpful I still thought it was lacking in its explanation.

So I’m going to use Dennis’ code along with how I altered it and go over what I did and what things mean and hopefully paint a clearer picture of how to turn the world in to an RSS feed.

Screen scrapping an RSS feed is based on some simple concepts. Grab each individual post in an array and then grab the title, permalink, and full text out and throw them in their respective RSS tags.

< ?php

</p>

$url = “http://www.gailgauthier.com/blogger.html”;

$data = getUrlTEXT($url);

// Get content items
preg_match_all ("/<div class=\"posts\">([^`]*?)< \/div>/", $data, $matches);

GetUrlTEXT is a quick function defined at the bottom of the script that uses cURL to get the full text of any url.

preg_match_all and preg_match are both functions that I don’t fully understand but they uses strings of characters called ‘regular expressions’ that tell PHP what text to include and not include (regular expressions guide here).

While I don’t completely understand it I can point some things out. preg_match takes 3 arguments. The first is the string you are looking for, the second is the full text you are searching, and the third is an array that all the found strings are put in.

The first argument are in double quotes as well as forward and back slashes (ex. “/REGULAR EXPRESIONS HERE/”). You also see the start and end of a div as part of the expression. This tells preg_match what to look in between to find the text you are looking for. The regular expressions between the div tags, ([^`]*?), definitely have a meaning but you’ll have to read up to figure it out. Needless to say it works in finding whatever is in between whatever you put on either side of the regular expressions.

Next you can just set up the RSS header information.

// Begin feed
header (“Content-Type: text/xml; charset=ISO-8859-1”);
echo “< ?xml version="1.0" encoding="ISO-8859-1" ?>\n”;
?>

<rss version=”2.0”
xmlns:dc=”http://purl.org/dc/elements/1.1/”
xmlns:content=”http://purl.org/rss/1.0/modules/content/”
xmlns:admin=”http://webns.net/mvcb/”
xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”>
<channel>
<title>Original Content—A Gail Gauthier Blog—Latest Content</title>
<description>The latest content from Gail Gauthier (http://www.gailgauthier.com/blogger.html), screen scraped! </description>
<link>http://www.gailgauthier.com/blogger.html</link>
<language>en-us</language>

Nothing hard here, just change the title, description and link. The rest of the information is standard for the RSS file.

Next we loop through the ‘matches’ array we made to extract the title, permalink, full text and author name.

<?

// Loop through each content item
foreach ($matches[0] as $match) {

// First, get title
preg_match (”/<h3>([^`]*?)</h3>/”, $match, $temp);
$title = $temp[‘1’];
$title = strip_tags($title);
$title = trim($title);

// Second, get url
preg_match (”/<span class="byline">posted by gail at <a href="([^`]*?)">/”, $match, $temp);
$url = $temp[‘1’];
$url = trim($url);

// Third, get text
preg_match (”/< /h3>([^`]*?)<span class="byline">/”, $match, $temp);
$text = $temp['1']; $text = trim($text); $text = str_replace('<br />', '<br />', $text);

// Fourth, and finally, get author
preg_match (”/<span class="byline">By ([^`]*?)</span>/”, $match, $temp);
$author = $temp[‘1’];
$author = trim($author);

As you can see getting the title is simple enough, it’s the only thing inside of <h3> tags. The permalink was much harder though since it was not between any specific tags. Instead I used the string ‘<span class="byline">posted by gail at <a href="’ this is obviously a very bad hack to get what you want but not all site will be nicely set up for you to make it in to an RSS feed.

if (!($title '') && !($text ‘’))
{
// Echo RSS XML
echo “<item>\n”;
echo “\t\t\t<title>” . strip_tags($title) . “</title>\n”;
echo “\t\t\t<link>” . strip_tags($url) . “</link>\n”;
echo “\t\t\t<description>” . strip_tags($text) . “</description>\n”;
echo “\t\t\t<content :encoded>< ![CDATA[ n”;
echo $text . “\n”;
echo ” ]]></content>\n”;
echo “\t\t\t<dc :creator>” . “Gail Gauthier” . “</dc>\n”;
echo “\t\t</item>\n”;
}//end if
}//end foreach

?>

After we find all our information we just need to print it out in RSS format. First I do a quick check that the post has actual information in it and then it is just outputted in to the tags.

That about it for this method of screen scrapping an RSS feed. I’ve heard Kottke mention ways of using the DOM from PHP5 but I am still working on learning DOM in general. You can download this full PHP script here.

  • It turns out what Blogger was FTPing to Gail Gauthier’s site was just not listing the ATOM feed in the html. I later found the feed and had to just be happy that I learned something.