September 22nd, 2008
I am building a new database driven website for fun and decided to check on teh status of Workbench and see if they had a Linux version. As luck would have it, they launched a Linux version a couple of days ago! I downloaded the binary for Ubuntu from MySQL and tried to run it, but it spewed out errors. Searching around some more, I found an article on MySQL that talking about building from source on Ubuntu, and copied and pasted the apt-get install for all the dependencies.
I opened a terminal, cd’ed to the bin directory and issued “./mysql-workbench” and voila, the program opened. After creating a new diagram and trying to edit a table, I got a segfault. Looks like I’ll have to build it. Following the aforementioned article, I issued “sudo apt-get install libcairo2-dev”, and found that I already had that library installed, so I followed the directions and installed Google’s ctemplate library. Then I downloaded source, complied to tried to install and ran into errors - most of which had to do with Cairo. Upon closer inspection, I realized I didn’t Cairo build with support for glitz, just used the version available with Ubuntu. Ahhh, the joys of Linux. Back to the drawing board, where I was able to install Cairo with Glitz enabled, then compile Workbench from source. Quickly had a chance to play around with it and it is no longer segfaulting when I edit a table, but not sure how stable it is until I get more time.
To recap, here is what I did to get it working:
- sudo apt-get install autoconf automake libtool libzip-dev libxml2-dev libsigc++-2.0-dev libglade2-dev libgtkmm-2.4-dev libglu1-mesa-dev libmysqlclient15-dev uuid-dev liblua5.1-dev libglitz-dev libglitz-glx-dev libpixman-1-dev libpcre3-dev g++ libgnome2-dev libgtk2.0-dev libpango1.0-dev
- sudo apt-get source cairo
- Extract the cairo tarball and cd into the folder
- ./configure -enable-glitz
- make
- make install
- Download the source for workbench and extract it, and cd into the folder
- ./autogen.sh
- make
- make install DESTDIR=/home/rlbolton/apps/mysql-workbench (obviously choose a destination dir appropriate for you)
I am actually amazed I got everything to work, considering my very limited knowledge of Linux. Now we’ll see how stable the app is… And thanks to MySQL for making a Linux version!
Posted in mysql, Ubuntu | 3 Comments »
July 17th, 2008
Exporting your Feeds out of Outlook
- Select the file menu from Outlook
- Choose Import and Export
- Choose Export RSS Feeds to an OPML file
- Click Next
- Choose the RSS feeds you wish to export, or hit Select All to select all the feeds.
- Click Next
- Click the Browse button to find the location where you want to save the OPML file, type in the name you wish the file to have and hit Save
- Click Next and the file will be saved to the location you selected in the previous step

