Friday, February 24, 2012

BLOB to File Server Caching with ASHX

I am doing an interesting User Story this sprint. The app is a Silverlight app.
The files are uploaded to the file server and/or database.

What I want to do is build a caching system.
This is easy using asynchronous ASHX. The idea is to save the file to the DB as a BLOB. There will be an index - a primary key (pk) on the table. So with this index and a Url like the following we cache out to the User in Silverlight:
http:///cachier.ashx?pk=9

With this and making the ASHX asynchronous - ASHX is a Generic (HTTP) Handler, with a shorter lifecycle than a "page" - it should return immediately, so if numerous requests are queued up they will cache-back to the User, Silverlight Client, immediately and all of them will stream out much faster than if it were one at a time. The ASHX gets an async request, makes an async call to the DB to get the row referenced by the primary key (pk=9 in the above example) and returns to the client, thus releasing the client to make other requests. When the DB returns from the async DB request with the row referenced, the ASHX will check the file-cache and stream out directly from the file, but if not, the BLOB will be streamed out in moderately sized chunks to the client, and to the file system so future requests can be handled faster.

The files will build up, so one additional piece is semi-required:
a "sweeper" to clean up the older, less referenced cache files on a regular basis.

If I can, I will post some of my code here to illustrate.

Thanks,
Dan

Wednesday, June 23, 2010

Federated Search at Nashville SharePoint Users Group last night

I visited the Nashville SharePoint Users Group last night to talk about Setting up Federated Search. Unfortunately I was informed I could not use anything or say anything about my former employer... so I just decided to on a wing and a prayer to tell a story 'bout a Federated Search implementations from an anonymous aspect, without any props.

I talked about Search & Shared Service Provider (SSP) in the Central Admin web-kiosk.
But I couldn't show the clicks thanks to former employer X.
I talked about the local location - for indexing SharePoint itself normally - and the OpenSearch location - where you specify the url to perform the search and the XSLT for instance.

I told about how to put together the search pages, the search result pages, how to edit the webparts on the search results page to show more results. Once everything is setup and QA'ed, the idea for easy deployment is to use the export and import functionality for the webparts and locations.

So you get something working in staging and put it into production fast, exactly and safely by importing into production various settings files that you just exported from staging. This way you avoid debugging typos. Normally you can't know 100% everything. You ultimately have to edit something, either in an exported settings file or once it's imported.

Well, it went well with lots of questions and participation from the audience.

Dan

Saturday, April 17, 2010

Good Day Sunshine, fun last week

I'm fired up today, working sitting on my poarch in the dim semi-cloudiness - good for seeing a laptop screen. I've got tons of Silverlight to code today, yardwork-as-usual, and tada! I've got a new laptop from my new job to do some remote-desktop'ing with, YEAH!
I'm such a geek. But I love to fish as well and I'll do that later by the glory of our beautiful 100% all-natural Universe, I'll hit the trail ney'on sunset, assuming 20% chance of rain means none, and take one or both sons with me, and we _will_ catch that bigun'... the _infamous_ big river-bass, a badass bass who lurks and hides behind twiggs thinking we can't comprehend his location.

We will haul in that bigun' and and and.. well, we'll shoot him. Yep, we'll take a snapshot with the phone and let em' go back to the waterways to live, prosper and fight another day. I'll post a few pix from last fishing trip later on.

