Water and Stone
Open Source Penguin
Articles
YUI PHP Loader Print E-mail
Written by Chad Auld   
Thursday, 05 November 2009 17:46

Last week I gave on talk at YUIConf, the Yahoo! User Interface (YUI Library) conference, about the recently released YUI PHP Loader.  This is a YUI component that I co-authored with Adam Moore from the YUI Team.  It is a server-side utility that allows you to load specific YUI components and their dependencies into your page via PHP. YUI PHP Loader can operate as a holistic solution by loading all of your necessary YUI components, or it can be used to add one or more components to a page on which some YUI content already exists.

The video from my talk is embedded below.  The code is open source and you can find it on github here - http://github.com/yui/phploader/.

 
Mockingbird - Related Tweet Widget Print E-mail
Written by Chad Auld   
Friday, 10 July 2009 22:06

I put together a new JavaScript Twitter widget today called Mockingbird.  Mockingbird displays related tweets based on the content of the page it lives on.  How does it work?

  1. Mockingbird uses YQL to get the contents of the web page that it lives on
  2. The page content is them passed to the Yahoo! Term Extraction Web Service
  3. The top 3 page keyword terms are then used to to construct a search against Twitter
  4. The JavaScript makes heavy use of the Yahoo! User Interface library, YUI

The code is open source (MIT) and available on Github.  Here is a live demo.  Feedback is welcome.

 
Digital Content Your Way (Boxee) Print E-mail
Written by Chad Auld   
Monday, 16 February 2009 09:54
A few years back my friend and I built our own Tivo like boxes with Ubuntu and MythTV.  The process was less than simple and involved a lot of tweaking and experimentation, but the end result was actually quite nice.  Today this process has been simplified a great deal and users can grab one of many pre-built MythTV Linux distributions such as Mythbuntu.  I ran my MythTV box for a few months before I ran into a hardware issue.  I swapped out a few parts with no luck and without much time to troubleshoot it the box sat idle for over a year.

Since that time I've experimented with a number of services to get my digital content; DirectTV, Tivo, the Galleon Tivo Media Server, Amazon Video On Demand, BitTorrent, Usenet, iTunes, Hulu, Joost, Schmooze.TV, Netflix, etc.  Each of these methods has its own set of advantages and disadvantages.  Some are fairly nerdy and unfriendly to the average user.  Others have a cost component that may or may not be within ones budget.  One component that has always been required in my setup was digital cable (i.e.) Comcast and/or DirectTV.  These services have worked without issue, but are very costly and come overloaded with commercial advertisements.  We have used Tivo for over 6 years now to morph digital cable into tolerable on demand and commercial free content.  I do not mind advertising in the free content found on sites like Hulu, ABC, CBS, etc, but when I spend as much money as I do with my digital cable service I don't appreciate the additional marketing.  In recent years digital cable companies have started to create their own on demand services and Tivo like interfaces.  I've not been impressed with a single one thus far though.

With the amount of digital content available on the Internet these days I decided it was time to have a go at eliminating digital cable from my list of services.  The current economic crisis has made this even more appealing since who wouldn't be up for dropping a costly monthly bill or two.  There are various methods of retrieving TV shows, movies, and music on the Internet in an illegal manner, but I am focused legal methods and as I stated earlier I am ok with advertisements in otherwise free content.  So I started by laying out what my ultimate setup would feel like.  I want on demand access to TV shows (past and present), a collection of Movies (past and present), my own library of digital content (music, dvds, pictures, etc), and a streaming music service.  I want all that in an single interface that I can interact with via my remote control over my broadband Internet connection.  Lastly, I'd prefer it be something based around open source technology.
Read more...
 
jChat - YUI, Jaxer, & ActiveRecord Print E-mail
Written by Chad Auld   
Tuesday, 27 January 2009 01:29

For those familiar with MiaCMS you'll already know I'm a huge fan of the Yahoo! User Interface Library (YUI).  I recently finished up the JavaScript work for version 4.8 of MiaCMS.  With some free-time on my hands I figured what better way to fill it than with a new project?  So I set out to learn some new technology and see how I might mash it up with some existing skills like YUI.  The new technologies I decided to experiment with were Aptana's Jaxer and their new ActiveRecord.js framework.

Jaxer ships with a number of basic samples, but I've seen quite a few people online in search of more complex examples and specifically ones that make use of the new ActiveRecord.js library.  The extended example I developed is called jChat.  jChat is fully functional chatroom application that demonstrates integration of the following web related technologies; HTML, CSS, JavaScript, MySQL, YUI, Jaxer, and Activerecord.js.

jChat's DOM access/manipulation, event handling, and animation code makes heavy use of YUI.  The YUI Library is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX.

Jaxer is an Ajax Server that will allow us to built entire applications using JavaScript and Ajax.  The theory being that JavaScript experts can build applications without needing additional server side languages (ex) PHP.  There is nothing wrong with PHP, in fact is just so happens to be one of my favorite languages, but the important point to be made here is that Jaxer eliminates the requirement for additional server side languages.  That being said you don't have to do away with server side languages and in some cases it might make a lot of sense to utilize Jaxer with a server side language like PHP.  Another added bonus developers get with Jaxer is code reuse.  Typically we see develops implementing similar functionality in multiple languages to handle things like data validation for example.  With Jaxer it is possible to write the JavaScript validation code once and utilize it both client and server side.  This could therefore lead to less debugging, simpler testing, and faster time to market.

ActiveRecord.js is a cross browser, cross platform, JavaScript ORM.  ActiveRecord.js makes it easy to begin working with databases in JavaScript on the client or server, with Google Gears and Chrome, Aptana Jaxer, Adobe AIR or any platform supporting the W3C HTML5 SQL Specification (currently Webkit and iPhone).  Overall I found ActiveRecord.js simple to integrate and a pleasure to use.   I found a few bugs initially (mostly just some sytanx issues preventing proper minification).  Thanks to the power of github I was able to fork it, make some modifications, and submit a pull request which they ultimately accepted and merged with the master branch.  I've been working on another Adobe AIR related project which I started before the first beta release of ActiveRecord.js.  It makes use of AIR's native support for SQLite, but I'll more than likely rewrite the database code to make use of this new library which should have the added benefit of easing application updates/database migrations down the road.  

I've put all the source code up on github so that others can benefit from my learnings.  Chatrooms have been done a million times so jChat is less about the overall application functionality and more about the pairing of technology.  Feel free to download, learn from, and/or fork jChat on github - http://github.com/cauld/jchat/tree/master.   Comments, suggestions, and contributions welcome.  A demo is available here - http://jchat.opensourcepenguin.net as well.

 
Changing the Mambo and Joomla! Landscape Print E-mail
Written by Ozgur Cem Sen   
Wednesday, 23 April 2008 08:29

Link exchange between the sites just don't cut it anymore. "Cross-site information sharing" paradigm is growing into a greedy monster requiring new ways to expose your content. RSS has been holding up really good in that front. Given that you can put together - mash up- a website filled with thousands of articles in a matter minutes; it seems like, RSS over-accomplished its task. So what's next ?

Today, core Mambo and Joomla! are both lacking good RSS facilities. You can only share your "Front page content" via RSS in Mambo (probably the same for J!). If you are keeping only one content item with some "never-updated-flashy" short content, your RSS feed is technically useless to the rest of the world. You can find a good RSS extension, which would cover that scenario.

Read more...
 
<< Start < Prev 1 2 Next > End >>

Page 1 of 2