<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7153762335895481693</id><updated>2011-07-30T17:40:13.817-07:00</updated><category term='LINQ'/><category term='jQuery'/><category term='javascript'/><category term='mysql'/><category term='render partial'/><category term='schema'/><category term='xap'/><category term='web development'/><category term='RIA'/><category term='sql server'/><category term='ASP.NET MVC'/><category term='silverlighttemplates.com'/><category term='netbeans'/><category term='Templates'/><category term='custom configuration'/><category term='grails'/><category term='developers'/><category term='NHIBERNATE'/><category term='reporting services'/><category term='SSRS 2005'/><category term='visual svn'/><category term='svn server'/><category term='designers'/><category term='vb.net'/><category term='Silverlight'/><title type='text'>Night Time Technologies</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-7023480540547131307</id><published>2009-12-16T07:27:00.000-08:00</published><updated>2009-12-16T07:30:20.711-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='designers'/><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='developers'/><category scheme='http://www.blogger.com/atom/ns#' term='silverlighttemplates.com'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Getting Started guide for SilverlightTemplates</title><content type='html'>SilverlightTemplates.com is excited to share the Getting Started Guide for Silverlight designers. If you follow this link: &lt;a href="http://www.silverlighttemplates.com/Home/GettingStarted" target="_blank"  title="Getting Started"&gt;Getting Started&lt;/a&gt; it should give you all the information you need to start using the site. &lt;br /&gt;&lt;br /&gt;Our intent with SilverlightTemplates.com was to give Silverlight designers/developers a community portal to get their work out in front of as large an audience as possible. To that end, we are working hard with bloggers, user groups and other commercial sites to spread the word. If you belong to a Silverlight-oriented group, please spread the word. We will gladly do a "link exchange" (you know, you link to us and we'll link to you) as this is a great way to build a strong community.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-7023480540547131307?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/7023480540547131307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/getting-started-guide-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/7023480540547131307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/7023480540547131307'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/getting-started-guide-for.html' title='Getting Started guide for SilverlightTemplates'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-4702024971676041725</id><published>2009-12-07T17:51:00.000-08:00</published><updated>2009-12-07T17:54:13.666-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Templates'/><category scheme='http://www.blogger.com/atom/ns#' term='silverlighttemplates.com'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='xap'/><title type='text'>Load a Xap file from Binary</title><content type='html'>Recently I was faced with a situation where I needed to load a .xap file from a database and preview the file using Silverlight. Typically, to display a Silverlight app hosted in a web site, one would use the&lt;br /&gt;tag. A detailed description of how to use this with all the available parameters can be found &lt;a href="http://www.webmaster-toolkit.com/mime-types.shtml"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The .xap file, which is really just a compressed package of all the necessary bits needed to run a Silverlight application, typically is stored in the file system and is referenced using the src attribute of the tag. So right there is the problem. Our .xap files are not stored in the file system, but rather in binary fields in our SQL Server 2008 database. The src property is a string indicating the path and file name of the .xap package. Argh.&lt;br /&gt;&lt;br /&gt;To deal with this, what was needed is a way to reference the .xap file (stored in the database) with a relative url. A Silverlight application has a mime type of application/x-silverlight. This is important to note because of an interesting way one can use an .aspx page to render binary content. Prior to this, I had used an .aspx page to render jpeg images from a binary stream. Basically, this is done by clearing the response content completely in the code-behind of the page and writing the bits to the response content stream. Set the content-type and your good to go.&lt;br /&gt;&lt;br /&gt;Well, as it turns out, this technique not only works for images, but *any* binary format that has an associated mime type. A comprehensive list of mime types can be found here. In the case of images, to set the image source to a binary file stored in a database all you do is create a page as I described and then set the src property to the url of that page. So let's say you want to retrieve an image from your database and render it using an img tag and the url of your page is ../mySite/ImageLoader.aspx. You could call the page passing it the id of the record you want to load and render the image like so:&lt;br /&gt;&amp;lt;img src="..mySite/ImageLoader.aspx?imgId=42" /&amp;gt;&lt;br /&gt;&lt;br /&gt;That's it. Simple.&lt;br /&gt;&lt;br /&gt;See where I'm going with this? How is that different from:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;object type="application/x-silverlight-2"&lt;br /&gt; data="data:application/x-silverlight," width="450" height="220"&amp;gt;&lt;br /&gt; &amp;lt;param name="source" value="../mySite/ImageLoader.aspx?xapId=42"/&amp;gt;&lt;br /&gt;object&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Answer: It's not. Just have the page set the content type to application/x-silverlight and you are good to go. For reference, here's the code that rewrites the output stream:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;int bufferSize = 1024 * 100;   // load 100KB at a time&lt;br /&gt;byte[] buffer = new byte[bufferSize];&lt;br /&gt;int bytesRead = 0;&lt;br /&gt;long bytesToRead;&lt;br /&gt;MemoryStream ms = new MemoryStream(src.ToArray());&lt;br /&gt;&lt;br /&gt;// src is the binary file to read. How you load that is a story for another day&lt;br /&gt;&lt;br /&gt;bytesToRead = src.Length;&lt;br /&gt;Response.ContentType = this.GetContentType(filetype);&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;  while (bytesToRead &gt; 0)&lt;br /&gt;  {&lt;br /&gt;      if (Response.IsClientConnected)&lt;br /&gt;      {&lt;br /&gt;          bytesRead = ms.Read(buffer, 0, bufferSize);&lt;br /&gt;          Response.OutputStream.Write(buffer, 0, bytesRead);&lt;br /&gt;          Response.Flush();&lt;br /&gt;&lt;br /&gt;          bytesToRead -= bytesRead;&lt;br /&gt;&lt;br /&gt;          // re-initialize the buffer and counter&lt;br /&gt;          bytesRead = 0;&lt;br /&gt;          Array.Clear(buffer, 0, buffer.Length);&lt;br /&gt;      }&lt;br /&gt;      else&lt;br /&gt;      {&lt;br /&gt;          // make sure to break out of the loop if the client disconnects prematurely&lt;br /&gt;          bytesToRead = -1;&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;catch (Exception ex)&lt;br /&gt;{&lt;br /&gt;  string err = ex.Message;&lt;br /&gt;  Response.Write("" + ERROR_READING_FILE + "");&lt;br /&gt;}&lt;br /&gt;finally&lt;br /&gt;{&lt;br /&gt;  if (ms != null)&lt;br /&gt;  {&lt;br /&gt;      ms.Close();&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-4702024971676041725?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/4702024971676041725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/load-xap-file-from-binary.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/4702024971676041725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/4702024971676041725'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/load-xap-file-from-binary.html' title='Load a Xap file from Binary'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-6892546911151098246</id><published>2009-12-07T17:50:00.001-08:00</published><updated>2009-12-07T17:51:09.663-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Templates'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Introducing SiverlightTemplates.com</title><content type='html'>Well, it's finally here. I am proud to announce the launch of a new site: SilverlightTemplates.com. This site is a portal for designers/developers to show off their stuff and give them a place to sell their wares. It's a place for people looking for web site templates using Silverlight to hook up with talent from around the world to get some of the hottest site templates money can buy. Are there free Silverlight tempates available. Absolutely. And, you get what you pay for. With SilverlightTemplates.com, you not only get top-quality web site templates using Silverlight, but also a portal to the vast resources in the world of Silverlight and .NET development in general. Check it out and register: &lt;a href="http://www.silverlighttemplates.com"&gt;SilverlightTemplates.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-6892546911151098246?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/6892546911151098246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/introducing-siverlighttemplatescom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/6892546911151098246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/6892546911151098246'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/introducing-siverlighttemplatescom.html' title='Introducing SiverlightTemplates.com'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-7587937144395469409</id><published>2009-12-07T17:46:00.000-08:00</published><updated>2009-12-07T17:49:10.647-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server'/><category scheme='http://www.blogger.com/atom/ns#' term='schema'/><title type='text'>Generate A Schema from a SQL Server Table</title><content type='html'>Xml Serialization can help if you have to save some very complex data from the web. This is the process:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Post an xml document representing the business object(s) of what you want to save. This should conform to a valid schema (which I'll show you how to generate in just a second).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Deserialize (unmarshall) the xml document on the server.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Save the data to the database&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Return something (depends on your specific requirements).&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;So, to start with, you'll need a valid schema for the tables(s) to which you want to save data. Here's the code (in the form of a console application) to generate those schemas (unless you have some sick affinity with writing these by hand):&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Data.SqlClient;&lt;br /&gt;using System.Data;&lt;br /&gt;&lt;br /&gt;namespace GenSchema&lt;br /&gt;{&lt;br /&gt; class Program&lt;br /&gt; {&lt;br /&gt;  static void Main(string[] args)&lt;br /&gt;  {&lt;br /&gt;   string constr = @"Data Source=YOURSERVER\;Initial Catalog=YOURDB;Integrated Security=True";&lt;br /&gt;   string table = "yourTable";&lt;br /&gt;   SqlConnection conn = new SqlConnection(constr);&lt;br /&gt;   using (conn)&lt;br /&gt;   {&lt;br /&gt;    SqlDataAdapter sql = new SqlDataAdapter("SELECT * FROM " + table, conn);&lt;br /&gt;&lt;br /&gt;    sql.TableMappings.Add("Table", table);&lt;br /&gt;    DataSet ds = new DataSet("NewDataset");&lt;br /&gt;    sql.FillSchema(ds, SchemaType.Mapped);&lt;br /&gt;    ds.WriteXmlSchema(table + ".xsd");&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Of course, you would fill in the information for your connection string and the table with which you want to work.&lt;br /&gt;&lt;br /&gt;Next, to deserialize the data, you must pass in an xml document that conforms to the schema you just generated. That may require some testing, but once you get it right you're golden. If you haven't already, use the xsd.exe utility to generate the C# class from your schema. You'll notice that there are various xml attributes assigned to each property. These will be used in the deserialization process. If you already have the classes (if you're using LINQ to SQL, for example) then simply rename this new class to something else. It's only purpose is to hold the deserialized information temporarily anyway. Here's the code to deserialize your data:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Data.SqlClient;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Xml;&lt;br /&gt;using System.Xml.Serialization;&lt;br /&gt;using System.Text;&lt;br /&gt;namespace GenSchema&lt;br /&gt;{&lt;br /&gt; class Program&lt;br /&gt; {&lt;br /&gt;  static void DeSerialize(string xDoc)&lt;br /&gt;  {&lt;br /&gt;   XmlSerializer ser = new XmlSerializer(typeof(MyObject));&lt;br /&gt;   XmlTextReader reader = new XmlTextReader(xDoc);&lt;br /&gt;   MyObject obj = (MyObject)ser.Deserialize(reader);&lt;br /&gt;   reader.Close();&lt;br /&gt;   // Save using whatever method you choose.&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Certainly, your situation will require some modifications to the above code, but this should at least get you started in the right direction. Hope it helps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-7587937144395469409?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/7587937144395469409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/generate-schema-from-sql-server-table.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/7587937144395469409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/7587937144395469409'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/generate-schema-from-sql-server-table.html' title='Generate A Schema from a SQL Server Table'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-5947269967903397828</id><published>2009-12-07T17:44:00.000-08:00</published><updated>2009-12-07T17:45:53.188-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Filter Lists Using jQuery</title><content type='html'>Here's a little snippet that will filter a list as the user types as well as bold the search expression within the list.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$("#searchMyProjects").keyup(function() {&lt;br /&gt;    var filter = $(this).val(), count = 0;&lt;br /&gt;    $("span.projectSelectionName").each(function() {&lt;br /&gt;    if ($(this).text().search(new RegExp(filter, "i")) &amp;lt; 0) {&lt;br /&gt;     $(this).parent().parent().hide();&lt;br /&gt;     $(this).hide();&lt;br /&gt;    } else {&lt;br /&gt;     $(this).parent().parent().show();&lt;br /&gt;     $(this).html($(this).text().replace(new RegExp(filter, "i"), "&amp;lt;b&amp;gt;" + filter + "&amp;lt;/b&amp;gt;"));&lt;br /&gt;     $(this).show();&lt;br /&gt;     count++;&lt;br /&gt;    }&lt;br /&gt;   });&lt;br /&gt;   $("#filterCount").text(count);&lt;br /&gt;});      &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The filter expression s updated with &amp;lt;b&amp;gt; tags to highlight the search expression within the text. You can use whatever styling you want, of course. &lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-5947269967903397828?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/5947269967903397828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/filter-lists-using-jquery.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/5947269967903397828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/5947269967903397828'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/filter-lists-using-jquery.html' title='Filter Lists Using jQuery'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-4770378974270001549</id><published>2009-12-07T17:42:00.000-08:00</published><updated>2009-12-07T17:44:00.337-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='svn server'/><title type='text'>Upgrading A Subversion Repository</title><content type='html'>I recently had to move several Subversion repositories from one server to another. Normally, this isn't a big deal, but these repositories were using an old version of Subversion (1.4.something) and had to be upgraded to 1.6.1 which was an entirely different file format. I was able to find the following documentation which fortunately made the process very simple. The following is taken from the &lt;a href="http://svn.collab.net/repos/svn/trunk/notes/repos_upgrade_HOWTO"&gt;Collabnet site&lt;/a&gt;. I actually only needed steps 1 and 2. Hope this helps.&lt;br /&gt;&lt;br /&gt;HOW TO UPGRADE/DOWNGRADE YOUR REPOSITORY:&lt;br /&gt;----------------------------------------&lt;br /&gt;&lt;br /&gt;1. Use an 'svnadmin' binary from a release with the same schema version&lt;br /&gt;as your repository to create a dumpfile of your repository:&lt;br /&gt;&lt;br /&gt;$ mv myrepos old-repos&lt;br /&gt;$ svnadmin dump old-repos &gt; dumpfile&lt;br /&gt;&lt;br /&gt;2. Use an 'svnadmin' binary from a release with the same schema version&lt;br /&gt;as you want your repository to have to load the dumpfile into a new&lt;br /&gt;repository:&lt;br /&gt;&lt;br /&gt;$ svnadmin create myrepos&lt;br /&gt;$ svnadmin load myrepos &lt; dumpfile&lt;br /&gt;&lt;br /&gt;OR, if you're feeling saucy, you can do it all at once with a pipe:&lt;br /&gt;&lt;br /&gt;$ svnadmin-new create myrepos&lt;br /&gt;$ svnadmin-old dump old-repos | svnadmin-new load myrepos&lt;br /&gt;&lt;br /&gt;(If you are running at least version 1.4 and would like to make a&lt;br /&gt;format 3 repository, pass the --pre-1.4-compatible flag to&lt;br /&gt;"svnadmin create".)&lt;br /&gt;&lt;br /&gt;3. [OPTIONAL] Loading a dumpfile is both time- and disk-consuming,&lt;br /&gt;as it replays every commit. If your new repository is a BDB&lt;br /&gt;respository, then after the load is complete, you may want to&lt;br /&gt;free up some disk space by removing unused BerkeleyDB logfiles:&lt;br /&gt;&lt;br /&gt;$ svnadmin list-unused-dblogs newrepos | xargs rm&lt;br /&gt;&lt;br /&gt;Note: If you're using BerkeleyDB 4.2 or newer this will be done&lt;br /&gt;automatically for you, unless you've configured the repository&lt;br /&gt;not to behave this way.&lt;br /&gt;&lt;br /&gt;4. Don't forget to copy over any hook scripts (and DB_CONFIG for BDB&lt;br /&gt;repositories, if you changed it) from the old to the new&lt;br /&gt;repository:&lt;br /&gt;&lt;br /&gt;$ cp old-repos/hooks/* repos/hooks/&lt;br /&gt;$ cp old-repos/db/DB_CONFIG repos/db/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-4770378974270001549?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/4770378974270001549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/upgrading-subversion-repository.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/4770378974270001549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/4770378974270001549'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/upgrading-subversion-repository.html' title='Upgrading A Subversion Repository'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-2122596684472695181</id><published>2009-12-07T17:41:00.000-08:00</published><updated>2009-12-07T17:42:31.038-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visual svn'/><category scheme='http://www.blogger.com/atom/ns#' term='svn server'/><title type='text'>Setting Up a Subversion Server With Port Forwarding</title><content type='html'>Setting up a Subversion repository, like anything else, is really easy if you know how to do it. Fortunately, VisualSVN Server handles most of the painful stuff that used to have to be done manually. Now it's as simple as installing and setting up your router.&lt;br /&gt;&lt;br /&gt;So first, install VisualSVN Server. It comes with it's own set of instructions that are very easy to follow.&lt;br /&gt;&lt;br /&gt;Next, open up the admin console to your router and find the section that handles port forwarding. VisualSVN Server gives you the option of using either port 8080 or 8443 for a secure connection. I'd recommend going the secure route, just because. Enter the ip address of the machine on which VisualSVN Server is installed and enter 8443 as the start and end for the ip range. If needed, enter HTTPS as the service type. &lt;br /&gt;&lt;br /&gt;That's it. Done. So now you should be able to access your repository from the internet using https://[router_ip_address]:8443/svn/. So let's say your router's ip address is 79.168.199.4 and you have a repository called MyCoolStuff. The url to your repository (from outside your network) would be https://79.168.199.4:8443/svn/MyCoolStuff.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-2122596684472695181?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/2122596684472695181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/setting-up-subversion-server-with-port.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/2122596684472695181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/2122596684472695181'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/setting-up-subversion-server-with-port.html' title='Setting Up a Subversion Server With Port Forwarding'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-3057152388795946561</id><published>2009-12-07T17:39:00.001-08:00</published><updated>2009-12-07T17:41:24.794-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='render partial'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET MVC'/><title type='text'>Using RenderPartial() to Recursively Display Data</title><content type='html'>Scenario: You have hierarchical structure with n number of levels. This data must be displayed in nested divs/tables/lists. &lt;br /&gt;&lt;br /&gt;Using the ASP.NET MVC framework (currently at RC1), this can easily be achieved using partial views. Here's the jist of it:&lt;br /&gt;&lt;br /&gt;In the .aspx view page:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;% foreach(Thing parent in ViewData.Model) { %&amp;gt;&lt;br /&gt;   &amp;lt;% Html.RenderPartial("ThingControl", parent); %&amp;gt;&lt;br /&gt;&amp;lt;% } %&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And then in the partial view:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;!--  display single item here --&amp;gt;&lt;br /&gt;&amp;lt;% if (parent.children.Count &gt; 0){ %&amp;gt;&lt;br /&gt;&amp;lt;% Html.RenderPartial("ThingControl", parent); %&amp;gt;&lt;br /&gt;&amp;lt;% } %&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-3057152388795946561?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/3057152388795946561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/using-renderpartial-to-recursively.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/3057152388795946561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/3057152388795946561'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/using-renderpartial-to-recursively.html' title='Using RenderPartial() to Recursively Display Data'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-4741081934471295616</id><published>2009-12-07T17:38:00.001-08:00</published><updated>2009-12-07T17:39:09.321-08:00</updated><title type='text'>Solving the Late Binding Dilemma With the Factory Pattern</title><content type='html'>The scenario: Create an instance of a class polymorphically by evaluating a string at runtime.&lt;br /&gt;&lt;br /&gt;This could be done by calling Type.GetType("typename"), but this will only work if the type in question is COM visible. For example, &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   Dim oExcell as Object = Type.GetType("Excel.Application") &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;is the typical way of getting a reference to an Excel object. But if you want to create an instance of a custom class, there's a lot of complexity that you will need to add to your project. Why can't it just work? (How many times have I found myself asking *that* question?) The following is a concise alternative that will solve the problem. &lt;br /&gt;&lt;br /&gt;Here, we have a number of different report classes all based on a common base class. The PrintJobReportFactory class will return the correct instance based on a string. &lt;br /&gt;&lt;br /&gt;While most of the time, using hard-coded strings to control program flow impedes scalability, as Tom Cruise said "You know, Bill, there's one thing I learned in all my years. Sometimes you just gotta say, "What the ...". &lt;br /&gt;&lt;br /&gt;Of course, he also said "Porche, there is no substitute" to which I would answer with "Mustang GT 500".&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Public Class PrintJobReportFactory&lt;br /&gt; Public Shared Function GetReportInstance(ByVal type As String) As PrintJobBase&lt;br /&gt;&lt;br /&gt;  Dim retVal As PrintJobBase = Nothing&lt;br /&gt;  Select Case type&lt;br /&gt;   Case "WebDenialsStud"&lt;br /&gt;    retVal = New WebDenial()&lt;br /&gt;&lt;br /&gt;   Case "WebDenialsCoBor"&lt;br /&gt;    retVal = New WebDenial()&lt;br /&gt;&lt;br /&gt;   Case "WebCertifications"&lt;br /&gt;    retVal = New WebCertification()&lt;br /&gt;&lt;br /&gt;   Case "WebApprovals"&lt;br /&gt;    retVal = New WebDisclosers()&lt;br /&gt;&lt;br /&gt;   Case Else&lt;br /&gt;    retVal = Nothing&lt;br /&gt;  End Select&lt;br /&gt;&lt;br /&gt;  Return retVal&lt;br /&gt; End Function&lt;br /&gt;End Class&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-4741081934471295616?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/4741081934471295616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/solving-late-binding-dilemma-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/4741081934471295616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/4741081934471295616'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/solving-late-binding-dilemma-with.html' title='Solving the Late Binding Dilemma With the Factory Pattern'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-463840284551797296</id><published>2009-12-07T17:31:00.001-08:00</published><updated>2009-12-07T17:37:08.386-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='custom configuration'/><title type='text'>VB.NET Using custom configuration settings</title><content type='html'>Once again I am surprised at the lack of *working* examples of vb.net code. In this particular case, that may or may not be a completely fair statement because the examples I found (and there were quite a few) could very well have worked, they were just incomplete. Here is a complete example of using an app.config file to define a collection of reports. This will create a parent object with specific configuration information in it, and a collection of child elements which also have custom properties. While no two situations are alike, this should provide you with something that you can modify to suit your own needs. As it turns out, the most complete example I did find was on the msdn site. This is the example that I followed: &lt;a href="http://msdn.microsoft.com/en-us/library/system.configuration.configurationelementcollection.aspx"&gt;ConfigurationElementCollection Class&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In your app.config...&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; &amp;lt;configsections&amp;gt;&lt;br /&gt;  &amp;lt;section name="ServerReports" type="assemblyName.RSPrintSetup, assemblyName" allowdefinition="Everywhere" allowExeDefinition="MachineToApplication" restartOnExternalChanges="true" /&amp;gt;&lt;br /&gt;       &amp;lt;/configsections&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;serverreports name="PrivateLoanLetters" lockallelementsexcept="Reports" servername="http://rijb-sql2/ReportServer/?" tempfolder="C:\Plexus\Private Loans Letters\Private Loans Letters\Temp\"&amp;gt;&lt;br /&gt;  &amp;lt;reports&amp;gt;&lt;br /&gt;   &amp;lt;clear&amp;gt;&lt;br /&gt;   &amp;lt;add name="WebApprovals" reporttype=".pdf" runtime="4:00:00" /&amp;gt;&lt;br /&gt;   &amp;lt;add name="WebDenialsS" reporttype=".pdf" runtime="2:00:00" /&amp;gt;&lt;br /&gt;   &amp;lt;add name="WebDenialsC" reporttype=".pdf" runtime="2:00:00" /&amp;gt;&lt;br /&gt;   &amp;lt;add name="WebCertifications" reporttype=".pdf" runtime="4:00:00" /&amp;gt;&lt;br /&gt;  &amp;lt;/reports&amp;gt;&lt;br /&gt; &amp;lt;/serverreports&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And the VB.NET Classes...&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Imports System&lt;br /&gt;Imports System.Configuration&lt;br /&gt;Imports System.Collections&lt;br /&gt;Imports System.Collections.Generic&lt;br /&gt;Imports System.Collections.Specialized&lt;br /&gt;Imports System.Reflection&lt;br /&gt;Imports System.Text&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Public Class RSReport&lt;br /&gt; Inherits ConfigurationElement&lt;br /&gt;&lt;br /&gt; ' Test flag.&lt;br /&gt; Private Shared _displayIt As Boolean = False&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Public Sub New()&lt;br /&gt;&lt;br /&gt; End Sub 'New&lt;br /&gt;&lt;br /&gt;  _&lt;br /&gt;Public Property Name() As String&lt;br /&gt;  Get&lt;br /&gt;   Return CStr(Me("name"))&lt;br /&gt;  End Get&lt;br /&gt;  Set(ByVal value As String)&lt;br /&gt;   Me("name") = value&lt;br /&gt;  End Set&lt;br /&gt; End Property&lt;br /&gt;&lt;br /&gt;  _&lt;br /&gt;   Public Property RunTime() As String&lt;br /&gt;  Get&lt;br /&gt;   Return CStr(Me("RunTime"))&lt;br /&gt;  End Get&lt;br /&gt;  Set(ByVal value As String)&lt;br /&gt;   Me("RunTime") = value&lt;br /&gt;  End Set&lt;br /&gt; End Property&lt;br /&gt;&lt;br /&gt;  _&lt;br /&gt;Public Property ReportType() As String&lt;br /&gt;  Get&lt;br /&gt;   Return CStr(Me("ReportType"))&lt;br /&gt;  End Get&lt;br /&gt;  Set(ByVal value As String)&lt;br /&gt;   Me("ReportType") = value&lt;br /&gt;  End Set&lt;br /&gt; End Property&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Protected Overrides Sub DeserializeElement(ByVal reader As System.Xml.XmlReader, ByVal serializeCollectionKey As Boolean)&lt;br /&gt;  MyBase.DeserializeElement(reader, serializeCollectionKey)&lt;br /&gt;&lt;br /&gt;  ' Enter your custom processing code here.&lt;br /&gt;  If _displayIt Then&lt;br /&gt;   Console.WriteLine( _&lt;br /&gt;   "UrlConfigElement.DeserializeElement({0, {1) called", _&lt;br /&gt;   IIf(reader Is Nothing, "null", _&lt;br /&gt;   reader.ToString()), _&lt;br /&gt;   serializeCollectionKey.ToString())&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt; End Sub 'DeserializeElement&lt;br /&gt;&lt;br /&gt; Protected Overrides Function SerializeElement(ByVal writer _&lt;br /&gt; As System.Xml.XmlWriter, _&lt;br /&gt; ByVal serializeCollectionKey As Boolean) As Boolean&lt;br /&gt;&lt;br /&gt;  Dim ret As Boolean = MyBase.SerializeElement(writer, serializeCollectionKey)&lt;br /&gt;&lt;br /&gt;  ' Enter your custom processing code here.&lt;br /&gt;  If _displayIt Then&lt;br /&gt;   Console.WriteLine( _&lt;br /&gt;   "UrlConfigElement.SerializeElement({0, {1) called = {2", _&lt;br /&gt;   IIf(writer Is Nothing, "null", _&lt;br /&gt;   writer.ToString()), _&lt;br /&gt;   serializeCollectionKey.ToString(), _&lt;br /&gt;   ret.ToString())&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  Return ret&lt;br /&gt;&lt;br /&gt; End Function 'SerializeElement&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Protected Overrides Function IsModified() As Boolean&lt;br /&gt;  Dim ret As Boolean = MyBase.IsModified()&lt;br /&gt;&lt;br /&gt;  ' Enter your custom processing code here.&lt;br /&gt;  Console.WriteLine("UrlConfigElement.IsModified() called.")&lt;br /&gt;&lt;br /&gt;  Return ret&lt;br /&gt;&lt;br /&gt; End Function 'IsModified&lt;br /&gt;&lt;br /&gt;End Class&lt;br /&gt;&lt;br /&gt; _&lt;br /&gt;Public Class ReportsCollection&lt;br /&gt; Inherits ConfigurationElementCollection&lt;br /&gt;&lt;br /&gt; Public Sub New()&lt;br /&gt;  Dim url As RSReport = CType(CreateNewElement(), RSReport)&lt;br /&gt;&lt;br /&gt;  ' Testing: Manually add the element to the collection.&lt;br /&gt;  'Add(url)&lt;br /&gt;&lt;br /&gt; End Sub 'New&lt;br /&gt;&lt;br /&gt; Public Overrides ReadOnly Property CollectionType() _&lt;br /&gt; As ConfigurationElementCollectionType&lt;br /&gt;  Get&lt;br /&gt;   Return ConfigurationElementCollectionType.AddRemoveClearMap&lt;br /&gt;  End Get&lt;br /&gt; End Property&lt;br /&gt;&lt;br /&gt; Protected Overloads Overrides Function CreateNewElement() As ConfigurationElement&lt;br /&gt;  Return New RSReport()&lt;br /&gt;&lt;br /&gt; End Function 'CreateNewElement&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Protected Overloads Overrides Function CreateNewElement(ByVal elementName As String) As ConfigurationElement&lt;br /&gt;  Return New RSReport(elementName)&lt;br /&gt;&lt;br /&gt; End Function 'CreateNewElement&lt;br /&gt;&lt;br /&gt; Protected Overrides Function GetElementKey( _&lt;br /&gt; ByVal element As ConfigurationElement) As [Object]&lt;br /&gt;  Return CType(element, RSReport).Name&lt;br /&gt;&lt;br /&gt; End Function 'GetElementKey&lt;br /&gt;&lt;br /&gt; Public Shadows Property AddElementName() As String&lt;br /&gt;  Get&lt;br /&gt;   Return MyBase.AddElementName&lt;br /&gt;  End Get&lt;br /&gt;  Set(ByVal value As String)&lt;br /&gt;   MyBase.AddElementName = value&lt;br /&gt;  End Set&lt;br /&gt; End Property&lt;br /&gt;&lt;br /&gt; Public Shadows Property ClearElementName() As String&lt;br /&gt;  Get&lt;br /&gt;   Return MyBase.ClearElementName&lt;br /&gt;  End Get&lt;br /&gt;  Set(ByVal value As String)&lt;br /&gt;   MyBase.AddElementName = value&lt;br /&gt;  End Set&lt;br /&gt; End Property&lt;br /&gt;&lt;br /&gt; Public Shadows ReadOnly Property RemoveElementName() As String&lt;br /&gt;  Get&lt;br /&gt;   Return MyBase.RemoveElementName&lt;br /&gt;  End Get&lt;br /&gt; End Property&lt;br /&gt;&lt;br /&gt; Public Shadows ReadOnly Property Count() As Integer&lt;br /&gt;&lt;br /&gt;  Get&lt;br /&gt;   Return MyBase.Count&lt;br /&gt;  End Get&lt;br /&gt; End Property&lt;br /&gt;&lt;br /&gt; Default Public Shadows Property Item( _&lt;br /&gt; ByVal index As Integer) As RSReport&lt;br /&gt;  Get&lt;br /&gt;   Return CType(BaseGet(index), RSReport)&lt;br /&gt;  End Get&lt;br /&gt;  Set(ByVal value As RSReport)&lt;br /&gt;   If Not (BaseGet(index) Is Nothing) Then&lt;br /&gt;    BaseRemoveAt(index)&lt;br /&gt;   End If&lt;br /&gt;   BaseAdd(index, value)&lt;br /&gt;  End Set&lt;br /&gt; End Property&lt;br /&gt;&lt;br /&gt; Default Public Shadows ReadOnly Property Item( _&lt;br /&gt; ByVal Name As String) As RSReport&lt;br /&gt;  Get&lt;br /&gt;   Return CType(BaseGet(Name), RSReport)&lt;br /&gt;  End Get&lt;br /&gt; End Property&lt;br /&gt;&lt;br /&gt; Public Function IndexOf( _&lt;br /&gt; ByVal rpt As RSReport) As Integer&lt;br /&gt;  Return BaseIndexOf(rpt)&lt;br /&gt;&lt;br /&gt; End Function 'IndexOf&lt;br /&gt;&lt;br /&gt; Public Sub Add(ByVal rpt As RSReport)&lt;br /&gt;  BaseAdd(rpt)&lt;br /&gt;  ' Add custom code here.&lt;br /&gt; End Sub 'Add&lt;br /&gt;&lt;br /&gt; Protected Overrides Sub BaseAdd( _&lt;br /&gt; ByVal element As ConfigurationElement)&lt;br /&gt;  BaseAdd(element, False)&lt;br /&gt;  ' Add custom code here.&lt;br /&gt; End Sub 'BaseAdd&lt;br /&gt;&lt;br /&gt; Public Overloads Sub Remove( _&lt;br /&gt; ByVal url As RSReport)&lt;br /&gt;  If BaseIndexOf(url) &gt;= 0 Then&lt;br /&gt;   BaseRemove(url.Name)&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt; End Sub 'Remove&lt;br /&gt;&lt;br /&gt; Public Sub RemoveAt(ByVal index As Integer)&lt;br /&gt;  BaseRemoveAt(index)&lt;br /&gt;&lt;br /&gt; End Sub 'RemoveAt&lt;br /&gt;&lt;br /&gt; Public Overloads Sub Remove(ByVal name As String)&lt;br /&gt;  BaseRemove(name)&lt;br /&gt;&lt;br /&gt; End Sub 'Remove&lt;br /&gt;&lt;br /&gt; Public Sub Clear()&lt;br /&gt;  BaseClear()&lt;br /&gt;&lt;br /&gt; End Sub 'Clear ' Add custom code here.&lt;br /&gt;End Class&lt;br /&gt;&lt;br /&gt;Public Class RSPrintSetup&lt;br /&gt; Inherits ConfigurationSection&lt;br /&gt;&lt;br /&gt; Public Sub New()&lt;br /&gt;  Me.OutputOptions = New List(Of String)&lt;br /&gt; End Sub&lt;br /&gt;&lt;br /&gt;  _&lt;br /&gt;  Public Property Name() As String&lt;br /&gt;&lt;br /&gt;  Get&lt;br /&gt;   Return CStr(Me("name"))&lt;br /&gt;  End Get&lt;br /&gt;  Set(ByVal value As String)&lt;br /&gt;   Me("name") = value&lt;br /&gt;  End Set&lt;br /&gt; End Property&lt;br /&gt;&lt;br /&gt;  _&lt;br /&gt;   Public Property TempFolder() As String&lt;br /&gt;&lt;br /&gt;  Get&lt;br /&gt;   Return CStr(Me("TempFolder"))&lt;br /&gt;  End Get&lt;br /&gt;  Set(ByVal value As String)&lt;br /&gt;   Me("TempFolder") = value&lt;br /&gt;  End Set&lt;br /&gt; End Property&lt;br /&gt;&lt;br /&gt; ' Declare a collection element represented&lt;br /&gt; ' in the configuration file by the sub-section&lt;br /&gt; '   &lt;br /&gt; ' Note: the "IsDefaultCollection = false"&lt;br /&gt; ' instructs the .NET Framework to build a nested&lt;br /&gt; ' section like  ....&lt;br /&gt;  _&lt;br /&gt;  Public ReadOnly Property Reports() _&lt;br /&gt;  As ReportsCollection&lt;br /&gt;  Get&lt;br /&gt;   Dim urlsCollection _&lt;br /&gt;    As ReportsCollection = _&lt;br /&gt;    CType(Me("Reports"), ReportsCollection)&lt;br /&gt;   Return urlsCollection&lt;br /&gt;  End Get&lt;br /&gt; End Property&lt;br /&gt;&lt;br /&gt; Protected Overrides Sub DeserializeSection( _&lt;br /&gt;  ByVal reader As System.Xml.XmlReader)&lt;br /&gt;&lt;br /&gt;  MyBase.DeserializeSection(reader)&lt;br /&gt;  ' Enter custom processing code here.&lt;br /&gt; End Sub 'DeserializeSection&lt;br /&gt;&lt;br /&gt; Protected Overrides Function SerializeSection( _&lt;br /&gt;  ByVal parentElement As ConfigurationElement, _&lt;br /&gt;  ByVal name As String, _&lt;br /&gt;  ByVal saveMode As ConfigurationSaveMode) As String&lt;br /&gt;&lt;br /&gt;  Dim s As String = _&lt;br /&gt;   MyBase.SerializeSection(parentElement, _&lt;br /&gt;   name, saveMode)&lt;br /&gt;  ' Enter custom processing code here.&lt;br /&gt;  Return s&lt;br /&gt; End Function 'SerializeSection&lt;br /&gt;&lt;br /&gt;End Class&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-463840284551797296?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/463840284551797296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/vbnet-using-custom-configuration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/463840284551797296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/463840284551797296'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/vbnet-using-custom-configuration.html' title='VB.NET Using custom configuration settings'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-2972159419456138203</id><published>2009-12-07T17:29:00.000-08:00</published><updated>2009-12-07T17:30:56.926-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='reporting services'/><category scheme='http://www.blogger.com/atom/ns#' term='SSRS 2005'/><title type='text'>Saving PDF reports from SQL Server Reporting Services using VB.NET</title><content type='html'>While there are plenty of C# examples, there are surprisingly few *working* examples of vb.net code to print reports from Reporting Services via code. Hopefully this will help to fill that void. This sample uses SSRS 2005 and VB.NET and should prove to be a welcome change from using third-party com objects for generating pdf files.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  Dim strCreateUrl As String = yourServer + yourReportFolder + "?" + yourReportName + "&amp;rs:Command=Render&amp;rs:format=PDF"&lt;br /&gt;&lt;br /&gt;  Dim webRequest As System.Net.WebRequest = System.Net.WebRequest.Create(strCreateUrl)&lt;br /&gt;  webRequest.Credentials = System.Net.CredentialCache.DefaultCredentials&lt;br /&gt;&lt;br /&gt;  ' Return the response.&lt;br /&gt;  Dim webResponse As System.Net.HttpWebResponse = CType(webRequest.GetResponse(), System.Net.HttpWebResponse)&lt;br /&gt;  Dim ReceiveStream As System.IO.Stream = webResponse.GetResponseStream()&lt;br /&gt;&lt;br /&gt;  Dim binByte As Byte()&lt;br /&gt;  Dim rdBinaryReader As BinaryReader = New BinaryReader(webResponse.GetResponseStream)&lt;br /&gt;  binByte = rdBinaryReader.ReadBytes(webResponse.ContentLength)&lt;br /&gt;  rdBinaryReader.Close()&lt;br /&gt;&lt;br /&gt;  Dim outstream As New MemoryStream()&lt;br /&gt;  outstream.Write(binByte, 0, binByte.Length)&lt;br /&gt;&lt;br /&gt;  Dim buffer(binByte.Length) As Byte&lt;br /&gt;  Using stream As FileStream = File.OpenWrite(outputName)&lt;br /&gt;&lt;br /&gt;   stream.Write(binByte, 0, binByte.Length)&lt;br /&gt;   webResponse.Close()&lt;br /&gt;&lt;br /&gt;  End Using&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-2972159419456138203?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/2972159419456138203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/saving-pdf-reports-from-sql-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/2972159419456138203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/2972159419456138203'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/saving-pdf-reports-from-sql-server.html' title='Saving PDF reports from SQL Server Reporting Services using VB.NET'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-5366783856131090738</id><published>2009-12-07T17:28:00.001-08:00</published><updated>2009-12-07T17:29:12.970-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Event Bubbling in jQuery</title><content type='html'>The scenario: Nested divs representing an outline structure. When the user clicks a heading, the sub-nodes should toggle.&lt;br /&gt;&lt;br /&gt;The code would look something like this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$(".OutlineHeading1 &gt; label").click(function(){&lt;br /&gt; $(this).nextAll(".OutlineHeading2").toggle('slow');               &lt;br /&gt;});&lt;br /&gt;$(".OutlineHeading2 &gt; label").click(function(){&lt;br /&gt; $(this).nextAll(".OutlineHeading3").toggle('slow');               &lt;br /&gt;});&lt;br /&gt;$(".OutlineHeading3 &gt; label").click(function(){&lt;br /&gt; $(this).nextAll(".OutlineHeading4").toggle('slow');               &lt;br /&gt;});&lt;br /&gt;$(".OutlineHeading4 &gt; label").click(function(){&lt;br /&gt; $(this).nextAll(".OutlineHeading5").toggle('slow');               &lt;br /&gt;});&lt;br /&gt;$(".OutlineHeading5 &gt; label").click(function(){&lt;br /&gt; $(this).nextAll(".OutlineHeading6").toggle('slow');               &lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The problem: In Internet Explorer, the click event gets fired multiple times in the nested divs because of event bubbling. &lt;br /&gt;&lt;br /&gt;The solution: return false. As in:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$(".OutlineHeading1 &gt; label").click(function(){&lt;br /&gt; $(this).nextAll(".OutlineHeading2").toggle('slow');               &lt;br /&gt;        return false;&lt;br /&gt;});&lt;br /&gt;$(".OutlineHeading2 &gt; label").click(function(){&lt;br /&gt; $(this).nextAll(".OutlineHeading3").toggle('slow');               &lt;br /&gt;        return false;&lt;br /&gt;});&lt;br /&gt;$(".OutlineHeading3 &gt; label").click(function(){&lt;br /&gt; $(this).nextAll(".OutlineHeading4").toggle('slow');               &lt;br /&gt;        return false;&lt;br /&gt;});&lt;br /&gt;$(".OutlineHeading4 &gt; label").click(function(){&lt;br /&gt; $(this).nextAll(".OutlineHeading5").toggle('slow');               &lt;br /&gt;        return false;&lt;br /&gt;});&lt;br /&gt;$(".OutlineHeading5 &gt; label").click(function(){&lt;br /&gt; $(this).nextAll(".OutlineHeading6").toggle('slow');    &lt;br /&gt;        return false;           &lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-5366783856131090738?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/5366783856131090738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/event-bubbling-in-jquery.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/5366783856131090738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/5366783856131090738'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/event-bubbling-in-jquery.html' title='Event Bubbling in jQuery'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-4982055265941941003</id><published>2009-12-07T17:23:00.000-08:00</published><updated>2009-12-07T17:27:25.590-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NHIBERNATE'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Single Table Inheritance with LINQ</title><content type='html'>For a while now I've been using LINQ in my ASP.NET applications and it has been a huge time saver. Having used nHibernate prior to this, the prospect of not having to deal with config files was a double bonus. One thing I do miss from nHibernate, however is the ability to add a simple Where clause in the class definition. For example, I regularly use a deleted flag in tables so as to avoid doing 'hard' deletes. In the nHibernate world, in order to exclude deleted records the config file would use something like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;class name="Core.ELSField, Core" table="dbo.tblFields" Where="fDeleted=0"&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I've yet to find anything in the LINQ world that equates to this so I'm left including 'where !deleted' in all my queries. Oh well.&lt;br /&gt;&lt;br /&gt;Inheritance in nHibernate is handled through discriminator columns and looks like this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;class name="IPayment" table="PAYMENT"&amp;gt;&lt;br /&gt;   &amp;lt;id name="Id" type="Int64" column="PAYMENT_ID"&amp;gt;&lt;br /&gt;       &amp;lt;generator class="native"/&amp;gt;&lt;br /&gt;   &amp;lt;/id&amp;gt;&lt;br /&gt;   &amp;lt;discriminator column="PAYMENT_TYPE" type="String"/&amp;gt;&lt;br /&gt;   &amp;lt;property name="Amount" column="AMOUNT"/&amp;gt;&lt;br /&gt;   ...&lt;br /&gt;   &amp;lt;subclass name="CreditCardPayment" discriminator-value="CREDIT"&amp;gt;&lt;br /&gt;       ...&lt;br /&gt;   &amp;lt;/subclass&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/class&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;For the longest time, I was coding the equivalent LINQ version by hand. Little did I know that the O/R designer in Visual Studio handles this. MSDN provides a very nice &lt;a href="http://msdn.microsoft.com/en-us/library/bb384467.aspx"&gt;example&lt;/a&gt; which you should be able to apply to your own situation. Hopefully you will find it as useful as I did.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-4982055265941941003?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/4982055265941941003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/single-table-inheritance-with-linq.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/4982055265941941003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/4982055265941941003'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/single-table-inheritance-with-linq.html' title='Single Table Inheritance with LINQ'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-3157866259067420773</id><published>2009-12-07T17:13:00.000-08:00</published><updated>2009-12-07T17:22:59.253-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><category scheme='http://www.blogger.com/atom/ns#' term='grails'/><title type='text'>Using Grails to Store Generic Data Sets</title><content type='html'>TASK: Build a generic data structure to represent grid data, then use the Grails framework to implement it. &lt;br /&gt;&lt;br /&gt;At a high level, what is needed is a set of tables that can hold sets of varying numbered rows and columns. This means we have collections of grids representing the individual data sets. Each grid has a collection of rows (we’ll call them results for this discussion) and data columns. Each result has a collection of data points. And finally, each datapoint is associated with a data column.&lt;br /&gt;&lt;br /&gt;I’ve been using Grails now for about a month and I’ve found the documentation to be lacking in comparison with other frameworks that I’ve used. So hopefully this example of representing result sets will be usefull to others who, like myself, learn best from checking out example code and applying it to the task at hand. For the purposes of this example, I am using Grails 1.0.3, MySQL 5.0, NetBeans 6.5, and Navicat 8 Lite for MySQL (very helpful for setting up MySQL for those who aren't keen on command-line stuff). I won't get into the whole setup of the Grails plugin for NetBeans and I'll assume that you already have your MySQL database created. The tables will be automagically generated by Grails so all you need is an empty database.&lt;br /&gt;&lt;br /&gt;First, the domain classes:&lt;br /&gt;&lt;br /&gt;DataSet:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class DataRow {&lt;br /&gt;    int Id&lt;br /&gt;    int DataSetId&lt;br /&gt;    static hasMany = [results:DataPoint]&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;DataPoint:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class DataPoint {&lt;br /&gt;  int Id&lt;br /&gt;  DataPointColumn Column&lt;br /&gt;  String Val&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;DataPointColumn:&lt;br /&gt;&lt;pre&gt; &lt;br /&gt;class DataPointColumn {&lt;br /&gt;  int Id&lt;br /&gt;  String ColumnName&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And now the code to save your data. For this example, you will have some java structure that stores results rows and columns. I won't muddy the waters here with my implementation of that since this is supposed to be about Grails. Suffice it to say that you will need to have some mechanism of retrieving a collection of column names, and each data item should be associated with a column.&lt;br /&gt;      &lt;br /&gt;&lt;pre&gt;    &lt;br /&gt;IResults res = &lt;execute some query&gt;&lt;br /&gt;String[] column_names = res.getColumnNames() &lt;br /&gt;&lt;br /&gt;for (Result r : res.getResults())&lt;br /&gt;{&lt;br /&gt;    def savedResults = new DataRow()&lt;br /&gt;    savedResults.DataSetId = res.getId()&lt;br /&gt;&lt;br /&gt;    for (int i=0; i&lt; column_names.length; i++)&lt;br /&gt;    {&lt;br /&gt;        def col = DataPointColumn.find("from DataPointColumn as dp where dp.columnName=?",[column_names[i]])                                            &lt;br /&gt;        if (col==null){&lt;br /&gt;        col = new DataPointColumn()&lt;br /&gt;        col.ColumnName = column_names[i]&lt;br /&gt;        col.save()&lt;br /&gt;    }&lt;br /&gt;    String val = r.getDatapointValue(column_names[i]);&lt;br /&gt;&lt;br /&gt;    def dp = new DataPoint()&lt;br /&gt;    dp.Val = val&lt;br /&gt;    dp.Column = col&lt;br /&gt;&lt;br /&gt;    savedResults.addToResults(dp)&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;savedResults.save() // Save the row &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This is actually a slight modification to the actual code that I implemented so that my business-specific names and code are left out. The most interesting piece of the code (IMHO) is the addTo* function. There's actually a nice explanation of how that works on the Grails site (Grails: addTo*). If you absolutely must use java (I'm trying to hide my .NET bias here, really) Grails is a good MVC framework to use. Any changes to the domain model are automatically implemented in the database. One thing you will find usefull in tracking down errors is this code snippet:&lt;br /&gt;(b is some domain object)&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;if( !b.save() ) {&lt;br /&gt;   b.errors.each {&lt;br /&gt;        println it&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;As of right now, Grails does not have any built-in debugging support, which means that you are limmited to spitting out error descriptions. Hopefully someday it will be possible to step through a Grails app, but for the same price as this short example, you get a pretty slick development environment and framework.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-3157866259067420773?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/3157866259067420773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/using-grails-to-store-generic-data-sets.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/3157866259067420773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/3157866259067420773'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/using-grails-to-store-generic-data-sets.html' title='Using Grails to Store Generic Data Sets'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-29927527397879496</id><published>2009-12-03T07:02:00.000-08:00</published><updated>2009-12-03T07:10:23.263-08:00</updated><title type='text'>JDK 7 Milestone 5</title><content type='html'>(From an article taken from &lt;a href="http://www.infoq.com/news/2009/11/jdk7m5"&gt;http://www.infoq.com/news/2009/11/jdk7m5&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Instead of writing:&lt;br /&gt;&lt;br /&gt;Map &amp;lt;String, List&amp;lt;String&amp;gt;&amp;gt; anagrams = new HashMap&amp;lt;String, List&amp;lt;String&amp;gt;&amp;gt;();&lt;br /&gt;&lt;br /&gt;Take a look at what you can do with the upcoming version 7 of Java:&lt;br /&gt;&lt;br /&gt;Map&amp;lt;String, List&amp;lt;String&amp;gt;&amp;gt; anagrams = new HashMap&amp;lt;&amp;gt;();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;~ The less I have to write to get my code completed - the better!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-29927527397879496?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/29927527397879496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/jdk-7-milestone-5.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/29927527397879496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/29927527397879496'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/jdk-7-milestone-5.html' title='JDK 7 Milestone 5'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7153762335895481693.post-5950561035119040921</id><published>2009-12-02T18:30:00.000-08:00</published><updated>2009-12-02T18:47:35.778-08:00</updated><title type='text'>Silverlight 4 vs. Flex 4</title><content type='html'>I have to wonder what will be the deciding factor(s) for an enterprise or company (of any size..) when choosing one of these RIA technologies - barring the great abilities of JavaScript (think jQuery, mootools, etc...)&lt;br /&gt;&lt;br /&gt;Both versions I mentioned are not ready for prime time, but will be soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7153762335895481693-5950561035119040921?l=night-time-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://night-time-tech.blogspot.com/feeds/5950561035119040921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/silverlight-4-vs-flex-4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/5950561035119040921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7153762335895481693/posts/default/5950561035119040921'/><link rel='alternate' type='text/html' href='http://night-time-tech.blogspot.com/2009/12/silverlight-4-vs-flex-4.html' title='Silverlight 4 vs. Flex 4'/><author><name>Night Time Technologies</name><uri>http://www.blogger.com/profile/03708034749020945566</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
