For Harriet [ForHarriet] What We Learned From Beyonce This Weekend http://t.co/ED3Tz7jO

Phil Haack [haacked] Beautiful eulogy by Cory Doctorow for Aaron Swartz http://t.co/zwiZ9YOA

African Entrepreneur [africatechie] The 25 Most Miserable Places In The World http://t.co/xqcqT4kzKv

Panashe Chigumadzi [panashechig] Equal Opportunity, Our National Myth – http://t.co/LTyhV717 http://t.co/9Y1M4l9Q

Billy Hollis [billyhollis] Great article on modernist architecture. Recommended if you do #UX design. Excellent discussion in the comments too. http://t.co/EKxSZeU6

African Entrepreneur [africatechie] In Timbuktu, Al Qaeda showed ‘seeds of its decay’ http://t.co/e5pFWeRvIh #Mali

Molly Wood [mollywood] Glorious! “@debcha: How the people of Timbuktu smuggled out and saved almost all of the manuscripts. http://t.co/0cGJWJvT /via @otolythe

African Entrepreneur [africatechie] Kenya breaks ground on its ‘Silicon Savannah’ city project http://t.co/8c8nIme2

Shadow And Act [shadowandact] Watch Roger Guenveur Smith’s Riveting Performance In ‘Frederick Douglass NOW’ http://t.co/wV9eoMKr

For Harriet [ForHarriet] The Unwritten Rules: What it Means to be a Black Woman in Corporate America http://t.co/v1xGtrVT

African Entrepreneur [africatechie] Female African Entrepreneurs Need More Backing http://t.co/p78mYGgt

k. miakka natisse [miakka_natisse] 13 Reasons Why Nice Guys Are The Worst http://t.co/Bqo4NT8t via @buzzfeed

Dave Winer ☮ [davewiner] Chinese women take ‘rental boyfriends’ home for the holidays. http://t.co/mVbDWgeG

ScienceDump [ScienceDump] Busting the myth of using only 10% of our brains: http://t.co/An2VdTNw Psyfile is discussing the myth of using… http://t.co/blsSUXBd

Shadow And Act [shadowandact] Bill T. Jones ‘Super Fly, The Musical’ Coming To Broadway In Late 2013? http://t.co/8N01F2go

Shadow And Act [shadowandact] South African Animation Studio Secures Financing, Distribution For Next Project – ‘Khumba’ http://t.co/St3VKYxs

TWITCH [TwitchFilm] Berlinale 2013: Wong Kar Wai And The Cast Share Insight Into THE GRANDMASTER http://t.co/qifXP0U8

Shadow And Act [shadowandact] Watch Great-Looking Trailer For Kibwe Tavares’s Sundance 2013 Magical Short Film ‘Jonah’ http://t.co/aSWif7Zj

bruce lawson [brucel] Real colour pics of Paris, 1914 http://t.co/tLW1Q2O6

Tropical Traditions [Troptraditions] More Nurses Refuse Flu #Vaccine and Lose Their Jobs – Will only pro-vaccine people soon work at hospitals? http://t.co/KbyyzxeT

I’m an Ubuntu guy so apt-get has my respect. It follows quickly that when Phil Haack and his crew come out with NuGet I’m ready. NuGet should take away one unusual annoyance I’m getting with the MVVM Light binaries installed “by hand”—I’m getting this type-or-namespace-GalaSoft-not-found error continually! I have to manually Add Reference… and rummage through the file system to refresh the Visual Studio project links the binaries. My optimistic assumption is that the NuGet packaging of MVVM Light will prevent this strange error and save me from rummaging.

After reading “Finding and Installing a NuGet Package Using the Package Manager Console” I used this:

PM> Get-Package -remote -filter MvvmLight

A PowerShell table formatted for the console should return one row with the MvvmLight package information—make sure that Package source: is set to All in the Package Manager Console. Running the Install-Package command will install the relevant MVVM Light binaries (for Silverlight or WPF) into the Visual Studio project selected in the Default project: combo box.

In my case I would have to run Install-Packagefour times like this:

Install-Package MvvmLight

Each time I would have to change project the Default project: combo box. Using the, er, power of PowerShell, these are the four projects I’m talking about:

PM> Get-Project -all | where {$_.Name -match "Songhay.Silverlight" -and $_.Name -notmatch "ApplicationLoader" -and $_.Name -notmatch ".Xml"} | format-table Name
Name
----
Songhay.Silverlight
Songhay.Silverlight.Mvvm
Songhay.Silverlight.BiggestBox.IndexPart
Songhay.Silverlight.BiggestBox

