<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="weebly" -->
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" >

<channel><title><![CDATA[Kelt Dockins - Technology]]></title><link><![CDATA[http://www.keltdockins.com/index.html]]></link><description><![CDATA[Technology]]></description><pubDate>Tue, 21 Feb 2012 08:01:30 -0600</pubDate><generator>Weebly</generator><item><title><![CDATA[RESTful Data Sources]]></title><link><![CDATA[http://www.keltdockins.com/2/post/2012/02/restful-data-sources.html]]></link><comments><![CDATA[http://www.keltdockins.com/2/post/2012/02/restful-data-sources.html#comments]]></comments><pubDate>Thu, 16 Feb 2012 18:28:15 -0600</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">http://www.keltdockins.com/2/post/2012/02/restful-data-sources.html</guid><description><![CDATA[   [...] ]]></description><content:encoded><![CDATA[<div ><div class="wsite-multicol"><div class='wsite-multicol-table-wrap' style='margin:0 -15px'><table class='wsite-multicol-table'><tbody class='wsite-multicol-tbody'><tr class='wsite-multicol-tr'><td class='wsite-multicol-col' style='width:66.073871409029%;padding:0 15px'><div ><div class="wsite-image wsite-image-border-thin " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center"> <a href='http://www.bryny.com/stu_sql.htm' target='_blank'> <img src="http://www.keltdockins.com/uploads/4/5/2/8/4528711/465222328.gif?413" alt="Picture" style="width:auto;max-width:100%" /> </a> <div style="display:block;font-size:90%"></div> </div></div>  </td><td class='wsite-multicol-col' style='width:33.926128590971%;padding:0 15px'><div  class="paragraph editable-text" style=" text-align: left; ">We have come so far in technology yet still use the same relational SQL database methodologies as we did in the 90's. We <font color="#ff0000">waste </font>countless hours and money on SQL discussing details which have nothing to do with the actual data we place inside this storage space. When we are finished with the database, we still have plenty of work left, building applications to access and mutate that same data set.<br /></div>  </td></tr></tbody></table></div></div></div>  <div  class="paragraph editable-text" style=" text-align: left; ">Thus, only a <font size="3">programmer </font>can access the data. Those same programmers whom likely don't fully understand the information collected and stored within the database. Programmers care about stuff like,&nbsp;<strong style="">structure</strong>,&nbsp;<strong style=""><font size="3">performance</font></strong>,&nbsp;<strong style="">security, servers and whatnot&nbsp;</strong>but&nbsp;<font size="3">data</font> is <font size="1">just data</font>. Later programmers will use an&nbsp;<em style="">ORM&nbsp;</em>to piece back together the data which was broken apart into a relational database only to re-structure the data into an object format. I could go on and on here, but my point is:&nbsp;<em style="">SQL can be really stupid. Objects are easy. Resources are easy too.&nbsp;</em>This got me to thinking...&nbsp;<br /></div>  <div >  <!--BLOG_SUMMARY_END--></div>  <div  class="paragraph editable-text" style=" text-align: left; ">Not too long ago I was skimming a research paper about <a href="http://dret.net/netdret/docs/wilde-www2010-restful-sql.pdf" target="_blank" title="">HTTP Database Connector (HDBC)</a>&nbsp;because about two years ago I came up with an idea. The idea was simple. <u>A lot of data</u> is accessed via the web, thus why not just access your data via a RESTful web data source instead through a custom built application fetching off of back end SQL database(s)? At the time I thought the idea to be revolutionary, but I'm certainly not the first to come up with this idea though: <a href="http://www.jasondb.com/jasondb/jasondb.html" target="_blank" title="">JasonDB</a>, <a href="http://www.devreference.org/bookmarks/couchdb-restful-database-json-documents-php-how-to.html" target="_blank" title="">CouchDB</a>, <a href="http://code.google.com/p/restdb/" target="_blank" title="">Google RestDB</a>.<br /></div>  <div  class="paragraph editable-text" style=" text-align: left; ">I think most anyone can understand objects, especially subject matter experts (SME) on particular objects, e.g. a chemist understand the toxicology of lead and mercury but knows nothing about&nbsp;SQL. Let's use an example to&nbsp;illustrate. Both ways we just want to get the price of a wheel for a specific car.&nbsp;</div>  <div ><div class="wsite-multicol"><div class='wsite-multicol-table-wrap' style='margin:0 -15px'><table class='wsite-multicol-table'><tbody class='wsite-multicol-tbody'><tr class='wsite-multicol-tr'><td class='wsite-multicol-col' style='width:50%;padding:0 15px'><div  class="paragraph editable-text" style=" text-align: left; "><strong>The SQL Way</strong><br /><br /><font size="1">Db = new Database("jdbc://hostname:port:user:pass");</font><br /><font size="1">Sql = "select price from wheel where car_id = ?";</font><br /><font size="1">Rows = Db.getSelectQuery(Sql, "</font><span style="font-size: x-small; ">00026213938");</span><br /><span style="font-size: x-small; ">price = null;</span><br /><span style="font-size: x-small; ">for each Row in Rows; do</span><br /><span style="font-size: x-small; ">&nbsp; &nbsp;price = row[0];</span></div>  </td><td class='wsite-multicol-col' style='width:50%;padding:0 15px'><div  class="paragraph editable-text" style=" text-align: left; "><strong>Object Way</strong><br /><br /><font size="1">Db = new Database("http://some.place/data");</font><br /><font size="1">Db.Authenticate("user", "pass");<br />price = Db.car("00026213938").wheel.price</font></div>  </td></tr></tbody></table></div></div></div>  <div  class="paragraph editable-text" style=" text-align: left; ">Accessing and manipulating data shouldn't be difficult. I think using REST as a gateway framework to our data sets, we keep things simple for the poor programmer <font size="1">(sucker)</font> who has to design a web application around the data for the people that actually make use of the data.</div>  ]]></content:encoded></item><item><title><![CDATA[Unboxing the Boxee Box]]></title><link><![CDATA[http://www.keltdockins.com/2/post/2012/01/unboxing-the-boxee-box.html]]></link><comments><![CDATA[http://www.keltdockins.com/2/post/2012/01/unboxing-the-boxee-box.html#comments]]></comments><pubDate>Sat, 28 Jan 2012 09:02:15 -0600</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">http://www.keltdockins.com/2/post/2012/01/unboxing-the-boxee-box.html</guid><description><![CDATA[In this ten minute cut video, I unwrap a new toy. The Boxee set me back about $200, not to mention Best Buy had a $99 sale only a week later (th [...] ]]></description><content:encoded><![CDATA[<div ><div class="wsite-multicol"><div class='wsite-multicol-table-wrap' style='margin:0 -15px'><table class='wsite-multicol-table'><tbody class='wsite-multicol-tbody'><tr class='wsite-multicol-tr'><td class='wsite-multicol-col' style='width:53.625170998632%;padding:0 15px'><div  class="paragraph editable-text" style=" text-align: left; ">In this ten minute cut video, I unwrap a new toy. The Boxee set me back about $200, not to mention Best Buy had a $99 sale only a week later <font size="1">(that's life)</font>. At first $200 may seem expensive but hear me out.&nbsp;</div>  <div  class="paragraph editable-text" style=" text-align: left; ">At the time&nbsp;our media center/Boxee was running on a 6GB, dual core computer. It was a power hog. Using a Kill-A-Watt meter, I found that the cost just to run this computer 24/7 was about $5 per month.&nbsp;You might be thinking, "<em style="">why not just enable sleep mode then?</em>"&nbsp;<br /></div>  </td><td class='wsite-multicol-col' style='width:46.374829001368%;padding:0 15px'><div  style=" margin-top: 0px; margin-bottom: 0px; "><div style="text-align: center;"><object width="300" height="247"><param name="movie" value="http://www.youtube.com/v/iVVpcHKrJl4"></param><param name="wmode" value="transparent"></param><param name="allownetworking" value="internal"></param><embed src="http://www.youtube.com/v/iVVpcHKrJl4" type="application/x-shockwave-flash" allownetworking="internal" wmode="transparent" width="300" height="247"></embed></object></div></div>  </td></tr></tbody></table></div></div></div>  <div  class="paragraph editable-text" style=" text-align: left; "><em>Unfortunately</em>, sleep mode did not work well with the media center<font size="1">&nbsp;(IR receiver, wake-up stuff)</font>&nbsp;and furthermore could be confusing and frustrating. Following the Keep It Simple Stupid methodology, disabling sleep mode seemed the best option at the time. The thought&nbsp;occurred&nbsp;to me that&nbsp;if I could decommission this media PC then I would save electricity.&nbsp;&nbsp;&nbsp;<br /></div>  <div  class="paragraph editable-text" style=" text-align: left; ">It also just so happens that&nbsp;Kitty, my <font color="#990000">lovely </font>wife, was in the market for a new computer, thus I formated the old media center computer instead of buying a brand new PC ($400+). Given all these conditions, in a mixed up kind of way I ended up saving money with a Boxee box - yes, I can be a real a tight-ass sometimes.&nbsp;<br /></div>  <div  class="paragraph editable-text" style=" text-align: left; "><font size="1"><em>Just as a side note: updating the Boxee software fixed a lot of issues that I was experiencing on this video! Kitty and I have been using this for several months now and still really enjoy it.</em></font></div>  ]]></content:encoded></item><item><title><![CDATA[Blackboard Drive Plays Nice With Other WebDAV Servers]]></title><link><![CDATA[http://www.keltdockins.com/2/post/2012/01/blackboard-drive-plays-nice-with-other-webdav-servers.html]]></link><comments><![CDATA[http://www.keltdockins.com/2/post/2012/01/blackboard-drive-plays-nice-with-other-webdav-servers.html#comments]]></comments><pubDate>Fri, 27 Jan 2012 08:19:08 -0600</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">http://www.keltdockins.com/2/post/2012/01/blackboard-drive-plays-nice-with-other-webdav-servers.html</guid><description><![CDATA[If you've ever heard of Dropbox then you can think of  [...] ]]></description><content:encoded><![CDATA[<div ><div class="wsite-multicol"><div class='wsite-multicol-table-wrap' style='margin:0 -15px'><table class='wsite-multicol-table'><tbody class='wsite-multicol-tbody'><tr class='wsite-multicol-tr'><td class='wsite-multicol-col' style='width:53.351573187415%;padding:0 15px'><div  class="paragraph editable-text" style=" text-align: left; ">If you've ever heard of Dropbox then you can think of <a href="http://www.blackboard.com/Platforms/Learn/Products/Blackboard-Learn/Teaching-and-Learning/Expanding-Learn/Content-Management/Blackboard-Drive.aspx" target="_blank" title="">Blackboard Drive</a> as an awkward cousin. Blackboard&nbsp;Drive creates drive <font size="1">(like the C:\ drive)</font> which allows users to easier manage files and folders that are stored online in the Content Collection.&nbsp;<a href="http://screencast.com/t/8ipYP4w1mM1" target="_blank">Click on the image or here to view a video</a> about Blackboard Drive and WebDAV. Read more to expand your mind, man...<br /></div>  </td><td class='wsite-multicol-col' style='width:46.648426812585%;padding:0 15px'><div ><div id="638099367580099920" align="right" style="width: 100%; overflow-y: hidden;" class="wcustomhtml"><a href="http://screencast.com/t/8ipYP4w1mM1"><img src="http://dl.dropbox.com/u/20210910/keltdockins/media/blackboard/usbdrive.jpg" alt="Blackboard Drive" /></a></div>    </div>  </td></tr></tbody></table></div></div></div>  <div >  <!--BLOG_SUMMARY_END--></div>  <div  class="paragraph editable-text" style=" text-align: left; ">Institutions already using Blackboard Learn or Vista/CE could leverage their existing system to popup an&nbsp;easily&nbsp;accessible&nbsp;content management system for the university.&nbsp;Think about how you share and backup files right now? Sending e<em>mails, </em>sharing<em> usb drives, </em>mapping windows or mac<em>&nbsp;network shares? <font size="1">(</font></em><font size="1">Try sticking a usb stick into your iPad).</font>&nbsp;Using Blackboard Drive with the Content Collection could potentially simplify and standardize how users share files within the university. There are other hidden benefits too: <strong>backups and&nbsp;</strong><strong>accessibility</strong>. Any flies you put in the Content Collection is backed up so you can worry more about making files than loosing them. Your files are accessible anywhere via the Internet by just logging into Blackboard normally and browsing to the files stored on the website.</div>  <div ><div class="wsite-multicol"><div class='wsite-multicol-table-wrap' style='margin:0 -15px'><table class='wsite-multicol-table'><tbody class='wsite-multicol-tbody'><tr class='wsite-multicol-tr'><td class='wsite-multicol-col' style='width:45.554035567715%;padding:0 15px'><div ><div id="394813772347045337" align="left" style="width: 100%; overflow-y: hidden;" class="wcustomhtml"><img src="http://dl.dropbox.com/u/20210910/keltdockins/media/blackboard/hardrock.jpg" alt="Jack Black and his Blackboard" /></div>    </div>  </td><td class='wsite-multicol-col' style='width:54.445964432285%;padding:0 15px'><div  class="paragraph editable-text" style=" text-align: left; ">However, what about universities that just want to store some files? Not everyone likes <font color="#ff9900">Grunge, man</font>! The Content Collection could be an expensive place just to store files for later use - especially if you pay per GB of disk space, e.g. someone else hosts your Blackboard.&nbsp;<br /><br />It turns out that you can use Blackboard Drive to map other (Blackboard unrelated) webdav servers to help offset the cost of storage space.&nbsp;<br /></div>  </td></tr></tbody></table></div></div></div>  <div  class="paragraph editable-text" style=" text-align: left; ">Granted you don't get the benefit of the Blackboard CMS, but you could leverage other tools that support WebDAV, e.g&nbsp;<a href="http://www.element-it.com/asp-net-explorer-browser/online-share/web-file-manager.aspx" target="_blank" title="" style="">HTTP Commander</a>. This all boils down to a useful combination of tools to enhance education. The teacher spends less time on focused on technology <font size="1">(with questions like, how do I share my files?)</font> and more time teaching.<br /></div>  ]]></content:encoded></item><item><title><![CDATA[Blackboard Course Evaluations Building Block]]></title><link><![CDATA[http://www.keltdockins.com/2/post/2012/01/blackboard-course-evaluations-building-block.html]]></link><comments><![CDATA[http://www.keltdockins.com/2/post/2012/01/blackboard-course-evaluations-building-block.html#comments]]></comments><pubDate>Wed, 04 Jan 2012 14:59:32 -0600</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">http://www.keltdockins.com/2/post/2012/01/blackboard-course-evaluations-building-block.html</guid><description><![CDATA[During the month of November, I worked on a project at UALR to create a process for online course evaluations. The result of several weeks of slaving away on one of my first blackboard Building Blocks&nbsp;(B2)&nbsp;ended up being used to allow online students evaluate courses at the university. If you're interested read on...       [...] ]]></description><content:encoded><![CDATA[<div  class="paragraph editable-text" style=" text-align: left; ">During the month of November, I worked on a project at UALR to create a process for online course evaluations. The result of several weeks of slaving away on one of my first blackboard Building Blocks&nbsp;<font size="1" color="#ff9966">(B2)</font>&nbsp;ended up being used to allow online students evaluate courses at the university. If you're interested read on...<br /></div>  <div >  <!--BLOG_SUMMARY_END--></div>  <div  class="paragraph editable-text" style=" text-align: left; ">Currently there are few options for mixing course evaluations and Blackboard (depending on your wallet size) and therefore other universities might have an interest in this extension. You can <a href="http://projects.oscelot.org/gf/project/course-evals/" target="_blank" title="">download the B2 from the open source project page</a>. <font color="#339999">See video <font size="4">b</font><font size="3">el</font><font size="1">o</font>w for an eight minute introduction.</font></div>  <div  style=" margin-top: 10px; margin-bottom: 10px; "><div style="text-align: center;"><object width="500" height="412"><param name="movie" value="http://www.youtube.com/v/pN1uI2lFqvI"></param><param name="wmode" value="transparent"></param><param name="allownetworking" value="internal"></param><embed src="http://www.youtube.com/v/pN1uI2lFqvI" type="application/x-shockwave-flash" allownetworking="internal" wmode="transparent" width="500" height="412"></embed></object></div></div>  <div  class="paragraph editable-text" style=" text-align: left; "><strong>Researching </strong>the API actually took <strong>longer </strong>than the actual coding. I felt before writing this web application, I should know some Blackboard best practices first. The open source community was quite helpful and can be found on&nbsp;<a href="http://projects.oscelot.org/" title="" style="">projects.oscelot.org</a>. I did notice that <em>Hibernate </em>did not want to integrate due to classpath issues in tomcat and <em>ActiveObjects </em>did not work well with <font size="2"><em>Oracle</em></font>. The B2 should be database agnostic and is designed to work with both <em>SQL Server</em> and <em>Oracle </em>based Blackboard installs. The <em>Spring </em>framework was used for routing Controller actions. There is still a lot of room for improvement but it's a good start I believe.<br /></div>  ]]></content:encoded></item><item><title><![CDATA[Blackboard taglib issue with itemIdAccessor]]></title><link><![CDATA[http://www.keltdockins.com/2/post/2011/11/blackboard-taglib-issue-with-itemidaccessor.html]]></link><comments><![CDATA[http://www.keltdockins.com/2/post/2011/11/blackboard-taglib-issue-with-itemidaccessor.html#comments]]></comments><pubDate>Sat, 26 Nov 2011 12:11:23 -0600</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">http://www.keltdockins.com/2/post/2011/11/blackboard-taglib-issue-with-itemidaccessor.html</guid><description><![CDATA[Blackboard has a tag library which allows you to put familar Blackboard looking html objects into your Building block. One element in the tag library is an inventoryList, which gives you a nice looking list of items. An inventory list in Blackboard might render something like this:   [...] ]]></description><content:encoded><![CDATA[<div  class="paragraph editable-text" style=" text-align: left; ">Blackboard has a tag library which allows you to put familar Blackboard looking html objects into your Building block. One element in the tag library is an <em>inventoryList</em>, which gives you a nice looking list of items. An inventory list in Blackboard might render something like this:<br /></div>  <div ><div class="wsite-image wsite-image-border-thin " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center"> <a href='http://www.keltdockins.com/uploads/4/5/2/8/4528711/8633645_orig.jpg?697' rel='lightbox' onclick='if (!lightboxLoaded) return false'> <img src="http://www.keltdockins.com/uploads/4/5/2/8/4528711/8633645.jpg?697" alt="Picture" style="width:auto;max-width:100%" /> </a> <div style="display:block;font-size:90%">You can drag and drop to re-order this list.</div> </div></div>  <div >  <!--BLOG_SUMMARY_END--></div>  <div  class="paragraph editable-text" style=" text-align: left; ">The code to generate this list can be seen below. One special functionality of this list is to be able to re-order your list. This is done by sending an ajax call to your <em>reorderingUrl </em>anytime an item is moved. However, I noticed that my objects were not given the correct Id. Makes it difficult to reorder an item when your passing out incorrect Ids.&nbsp;</div>  <div  class="paragraph editable-text" style=" text-align: left; ">Notice the&nbsp;<em style="">itemIdAccessor="getId()"</em>&nbsp;this means that <em>item.getId()</em> should be called to get the Id for the item. After some digging I found that&nbsp;<em style="">getId()</em>&nbsp;must return a&nbsp;<strong style="">String&nbsp;</strong>(it was an <strong>Integer </strong>in my case) to work correctly. This bugged me though since most Ids are typically not Strings. Oh well.<br /></div>  <div ><div id="512697268917129918" align="left" style="width: 100%; overflow-y: hidden;" class="wcustomhtml"><script src="http://pastebin.com/embed_js.php?i=dNVPmp10"></script> </div>    </div>  ]]></content:encoded></item><item><title><![CDATA[Java ActiveObjects with a squeeze of Blackboard]]></title><link><![CDATA[http://www.keltdockins.com/2/post/2011/11/java-activeobjects-with-a-squeeze-of-blackboard.html]]></link><comments><![CDATA[http://www.keltdockins.com/2/post/2011/11/java-activeobjects-with-a-squeeze-of-blackboard.html#comments]]></comments><pubDate>Thu, 03 Nov 2011 09:52:09 -0600</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">http://www.keltdockins.com/2/post/2011/11/java-activeobjects-with-a-squeeze-of-blackboard.html</guid><description><![CDATA[ActiveRecord is to Ruby on Rails as Active Objects is to Java. Ideally it would be called AwesomeObjects. At last, persisting data for your Java web application is not all xml, POJOS, EJBs and did I mention xml? I don't hate xml but I find configuring your application extremely&nbsp;inefficient&nbsp;after working with other frameworks that utilize convention over configuration.Why do I have to specifiy a log4j pr [...] ]]></description><content:encoded><![CDATA[<div  class="paragraph editable-text" style=" text-align: left; "><br />ActiveRecord is to Ruby on Rails as Active Objects is to Java. Ideally it would be called AwesomeObjects. At last, persisting data for your Java web application is not all xml, POJOS, EJBs and did I mention xml? I don't hate xml but I find configuring your application extremely&nbsp;inefficient&nbsp;after working with other frameworks that utilize convention over configuration.<br /><br />Why do I have to specifiy a log4j properties file, hibernate persistance.xml configuration. And there's soooo many options of how to develop: <font size="3">JPA</font>, <font size="1">Wicket</font>, OJB, <font size="3">Spring</font>, Struts, Torque, <font size="1">Cayenne</font>, Jaxor, <font size="3">TJDO</font>, JDBM, pBeans, JPOX, Simple ORM, <font size="3">Ibatis</font>, XORM, <font size="4">Speedo</font>, Smyle, PAT, LiDO, JDO, <font size="4">IntelliBO</font>, KodoJDO, Hamlets, <font size="3">Faces</font>, RIFE, <font size="1">Shale</font>, Sling, Stripes, <font size="1">Vaadin</font>, Poopdeck (okay, I just made that one up). Point is that It can be a real headache to develop a Java web app.<br /><br />Furthermore, why do I have to create my POJOs and SQL for my database? Why can't a framework just create my data objects, along with nice RESTful CRUD operations for each.&nbsp;<em>Why, crow, why?!</em>&nbsp;So at least for the moment, finding ActiveObjects is lemonade to&nbsp;quench&nbsp;my&nbsp;thirst for answers.<br /></div>  <div >  <!--BLOG_SUMMARY_END--></div>  <div  class="paragraph editable-text" style=" text-align: left; ">The documentation is lacking for&nbsp;<a href="http://activeobjects.java.net/0.8.2/ActiveObjects.pdf" style="">ActiveObject</a>&nbsp;but I was able to get it working quite easily. As soon as I saw the interface annotations for this library, I knew it would be a blast working with - assuming the pesticides had been spread around the source code e.g. no bugs. The website can be found here:&nbsp;<a href="http://java.net/projects/activeobjects/pages/Home" style="">http://java.net/projects/activeobjects/pages/Home</a><br /></div>  <div  class="paragraph editable-text" style=" text-align: left; ">Below I have an example on how to use Active Objects. Let us assume our web application has the concept of "templates" which we want to persist in the database. Templates can have questions, instances and permissions (those are all just interfaces too). As you can see below we just define java interfaces with get and set methods. You don't implement the methods, just define them for reflection by AO. Also every interface will have a getID() method inherited from the parent Entity class. You can also add any annotations to describe any more specific mappings between your Java interface, other interfaces and also types for the database table. For example, below I use @OneToMany and @SQLType(Types.CLOB).<br /></div>  <div ><div id="764618956339801092" align="left" style="width: 100%; overflow-y: hidden;" class="wcustomhtml"><script src="http://pastebin.com/embed_js.php?i=v0kQTYZ3"></script> </div>    </div>  <div  class="paragraph editable-text" style=" text-align: left; ">I had attempted to use Active Objects with a Blackboard Building Block (also called a B2), but the Blackboard API didn't seem to want to give me a proper information on how to connect to the database (Bb v 9.1.7). Therefore I never actually got around to using this code, but I'll share it with you since you're already here. And I wanna give a big shout out to Peter Fokkinga's since I'm using his DbUtils class which can be found <a href="http://forums.edugarage.com/cfs-filesystemfile.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.22.76/DbUtils.java.txt" target="_blank" title="">here</a>.</div>  <div ><div id="188900119576603791" align="left" style="width: 100%; overflow-y: hidden;" class="wcustomhtml"><script src="http://pastebin.com/embed_js.php?i=9CaLs1WL"></script></div>    </div>  <div  class="paragraph editable-text" style=" text-align: left; ">So how would we use this Database class? Assuming the virtual installation worked consistently, below is an example using Spring with controller request mappings of how to do an edit and update.</div>  <div ><div id="336234586100170711" align="left" style="width: 100%; overflow-y: hidden;" class="wcustomhtml"><script src="http://pastebin.com/embed_js.php?i=ZVK4d97B"></script></div>    </div>  <div  class="paragraph editable-text" style=" text-align: left; ">If I come onto any projects that need a standalone website I would like to combine the Grails or Play! framework and use ActiveObjects for the Model part of the MVC framework - resulting in sheer Java bad-ass-ery. I know Java is a huge language and web frameworks only covers a small part of it's ability; however, I really like the idea of Java becoming a&nbsp;competitor&nbsp;for simple turnkey web apps, the same ones that can be made in a short time using the conventions of CakePHP, Zend, Django and Rails. Developing in Play! and ActiveObjects is just plain easier. I don't imagine that JEE, ContextFactories and extensive xml configurations are just going to magically disappear (you know job security and all that), but this is the age of designing RESTful web services and shunning away the complexities of CORBA and even SOAP.&nbsp;<br /><br />I'm sure in ten years, something new will be along to lay rest to REST (sorry I couldn't resist) but for now, the general&nbsp;consensus&nbsp;seems to be that web applications should be very simple to develop and maintain, i.e. wham, bam, thank you mam.</div>  ]]></content:encoded></item><item><title><![CDATA[Blackboard CourseSites (Introduction)]]></title><link><![CDATA[http://www.keltdockins.com/2/post/2011/10/blackboard-coursesites-introduction.html]]></link><comments><![CDATA[http://www.keltdockins.com/2/post/2011/10/blackboard-coursesites-introduction.html#comments]]></comments><pubDate>Fri, 21 Oct 2011 14:18:59 -0600</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">http://www.keltdockins.com/2/post/2011/10/blackboard-coursesites-introduction.html</guid><description><![CDATA[Am I head over heals for Blackboard CourseSites?&nbsp;CourseSites offers anyone who signs up as an instructor 5 free courses, templates, plenty of integration such as Blackboard IM and Facebook, which means you can chat with your students that are in your course. Anyone who has a Facebook, Google, twitter, Hotmail, yahoo, i.e. OpenID account can login to CourseSite [...] ]]></description><content:encoded><![CDATA[<div  class="paragraph editable-text" style=" text-align: left; ">Am I head over heals for Blackboard <a href="https://www.coursesites.com" target="_blank" title="">CourseSites</a>?&nbsp;CourseSites offers anyone who signs up as an instructor 5 free courses, templates, plenty of integration such as Blackboard IM and Facebook, which means you can chat with your students that are in your course. Anyone who has a Facebook, Google, twitter, Hotmail, yahoo, i.e. OpenID account can login to CourseSites as a student - without ever creating a Blackboard account. This seems like an awesome step forward for online education.&nbsp;Unfortunately, it may take a few years for universities to realize that&nbsp;net ids&nbsp;and expensive custom SSO portal&nbsp;integration offers little value for the cost.</div>  <div  class="paragraph editable-text" style=" text-align: left; ">In minutes I had configured a profile:&nbsp;<a href="https://ktdockins.coursesites.com/" style="" title="">https://ktdockins.coursesites.com/</a><br /></div>  <div >  <!--BLOG_SUMMARY_END--></div>  <div  class="paragraph editable-text" style=" text-align: left; ">There is a lot of potential here, even for those who are not instructors at&nbsp;universities. For example, someone who just wanted to offer an online course could use this - imagine this site&nbsp;<a href="http://www.aslpro.com/">http://www.aslpro.com/</a>&nbsp;was merged into CourseSites, forging an online class with a large repository of ASL videos. A lot of websites exist which aim at educating people, why pay for website hosting, website design, website up keep (for those that don't know css, html, jquery, php, etc)?</div>  <span class='imgPusher' style='float:left;height:0px'></span><span style=' float: left; z-index: 10; position: relative; ;clear:left;margin-top:0px;*margin-top:0px'><a><img src="http://www.keltdockins.com/uploads/4/5/2/8/4528711/450167996.jpg" style="margin-top: 5px; margin-bottom: 10px; margin-left: 0px; margin-right: 10px; border-width:1px;padding:3px;" alt="Picture" class="galleryImageBorder" /></a><div style="display: block; font-size: 90%; margin-top: -10px; margin-bottom: 10px; text-align: center;"></div></span> <div  class="paragraph editable-text" style=" text-align: left; display: block; ">Don't forgot Blackboard collaborate. A powerful tool which is&nbsp;essentially&nbsp;a live virtual classroom. I prefer Collaborate over Webex, Livemeeting, Dimdim and Adobe Connect; while Collaborate isn't flawless, it is very slick and being heavily developed on at this time.</div> <hr  style=" clear: both; visibility: hidden; width: 100%; "></hr>  <div  class="paragraph editable-text" style=" text-align: left; ">CourseSites is also used for collaborating with other Blackboard users; currently I am a member of the ASR user group and several cohorts. These aren't really used to teach a structured course but rather to learn through a community-like process. I may setup a course (if I can think of a good idea) to&nbsp;illustrate some&nbsp;Blackboard tools and advantages to distance learning.</div>  ]]></content:encoded></item><item><title><![CDATA[Google+ vs Facebook]]></title><link><![CDATA[http://www.keltdockins.com/2/post/2011/09/google-vs-facebook.html]]></link><comments><![CDATA[http://www.keltdockins.com/2/post/2011/09/google-vs-facebook.html#comments]]></comments><pubDate>Wed, 21 Sep 2011 21:42:58 -0600</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">http://www.keltdockins.com/2/post/2011/09/google-vs-facebook.html</guid><description><![CDATA[Signed up for a Google+ account a few days ago. If Google+ goes public in the next year (2012), then it may be the end of the world and Facebook. When they go public, it is on like Donkey Kong. And I think the guys at Facebook know this and have a plan, but given that Google has a larger customer base (1 billion strong) and their innovative products are used by the entire world - they have made their mission clear: become [...] ]]></description><content:encoded><![CDATA[<div  class="paragraph editable-text" style=" text-align: left; ">Signed up for a Google+ account a few days ago. If Google+ goes public in the next year (2012), then it may be the end of the world and Facebook. When they go public, <em>it is on like Donkey Kong</em>. And I think the guys at Facebook know this and have a plan, but given that Google has a larger customer base (1 billion strong) and their innovative products are used by the entire world - they have made their mission clear: become the world's Social network. Only a powerhouse like Google could do this, with the level of&nbsp;integration&nbsp;between Picasa and Android and the budget to make it #1.</div>  <div  class="paragraph editable-text" style=" text-align: left; "><strong>The 3 things that stood out to me about Google+</strong><br /><ol><li>Promise for integration with Picasa</li><li>Android mobile integration</li><li>Tightly coupled with Games and Apps (and websites)</li></ol></div>  <div >  <!--BLOG_SUMMARY_END--></div>  <h2  style=" text-align: left; ">Picasa (Tagging?)</h2>  <div  class="paragraph editable-text" style=" text-align: left; ">If you don't know about Picasa go check it out. It allows you to organize your photos and even has facial detection software so you can detect people in your album. It's sort of like tagging your friends in Facebook except that Picasa does it for you automatically. I can imagine this same algorithm would make Google+ very popular in the realm of photography (at least where people you know are actually in the photos).</div>  <h2  style=" text-align: left; ">Android Integration</h2>  <div  class="paragraph editable-text" style=" text-align: left; ">Why tell Facebook where you are, your phone knows that already. There are so many benefits here I can't list them. Given that Google rules the Android world, and many of the applications that make smart phones great... they can't go wrong.</div>  <h2  style=" text-align: left; ">Websites, games and more</h2>  <div  class="paragraph editable-text" style=" text-align: left; ">After I signed up for&nbsp;Google+,&nbsp;I noticed a whole new experience with in my Chrome browser (also another Google product). It seems that Google+ has this +1 button everywhere, and it will let me know about all the cool stuff Google+ can offer. It's everywhere. In reality, it is going to be impossible to ignore Google+.</div>  <span class='imgPusher' style='float:left;height:0px'></span><span style=' float: left; z-index: 10; position: relative; ;clear:left;margin-top:0px;*margin-top:0px'><a href='http://www.keltdockins.com/uploads/4/5/2/8/4528711/446192169_orig.png' rel='lightbox' onclick='if (!lightboxLoaded) return false'><img src="http://www.keltdockins.com/uploads/4/5/2/8/4528711/446192169.png" style="margin-top: 5px; margin-bottom: 10px; margin-left: 0px; margin-right: 10px; border-width:1px;padding:3px;" alt="Picture" class="galleryImageBorder" /></a><div style="display: block; font-size: 90%; margin-top: -10px; margin-bottom: 10px; text-align: center;">A Monopoly game based off of Google.</div></span> <div  class="paragraph editable-text" style=" text-align: left; display: block; ">Obviously, I sound like a big Google Fanboy so I'm going to talk about something else besides how wonderful Google is. I'm not a stock guy and over $500 per share seems very, very steep. I have no clue what will happen to Google's stock but I can guess that apart from a government take over (to prevent <a href="http://mistersnitch.blogspot.com/2008/04/googleopoly-board-game.html" title="">googolopoloy</a>), there is great promise in Google Corp.&nbsp;<br /><br />I know their apps are amazing, and developers (including myself) love to work with the api. It is simple. It is built by creative minds and crafted with simplicity in mind - not to mention the documentation. Google Apps provides clean documentation, tutorials to get started and plenty of client library support.<br /><br />My biggest beef with Google Apps is that if there is a bug with the products, it's difficult to get in touch with a "real person." Also, why have they not opened the developer api for Google+ yet? I may have to put some of my Google experience to use and develop a Google+ application - which will hopefully rival Facebook's <a href="http://developers.facebook.com/docs/reference/api/" title="">Graph API</a>&nbsp;which happens to be pretty sleek.</div> <hr  style=" clear: both; visibility: hidden; width: 100%; "></hr>  <div  class="paragraph editable-text" style=" text-align: left; ">Which brings me to my next beef. The APIs change quite frequently and depreciate rapidly (for example, see the Google Spreadsheet API). And Facebook is notorious for changing it's API constantly. What's FBML again? Now, granted I am a web developer and not a business hat, I have really been looking at this from the developer perspective and, I can tell you from this view... Google+ has no where to go but up. It's still not ready to compete with Facebook, but it's getting closer every day.<br /></div>  ]]></content:encoded></item><item><title><![CDATA[Replace Array Keys In PHP]]></title><link><![CDATA[http://www.keltdockins.com/2/post/2011/04/replace-array-keys-in-php.html]]></link><comments><![CDATA[http://www.keltdockins.com/2/post/2011/04/replace-array-keys-in-php.html#comments]]></comments><pubDate>Thu, 28 Apr 2011 22:06:24 -0600</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">http://www.keltdockins.com/2/post/2011/04/replace-array-keys-in-php.html</guid><description><![CDATA[If you want to replace the keys in an array there is no native php function that does this currently. So I wrote one. It takes the keys from the first array and replaces it with a new key. See code snippet below.  div.embedPastebin { margin: 20px 40px 20px 40px !important;  [...] ]]></description><content:encoded><![CDATA[<div  class="paragraph editable-text" style=" text-align: left; "><font size="3">If you want to replace the keys in an array there is no native php function that does this currently. So I wrote one. It takes the keys from the first array and replaces it with a new key. See code snippet below.</font></div>  <div ><div id="542432708511145166" align="left" style="width: 100%; overflow-y: hidden;" class="wcustomhtml"><style type="text/css">div.embedPastebin { margin: 20px 40px 20px 40px !important; } </style> <script src="http://pastebin.com/embed_js.php?i=ZXybTPrd"></script></div>    </div>  ]]></content:encoded></item><item><title><![CDATA[How The Mighty Have Fallen!]]></title><link><![CDATA[http://www.keltdockins.com/2/post/2011/02/how-the-mighty-have-fallen.html]]></link><comments><![CDATA[http://www.keltdockins.com/2/post/2011/02/how-the-mighty-have-fallen.html#comments]]></comments><pubDate>Tue, 08 Feb 2011 15:34:14 -0600</pubDate><category><![CDATA[Uncategorized]]></category><guid isPermaLink="false">http://www.keltdockins.com/2/post/2011/02/how-the-mighty-have-fallen.html</guid><description><![CDATA[I took a ride on the way back machine to find something that is interesting to me. Even since Google first started their search engine in the&nbsp;90's&nbsp;they have kept the same consistent layout.   [...] ]]></description><content:encoded><![CDATA[<div  class="paragraph editable-text" style=" text-align: left; "><font size="3">I took a ride on the way back machine to find something that is interesting to me. Even since Google first started their search engine in the&nbsp;<strong>90's</strong>&nbsp;they have kept the same consistent layout.</font></div>  <div ><div style="text-align: center;"><a><img src="http://www.keltdockins.com/uploads/4/5/2/8/4528711/8428252.jpg" style="margin-top: 10px; margin-bottom: 10px; margin-left: 10px; margin-right: 10px; border-width:1px;padding:3px;" alt="Picture" class="galleryImageBorder" /></a><div style="display: block; font-size: 90%; margin-top: -10px; margin-bottom: 10px;"></div></div></div>  <div  class="paragraph editable-text" style=" text-align: justify; "><font size="3">Even the "<em>I'm feeling lucky</em>" button remains! <strong>How many other products</strong> do you know that have kept the <font color="#CC0000">same </font>user&nbsp;interface&nbsp;for over 10 years and </font><font size="4">grown in </font><font size="5">success</font><font size="3">?</font><br /><br /><font size="3">Furthermore, my memory is <font color="#CCCCCC">cloudy </font>with various vage snapshots of random search engines I used before Google.&nbsp;Dogpile&nbsp;and&nbsp;Metacity&nbsp;for instance. In fact, I've been using Google so long I&nbsp;</font><em style="font-size: medium; ">can't remember how to search without it.</em><br /></div>  ]]></content:encoded></item></channel></rss>