Importing into Google Reader
Whether or not you use Google Reader or another service, you will simply need to upload the OPML file to the program of your choice. For Google Reader, do the following from the main page in Google Reader:
- Click on the Manage Subscriptions link in the lower left hand corner
- Click on the Import/Export link towards the top of the page
- Click the Browse button to search your computer for the OPML file you saved earlier
- Click the Upload button to upload the file and add the feeds to Google Reader
Posted in Uncategorized, How To | No Comments »
June 15th, 2008
I have been working with a couple of web services lately (see prior post on Zend framework and Gdata), and upon deploying my application found out the technorati part of my site wasn’t working. I ran my unit tests, and multiple errors occured, saying the script wasn’t able to connect to the url:
Fatal error: Uncaught exception ‘Zend_Http_Client_Adapter_Exception’ with message ‘Unable to Connect to tcp://api.technorati.com:80. Error #110:
Connection timed out’
This happened last night, and again this morning. I tried to access the API straight through the browser (http://api.technorati.com/search?key=[apikey]&query=[words]), and the service is unavailable. So fairly sure it isn’t a result of the Zend Framework or my code. Can’t find any info on the web, so not sure what is going on… I’ll have to check in another day or two and see if it is back up or any other info is available.
Posted in PHP, Zend Framework | 1 Comment »
May 7th, 2008
I have been messing around with the different Zend_Service components available in the framework, and in general am very pleased with the ease of use and functionality. However, Zend_Gdata seems somewhat complicated. Now I must admit that I have not spent much time with classes, and I am sure the structure is set up to accommodate the large amount of services that Google provides, but there is very little documentation and the API doesn’t seem easily comprehensible, atleast compared to the Yahoo and Technorati APIs.
It appears that Google staff wrote the code, and I guess that is why it breaks with the naming convention - i.e. all the other Services fall under Zend_Services_***, while Google’s is Zend_Gdata. I am interested in the Youtube API, and it was easy to construct the query and get the result set back, but I found the result set to contain a lot of information (most of which was extraneous from my point of view), with many classes in it. Again, I was quickly trying to get it working and not at all interested in spending a lot of time learning the ins and outs of Google’s API’s. I am sure it will all click as I learn the other parts of Zend_Gdata, but for now, it is a pain.
For example, using the code from the documentation, when you grab a result set and iterate through it, how do you grab the src for the flash movie? Digging through the code, I found it was $videoEntry->mediaGroup->content[0]->getUrl(). That’s not to difficult, but then I noticed some of the results didn’t have any data for $videoEntry->mediaGroup->content. Is that a fluke, or by design? What do the values in the content object mean? I can guess what isDefault means and most of them are obvious, but the comments in the code are completely worthless (well not completely, as it does tell me that the channels property of the MediaContent object is a integer…). What’s the deal with the array of values - is the first value in the thumbnail array the preferable image, or just the first frame from the movie? I tried looking at the Google API docs, but that surprisingly didn’t seem to shed much light either.
I guess I should get off my ass, learn the API and contribute to the documentation. But its just so much easier to complain. Anyways, here is what I have quickly worked out. Once I start playing with the other Google services and have a better understanding of how all the classes fit together, I’ll let you know…
<?php
$yt = new Zend_Gdata_YouTube();
$query = $yt->newVideoQuery();
$query->videoQuery = ‘cat’;
$query->startIndex = 10;
$query->maxResults = 20;
$query->orderBy = ‘viewCount’;
echo
$query->queryUrl . “n”;
$videoFeed = $yt->getVideoFeed($query);
foreach (
$videoFeed as $videoEntry) {
echo “———VIDEO———-n”;
echo “Title: ” . $videoEntry->mediaGroup->title->text . “n”;
echo “Description:” . $videoEntry->mediaGroup->description->text . “n”;
echo “Url to the Youtube page: ” . $videoEntry->mediaGroup->player[0]->getUrl() . “n”;
echo “Thumbnail image of the video: ” . $videoEntry->mediaGroup->thumbnail[0]->getUrl() . “n”;
if(!empty($videoEntry->mediaGroup->content[0])) {
echo “Src to the video : ” . $videoEntry->mediaGroup->content[0]->getUrl() . “n”;
}
echo “nnn”;
}
?>
Posted in PHP, Zend Framework | 5 Comments »
April 24th, 2008
An article talks about the opening up of Yahoo, both its embrace of open source and the company’s desire to open its platform to 3rd party developers. I have seen a lot of good things come out of Yahoo in the past couple of years, from Yahoo Site Explorer to Yahoo Pipes to Yahoo’s contributions to PHP, especially Unicode support in PHP 6.
The Search Monkey initiative looks very promising, and gives developers a lot of latitude in how they present their sites in the search results. Of course it will require individual users downloading your customizations, but for websites with dedicated users who also use Yahoo, I would think it would be fairly easy to get people to install your app.
I am interested to see what else Yahoo has up its sleeves. Sounds like the MS acquisition ballyhoo hasn’t stopped innovation at Yahoo; in fact, it may have done the opposite, as Yahoo sees the need to rapidly launch new products and increase the amount eyesballs and time spent on their site.
Posted in Uncategorized, Online Advertising | No Comments »