RavenDB consideration

One of the OSS projects I started but have done little with is a blog engine. I thought I would just use FluentMigrator and FluentNHibernate to build and wire up the data model, and then be on the fast track to a very simple blog engine. My excuse is that I have limited time, and that’s true, but in part I haven’t wanted to build on top of a RDBMS – in this case probably MS SQL.

This blog is currently powered by BlogEngine.Net which is a fine blog engine, but I have one big dislike. Blending is seamlessly into the rest of the site has been less than joyful. I don’t care for its approach to theme-ing, and would much prefer something I can drop into whatever view engine I choose. Currently and for the foreseeable future, computeristsolutions.com is powered by Castle Monorail. I want something that I can just pop in and add the necessary views.  BE.Net is not that. I do like that it by default uses file-based storage. That makes switching hosting providers and backing up fairly easy.

So I’m thinking of attempting to use RavenDB; @ayende says it will support an in-process mode (aka embedded). It uses a document storage approach, and persists to files. There’s no mapping, just ‘magic’ to persist and fetch object data. Sounds perfect for a blog engine among other things.

I’ll have to grab the source, build, and give it a whirl. Love to hear feedback & opinions on this.

 
March 22, 2010 09:33 by josh
E-mail | Permalink
blog comments powered by Disqus

10+ years ago…

Prompted by this post by @shanselman..

Circa 2000 (aka Y2K): I was using classic ASP, VB6, COM, T-SQL, MSMQ. The apps I worked on that year touched on email marketing, and then electronic document filing.  I was the alternate/backup DBA on the e-filing app.  It was all waterfall, n-tier design, logical layers were also physical layers (UI, Biz/Data, and SQL were each on their own machines).

The year before (1999), I had been working on Retail Branch reporting for then Bank One.  It was based on VB6, COM, Sybase, and generated Excel reports.  It required some math skill to retro-fit the previous reports since the old business rules and algorithms were “lost”.  The local office was on a vault property; and the Retail Management Dpt office was in downtown Dallas, which I got to visit.  A lot.

 
March 9, 2010 10:08 by josh
E-mail | Permalink
blog comments powered by Disqus

JQuery calls to get JSON fromASP.Net Webservices

Another note to self.. using jquery to get json form .net webservices.  Useful in my attempt to make ruby gem client for clouddb (site).  If I ever get time.

 
March 3, 2010 14:13 by josh
E-mail | Permalink
blog comments powered by Disqus

Note to self – check out SpecFlow

SpecFlow ..for that matter check out using Cucumber with .Net.  Inspiration from this post by Steve Sanderson on SpecFlow with ASP.Net MVC.

Strikes me how BDD seems very user-story friendly, which would make is great for SCRUM/Agile/Lean.

 
March 3, 2010 11:33 by josh
E-mail | Permalink
blog comments powered by Disqus

404 page missing kids with JQuery

I took a little insipration from @shanselman to add a missing kids list on our 404 pages.  So I whipped this out really quickly.  With JQuery, it was easy but slightly different than the MS Ajax dependent version Scott shows.  You can added it to any website where you have control of the 404 page content and access to the jquery library.  Code is below.  Please consider doing it or something similar.

   1:   
   2:  <style type="text/css">  
   3:   .missingkid { clear:both; }   
   4:  </style>
   5:   
   6:   
   7:  <script type="text/javascript">
   8:    $(document).ready(function() {
   9:      getKids();
  10:    });
  11:    
  12:    function getSrc(url) {
  13:        var lastIndex = url.lastIndexOf('=');
  14:        return url.substring(lastIndex+1);
  15:     }
  16:    
  17:    function getKids()
  18:    {
  19:    var statecode = "ZZ";
  20:      var dataurl = "http://query.yahooapis.com/v1/public/yql?q=SELECT%20*%20From%20xml%0D%0A%20Where%20url%3D'http%3A%2F%2Fwww.missingkidsmap.com%2Fread.php%3Fstate%3D" + statecode + "'%0D%0A&format=json";    
  21:      $.ajax({
  22:        url: dataurl,
  23:        dataType: 'json',
  24:        success: function(results, status){ 
  25:          $.each(results.query.results.locations.location, function(i,item){
  26:              var html = '<div class="missingkid" style="vertical-align: text-top"><img src="'+getSrc(item.medpic)+'" width="60" style="align:left">'
  27:              html = html+item.firstname+' '+item.lastname+', Age: '+item.age+' from '+item.city+', '+item.st
  28:              html = html+'<br/>Contact: '+item.policeadd+' at '+item.policenum+'<br/><br/></div>'
  29:              $(html).attr("src", item.picture).appendTo("#images");
  30:            });
  31:          }
  32:      });
  33:    }
  34:  </script>
  35:   
  36:   
  37:   
  38:  <h1>Oops!</h1>
  39:   
  40:  <p>
  41:  <strong>The page you requested is not available. Please leave a message after the beep "beeeeep" (kidding)</strong>
  42:  </p>
  43:   
  44:   
  45:  <p>
  46:  <strong>We may not be able to find the page, but perhaps you could help find one of these missing children:</strong>
  47:  </p>
  48:   
  49:   
  50:   
  51:  <div id="images"></div>
 
March 2, 2010 12:32 by josh
E-mail | Permalink
blog comments powered by Disqus


about josh

another programmer blogging about his misadventures in writing code.

Contact

contact us for website & software consulting

Decide

decide on pragmatic solutions

Develop

develop your product together

Succeed

achieve your goals with our services