So let’s make life a tad easier: let’s list all projects, filter this list and loop through the filtered output, running the Install-Package command:

PM> Get-Project -all | where {$_.Name -match "Songhay.Silverlight" -and $_.Name -notmatch "ApplicationLoader" -and $_.Name -notmatch ".Xml"} | ForEach-Object {Install-Package MvvmLight -project $_.Name}

Related Links

I reserved WordWalkingStick.com to have a domain available for a hosting plan with Internet Information Server (IIS). WordWalkingStick.com sounds like some kind of commercial play for my open source project on CodePlex.com for Microsoft Office Word. But, as of today, consider the similar names a ‘coincidence.’

Instead of having a personally useless “code gallery,” my Songhay Studio Server at WordWalkingStick.com is built to be a part of my active, work-week-daily workflow. Whenever I learn something new about Silverlight, WPF or ASP.NET MVC, it should show up on the Studio Server. This Studio Server concept is a self-educational tool (beyond my relatively passive Funky KB at SonghaySystem.com) that often serves as a co-worker educational tool.


Songhay Studio Server at WordWalkingStick.com

This Studio Server concept, by the way, is direct descendant from my intranet-based ‘Development Server’ concept that I’ve used in the workplace since the early 2000s. I thought it was cool to take a slice out of my Desktop and point it at this ‘Development Server.’ The rise of the SharePoint “My Site” makes this work habit largely obsolete in the average Microsoft-based enterprise.

I have avoided Microsoft-based hosting on the public internet for years because Microsoft technology simply was not designed for the “shared” hosting model. Phil Haack led the way here and I followed him into a deal with Newtek Web Hosting.

As of this writing, the Songhay Studio Server contains:

  • Active Web Designs—page layouts for the few web sites I maintain.
  • Live Samples—CSS, jQuery and Silverlight samples online; I use these to keep current—so studying these carefully covers my current skill set.
  • Hosted Source Code—active CodePlex.com projects and legacy SourceForge.net projects (in Java).
  • Utilities—stuff for me, dating back to my Intranet days.

So, after I showed Scott Hanselman my Silverlight BiggestBox live sample, he politely asked for something more interesting. In reply to his prompt reply, I told him (I think this came across—because Twitter is terse) that he was looking at a blank canvas. In the specific Silverlight case, I had to spend quite some time getting the plumbing to work to my satisfaction. The problem is that most people can’t see the plumbing—often I lose myself in the plumbing!

This new Songhay Studio Server allows me to see an IT executive summary of what the hell is going on! I can look at the home page and click though the index and see:

Coming soon will be my Adobe Flex-based BiggestBox! Ideally I’ll have Silverlight and Flex parity. This new tool called Tofino allows me to work on Flex in Visual Studio, which is currently very convenient for me.

So, am I spread too thin? Am I “over preparing” and getting “lost” in the technology? What this new Songhay Studio Server does for me is allow me to consolidate, summarize and simplify. The work of the last two years finally comes to the surface.

 Scott Guthrie: “This post is the first of several “mini-posts” I’m going to do that talk about a few of the new ASP.NET MVC 3 Beta features in more detail.  In today’s post I’m going to discuss the new @model directive that is now supported with the new Razor view-engine, and which helps make view files more concise and cleaner.”

“Dynamic Methods in View Data”

Phil Haack: “Earlier in this post I mentioned the mismatch between property names, ViewModel vs View. I also talked about this in a video I recorded for MvcConf on MVC 3 Preview 1. Originally, we wanted to pick a nice terse name for this property so when referencing it in the view, there is minimal noise. We liked the property View for this purpose and implemented it for our view page first. …But when we went to port this property over to the Controller, we realized it wouldn’t work. Anyone care to guess why? Yep, that’s right. Controller already has a method named View so it can’t also have a property named the same thing. So we called it ViewModel for the time being and figured we’d change it once we came up with a better name.”

“ASP.NET MVC 3: Layouts with Razor”

Scott Guthrie: “You typically want to maintain a consistent look and feel across all of the pages within your web-site/application.  ASP.NET 2.0 introduced the concept of “master pages” which helps enable this when using .aspx based pages or templates.  Razor also supports this concept with a feature called “layouts” – which allow you to define a common site template, and then inherit its look and feel across all the views/pages on your site.”