But back to biz - bizspark, websitespark, dreamspark - on Thursday I presented to the Web Developers Users Group for the Nashville .Net Users Group on Power Programming. It went great (and we talked about BizSpark at one point)! The group was so excellent and interactive... I couldn't ask for a better group of dedicated-to-improvement developers. Nashville in general ROCKS for .Net developers; some really great folks here - true brainiacs! many many of them. It's great working here because of that; the people in this small "big-town"really make it comfortable and I like the learning as well. I usually work with some super bright ones here, as well as Huntsville Alabama (good ol' Rocket City USA!).

But this meeting was nice - met a few new friends too! one was the new sponsor FireFlyLogic.com, a network partner for the BizSpark program. I'll post about my experience with that, as well as the contents of the Power Programming presentation as I find time this week.

Thanks for having me speak Nashville, Very Respectably,
Dan Wygant

Wednesday, April 14, 2010

Speaking Th 4/15/10 6pm on Power Programming with Visual Studio .NET and Silverlight

This is the April meeting of the Web Dev UG here in Nashville.
We start with pizzza at 6pm and I'll start talking to you at 6:30. It will run until 8pm.

Here is the meeting specifics: http://tinyurl.com/nashdotnet041510

The meeting is in Nashville up by the airport across I40 in Century City.
Here are directions:
http://tinyurl.com/pwrprgrmn


Start Date/Time:
Thursday, April 15, 2010 6:00 PM
End Date/Time:
Thursday, April 15, 2010 8:00 PM

Description:
Power Programming with Visual Studio .NET and Silverlight

Friday, May 29, 2009

jQuery at Nashville Web Developers meeting

It was nice to see all the people at this meeting from http://www.nashdotnet.org/ out there to see Elijah Manor do an intro to JQuery talk.

Elijah started out showing a number of great examples online, and followed up with a number of clear code examples. Elijah posted a blog entry with google-docs spreadsheet with links to all the cool stuff he showed. The blog entries are below...

the slides:
http://webdevdotnet.blogspot.com/2009/05/jquery-introduction-talk.html
the linkages:
http://webdevdotnet.blogspot.com/2009/05/jquery-resource-collection.html

The linkages are in a spreadsheet with invisible tabs at the bottom representing the worksheets are below...
Main:
Tutorials
Pluggins
Tools
Cheat Sheets

Fantastically fanatically freeform jammin' open community == jQuery

I predict good things ... must try jQuery, outside of the MVC framework, using page (web) methods...
I will post when I have.

Roger Wilco, over & out,
Dan

PS - I gotta a ticket to DevLink for a doorprize: http://www.devlink.net/
Also, recruiter Joe gave me his doorprize for being nice and telling him VP Gaines is off the bench, in case you're interested in hiring Gaines... who runs this VUG as a SIG for the Nashville DNUG. Anyhow it was a book on SharePoint and since I'm into it at work now one of my not-to-distant future posts will be SharePoint "Development".

Saturday, May 9, 2009

More about VUGs and Cloudism

Well I did my presentation about Virtual Users Groups (VUGs) and Cloudism (what we use the Internet for). I talked about how the VUG capability represents where the Internet evolved. I mean that instant communication provides a nice platform for live-over-the-Internet technical presentations...

That the VUG represents the epitome of what the Internet provides, as does Cloud Computing, yet VUGs use the tools of the Cloud to provide communication with its members. Like for FaceBook, LinkedIn, MeetUp, SecondLife, ReactorGrid, VUGs they are using these sites to host themselves inside the context of a Cloud-based tool for social networking - PERFECTION!

Perfect medium for technical information transferal - a social networking tool based in the Cloud.

Also using email, usually provided by the site as part of social networking, these VUGs will notify the many hundreds if not thousands of members - actually stressing out the social networks abilities!

And finally, using LiveMeeting or any of a number of other live-over-the-Internet presentation tools.... The Ultimate usage of the tools of the Cloud for technical discussion and information sharing.

Dan

Friday, April 3, 2009

Auburn U.Net meeting! Wow!!

Hands Down! This was the nicest venue for a UG I've seen yet...

They have an awesome "James-Bond" setup! The screen was at least 30 feet across!! insanely cool!!! I'll spread that word and speakers will go just to take a deep breath when they see the projector lower out of a hidden tile in the in ceiling, and the GINORMOUS screen drop down from a hidden slit by the wall in the ceiling... it was truly a great room.

The presentation was awesome too. Great audience, especially for a nasty stormy evening... and late pizza... but it all worked out well ultimately. I got to do two other mini-presentations while waiting to start, one indoors on new stuff such as Silverlight 1, 2, and 3 and WPF - the XAML difference, Expression Blend, and http://DreamSpark.com ... another on using "The Cloud" with "social networking" to collaborate and also using Agile and Telecommute in the mix. I explained how to connect on http://LinkedIn.com and run a collaboration that way. Well, I missed the minipoint of using http://Office.Live.com for time but mentioned to simply got sign up at http://Dev.Live.com and look at all the subdomains like http://Silverlight.Live.com and http://Maps.Live.com and others. But I think they are waaay motivated.

I hope they take my advice and pick 2 pals to LinkedIn with and start collaborating via the Internet... in an Agile way. They still have a long way to go, so getting started now is essential.

I'll try to post a link later to the presentation.

Dan