“50 Free CSS/(X)HTML Templates”

Noupe: “To keep you moving throughout your creative adventure, we have gathered some cool and absolutely Free CSS and XHTML Web Layouts. You can download and use them for your own personal and/or commercial use. Please read the license agreements carefully before using the templates; the licenses can change from time to time. Feel free to express yourself in a new style and… do not forget to share your opinion with us in the comment section below!”

“50 Useful jQuery Plugins to Enhance your Forms”

Aquil Akhter: “Here we present some useful plugins and tutorials that will let you create awesome forms for your websites — whether it’s a sign up form or contact us form. You can enhance its functionality and usefulness with these plugins. Since these forms are used by the visitors of your website to interact with you, they are of great importance and for this reason you cannot just ignore them as they play an important role in the success of your website.”

“100 Useful Free Textures”

Noupe: “Textures are not necessarily used in fashion-related or grungy websites; more often they are applied subtly to lend a personal tone to otherwise lifeless and faceless design elements. Textures are also often be used in combination with other elements such as typography, lighting and colors. They are most common for backgrounds, but are also use to fresh up a flat and boring appearance of design elements. Texture adds dimension to virtually any style of design, if applied properly. They also add a certain level of realism, creating a less formal, more inviting and aesthetically pleasing atmosphere that reflects our environment — after all, plain flat surfaces rarely exist in reality.”

Amgen Campus, Thousand OaksOne indicator of success for me is seeing me complaining about “nothing” to do. Nothing to do means that, say, the release of the ASP.NET  MVC 3 Preview 1 would be an exciting event—something for me to jump all over and Blog about on a clean desk with birds chirping on a quiet, verdant day. Nope…

While the new bits are shown on camera on the Microsoft campus, I’m behind, grasping a few known unknowns:

  • Data Annotations: supporting display binding, validation and Ruby-on-Rails-like scaffolding (Html.DisplayFor).
  • Strongly Typed Html Helpers (which gets back to Data Annotations).
  • Using the default model binder (DefaultModelBinder), which implements IModelBinder, with Data Annotations. My guess is that explicit use of IDataErrorInfo even the need for the PnP Validation Application Block is no longer needed. Stephen Walther: “The Data Annotations validation attributes provide you with a very easy method of performing model-driven validation in an MVC application. For complex validation scenarios, I would recommend taking advantage of the Microsoft Enterprise Validation Application Block. For simple validation scenarios, such as a Movie database application, the Data Annotation validation attributes provide an easier alternative.” For more read David Hayden: “An Aha Moment on MVC Validation Extensibility in DefaultModelBinder—Bye to IDataErrorInfo.”
  • Developing custom HTML helpers using the MVC source code as a guide. My current gig requires this one.
  • Exploring MVCContrib, starting with the DataGrid.

“Fluent HTML?”

Speaking of MVCContrib, there’s an issue that’s older than MVC 2 (and in some ways older than ASP.NET 2.0): in the MVC space this to-do has the title “Fluent HTML.” Tim Scott writes:

I have come to truly hate the overloading approach taken by the out-of-the-box Html helpers.  Methods with long signatures are hard to read, and it takes investigation to see what’s happening.  What’s worse, you must worry about problems with overload resolution, especially when some parameters are typed as object.  As a result, HtmlHelper is not easily extensible.  It’s hard to bend it to do new things without breaking existing functionality.  We saw an example of this when Beta1 was released with breaking changes.  With a fluent interface, it’s much easier to extend with new behaviors while leaving existing behaviors closed.

What some call “fluency” certain folks in the Java world named “method chaining”—not to be confused with “constructor chaining.” And there’s more confusion: many a fashionable developer will use the term “fluent interface” to talk about a pattern that likely shows method chaining. This might suggest that interface-based programming has something to do with fluent design when it does not.

As a jQuery convert—and as a dot-syntax LINQ writer—I do find fluency elegant compared to complex method signatures (even ones with named parameters). As bachelor of physics, my background in Newton’s calculus (not to be confused with Leibniz) leads me to add the word fluxion on to fluent. Recall Newton’s fluents and fluxions?

My only complaint with fluent programming is that the order of method chaining is not easily discoverable. For example the MVCContrib Grid requires Render() or RenderUsing() be called last. What is strange to me is this need for knowing the order of chaining does not bother me when writing LINQ. With the right amount of free time, one could look into this issue. Not yet…