Tag | Windows Live Posts

Windows Live has had many lives. It started as a single page at www.live.com, where you could set up various widgets in a tiled configuration. The widgets mostly consumed RSS feeds and the idea was that you could have a home page where the content updated dynamically; i.e. where the content was “live.” I remember when the service was still in Beta and called Start.com; Robert Scoble, then a Microsoft employee, was hawking it pretty hard. It was kind of cool for its time, but it petered out, as did ...
Another butt-kicking, and before 6:30 AM to be exact. I (obviously) like to write… well, maybe not so much that an editor is going to be reviewing my work, but if I’m doing my own editing, I can go on and on. So my solution to ‘Status Reports’ is to start the weekly report on Monday, and keep it open as a draft, typing in thoughts, problems, solutions… more of a journal than Status. Then at quitting-time on Friday, I send my boss and me both a copy. Since I’m my own boss for now – hey, a plus – see ...
The usual starting point for automapping is to tell NHibernate to map all of the types from a particular assembly. From there we may filter the set of types that are mapped by providing a predicate. The common pattern looks something like this: AutoPersistenceModel.MapEnt... .Where(type => type.Namespace == "Acme.Domain"); If we want to exclude a particular type within the namespace that is easy: AutoPersistenceModel.MapEnt... .Where(type ...
Microsoft announced that they going to change the Windows Live Sync service in the future, answering one of my complaints from my earlier post. After the beta, Microsoft is going to rename Windows Live Sync to Windows Live Mesh, but more importantly, increase the size of the SkyDrive size from 2GB to 5! (Courtesy of Paul Thurrott and the Inside Windows Live blog) ...
Increasingly I find myself building web applications that rarely, if ever, reload the page. Ajax is used to communicate with the server and to update parts of the page as required. After much trial and error I have come upon a technique for organising the javascript on such pages. Consider an application that has three buttons: red, yellow and green. When one of the buttons is clicked an rectangle is coloured according to the selection. The UI design will be as follows: Here is the demo. The basic ...
I decided to install the new beta of Windows Live Essentials, mostly for the new Sync app. I also got Live Writer, which has the newer Office style ribbon User Interface. (Here’s the Windows Live blog announcing the beta in June. There was a beta refresh last week.) I’ve been using sync apps for a while now, starting as far back as 2004 (IIRC) with Folder Sync (a company/app which was later purchased by Microsoft). When Live Mesh appeared, I switched to it, primarily so I could not only sync to other ...
I've been running various versions of Live Mesh and Live Sync on my Mac over the past year. So far I haven't been terribly happy with Live Mesh, but it got the job done, albeit very slowly at times. I'm am very exited at what I am seeing though in the latest Windows Live Sync beta for both Windows and Mac OS X. When installing the latest version of Live Sync, which is still in beta I ran across the following error on start: "Sorry, there is a problem with Windows Live Sync. Please quit Sync, make ...
Las aplicaciones de Windows Azure se ejecutan en los centros de datos de Microsoft y son accedidas a través de Internet. Different kind of applications can be built on Windows Azure: · An independent software vendor (ISV) could create an application that targets business users, an approach that’s often referred to as Software as a Service (SaaS). ISVs can use Windows Azure as a foundation for a variety of business-oriented SaaS applications. · An ISV might create a SaaS application that targets consumers. ...
En el artículo anterior se definieron los conceptos de la Nube y Cloud Computing, y se repasó rápidamente la evolución de tecnologías que favorecieron el surgimiento de dicho paradigma. En el presente artículo se definirán los diferentes conceptos “*aaS” relacionados con el concepto de cloud computing (SaaS, PaaS, IaaS, etc.). SaaS digamos que ya es un término hasta cierto punto conocido, pero ¿y los demás? Eso es lo que se aclarará en este artículo. Los servicios de computación en la Nube, así como ...
I am working on a project testing some cool features and stuff that have to be done on a Mac. While I have been back and forth with MacBook Pros, this time I decided I should expand and extent my testing to the stuff that I do on a daily basis. Blogging is a challenge, tools available are not really all that flexible or feature rich. I have MarsEdit and Blogo. I do think Windows Live Writer is the best thing since ... sliced bread, seriously, I love that tool! But in order for this to work I had ...
I read somewhere that Kent Beck likes to apply a strategy of taking a technique that works and exaggerating it, to see if the results are likewise exaggerated. He found that specifying the behaviour of components prior to implementation, and in small increments, produced good design, so he exaggerated it and now we have TDD. He found that strong engineering practices, rich communication and delayed decision making was a good way to run projects, so he exaggerated it and now we have Extreme Programming. ...
My rule of thumb for storing configuration settings is: if it does not need to change hard code it if it needs to change but the user of the application can’t change it, store it in the configuration file if the user can change it, store it in a database This post discusses configuration data stored in the configuration file. To make my applications robust and testable I like to write a service that wraps appSettings. What I mean by robust is that it provides useful error data in the event that the ...
Microsoft has released Windows Live Messenger for iPhone. It looks pretty nice! http://itunes.com/apps/wind... ...
Just because I like to build things, and I like to learn, I have been working on a keyboard shortcut reference site. I am using this as an opportunity to improve my ruby and rails skills. The first few days were frustrating. Perhaps the learning curve of all the fun new toys was a bit excessive. Finally tonight things have really started to come together. I still don’t understand the rails built-in testing support but I will get there. Interesting Things I Learned Tonight RubyMine IDE Tonight I switched ...
Visual studio supports relatively advanced string manipulation via the ‘Quick Replace’ dialog. Today I had a requirement to modify some html, replacing line breaks with unordered list items. For example, I need to convert: Infrastructure<br/> Energy<br/> Industrial development<br/> Urban growth<br/> Water<br/> Food security<br/> to: <li>Infrastructure<... <li>Energy</li> <li>Industrial development</li> <li>Urban growth</li> ...
Finally after weeks of hard work the World Cup Silverlight player is ready to watch the spanish team in action. This Silverlight Player use Smooth Streaming technology, enables adaptive streaming of media to Silverlight and other clients over HTTP. Smooth Streaming provides a high-quality viewing experience that scales massively on content distribution networks, making true HD 1080p media experiences a reality. The player integrates leading social networks such as Microsoft Live Messenger, Twitter ...
After more time than I care to admit I have finally released a rudimentary Http Handler for serving compiled CoffeeScript from Asp.Net applications. It was a long and painful road but I am glad to finally have a usable strategy for client-side scripting in CoffeeScript. Why CoffeeScript? As Douglas Crockford discussed in detail, Javascript is a mixture of good and bad features. The genius of CoffeeScript is to treat javascript in the browser as a virtual machine. By compiling to javascript CoffeeScript ...
I recently bought a new Macbook Pro (the 13” one) to dive into a new world of programming challenges as well as to get a more powerful netbook than my Packard Bell Dot which I’ve been using since last year. I’ve had immense pleasure using the netbook format and their small size in meetings (taking notes with XMind), surfing “anywhere”, and, of course blogging with windows live writer. So far the Mac is holding up, it’s sleek, responsive, and I’ve even begun looking at coding in Objective C with it, ...
Rake is a ruby internal DSL for build scripting. With (or without) the help of albacore rake makes an excellent build scripting tool for .NET projects. The albacore documentation does a good job of explaining how to build solutions with rake but there is nothing to assist with another common build task – updating configuration files. The following ruby script provides some helper methods for performing common configuration changes that are required as part of a build process. class ConfigTasks def ...
Garage Sale Code The term “Garage Sale Code” came from a post by Scott Hanselman. He defines Garage Sale Code as: Complete – It’s a whole library or application. Concise – It does one discrete thing. Clear – It’ll work when you get it. Cheap – It’s free or < 25 cents. (Quite Possibly) Crap – As with a Garage Sale, you’ll never know until you get it home if it’s useless. With the code I’ve posted here, you’ll get all 5 of those things (with an emphasis on crap). All of the projects listed below ...
I have a MongoDb collection called tweets. Each document has a property system_classification. If the value of system_classification is ‘+’ I want to change it to ‘positive’. For a regular relational database the query would be: update tweets set system_classification = 'positive' where system_classification = '+' the MongoDb equivalent is: db.tweets.update({system_cl... '+'}, {$set: {system_classification:'pos... false, true) Parameter Description { system_classification: '+' } the ...
ERB is the default view templating system used by Ruby on Rails. Haml is an alternative templating system that uses whitespace to represent document structure. The example from the haml website shows the following equivalent markup: Haml ERB #profile .left.column #date= print_date #address= current_user.address .right.column #email= current_user.email #bio= current_user.bio <div id="profile"> <div class="left column"> <div id="date"><%= print_date %></div> <div id="address"><%= ...
This tutorial will show you how to build a plug-in for Windows Live Writer. Windows Live Writer is a blogging tool that Microsoft provides for free. It includes an open API for .NET developers to create custom plug-ins. In this tutorial, I will show you how easy it is to build one. Full source and binaries are now hosted on CodePlex. Open VS2008 or VS2010 and create a new project. Set the target framework to 2.0, Application Type to Class Library and give it a name. In this tutorial, we are going ...
This weekend I have been in Sydney at the MS Web Camp, learning about web application development. At the end of the first day we came up with application ideas and pitched them. My idea was to build a web management application for mongoDB. mongoDB I pitched my idea, put down the microphone, and then someone asked, “what’s mongo?”. Good question. MongoDB is a document database that stores JSON style documents. This is a JSON document for a tweet from twitter: db.tweets.find()[0] { "_id" : ObjectId("4bfe4946cfbfb0142... ...
This post is a message in a bottle. It cast it into the sea in the hope that it will one day return to me, stuffed to the cork with enlightenment. Yesterday I tweeted, what is the name of the pattern where you replace a multi-way conditional with an associative array? I said ‘pattern’ but I meant ‘refactoring’. Anyway, no one replied so I will describe the refactoring here. Programmers tend to think imperatively, which leads to code such as: public int GetPopulation(string country) { if (country ...
You can reach this page anytime at http://tools.michaelcrump.net Thanks to everyone that has contributed so far, we are getting several thousands hits from all sorts of developers a day. Recent Contributors include: Deependra Solanky, Grant, Klaus, James, BlueCollarCritic and Bob Koehn Tweet this list! Add a link to my site! Add me to twitter! This is a list of the tools/utilities that I use to do my job/hobby. I wanted this page to load fast and contain information that only you care about. If I ...
In this Issue: Michael Washington, Xianzhong Zhu, Jim Lynn, Laurent Bugnion, and Kyle McClellan. A ton of Shoutouts this time: Cigdem Patlak (CrocusGirl) is interviewed about Silverlight 4 on Channel 9: Silverlight discussion with Cigdem Patlak Timmy Kokke has material up from a presentation he did, and check out the SilverAmp project he's got going: Code & Slides – SDE – What’s new in Silverlight 4 Graham Odds at ScottLogic has an interesting post up: Contextual cues in user interface design ...
More Adventures in MVVM EDIT: Here is why I love blogging and sharing code so much: Putting your ideas and code out into the public space always manages to add value to the ideas that were originally posted. Case in point: Tobias Richling commented on this post with a fantastic refinement to the Silverlight dynamic property binding. There is a much more simple way to bind against these dynamic properties (including automatic commanding) than my first approach. I have incorporated the changes to the ...
More Adventures in MVVM First, I’d like to say: THIS IS NOT A NEW MVVM FRAMEWORK. I tend to believe that MVVM support code should be specific to the system you are building and the developers working on it. I have yet to find an MVVM framework that does everything I want it to without doing too much. Don’t get me wrong… there are some good frameworks out there. I just like to pick and choose things that make sense for me. As of Silveright 4, they don’t support binding to dynamic properties, so some ...
Tonight the Brisbane Alt.NET group is doing a coding dojo. I am hoping to talk someone into pairing with me to solve the kata in CoffeeScript. CoffeeScript is an awesome language, half javascript, half ruby, that compiles to javascript. To assist with tonight’s dojo I wrote the following micro test framework for CoffeeScript: <html> <body> <div> <h2>Test Results:</h2> <p class='results' /> </div> <script src="http://ajax.googleapis... ...
Office 2010 has released to manufacturing. The bits have left the (product team’s) building. Will you upgrade? This version of Office is officially numbered 14, a designation that correlates with the various releases, through the years, of Microsoft Word. There were six major versions of Word for DOS, during whose release cycles came three 16-bit Windows versions. Then, starting with Word 95 and counting through Word 2007, there have been six more versions – all for the 32-bit Windows platform. Skip ...

This is a sample post. Checking out the Windows Live Writer to post to my blog.

(-:

The refactoring I’m talking about is recommended by resharper when it sees a lambda that consists entirely of a method call that is passed the object that is the parameter to the lambda. Here is an example: public class IWishIWasAScriptingLanguage { public void SoIWouldntNeedAllThisJunk() { (new List<int> {1, 2, 3, 4}).Select(n => IsEven(n)); } private bool IsEven(int number) { return number%2 == 0; } } When resharper gets to n => IsEven(n) it underlines the lambda with a green squiggly ...
Sinatra is a Ruby DSL for building web applications. It is distinguished from its peers by its minimalism. Here is hello world in Sinatra: require 'rubygems' require 'sinatra' get '/hi' do "Hello World!" end A haml view is rendered by: def '/' haml :name_of_your_view end Haml is also new to me. It is a ruby-based view engine that uses significant white space to avoid having to close tags. A hello world web page in haml might look like: %html %head %title Hello World %body %div Hello World You see ...

I’ve reimaged my home laptop.  I’m trying to populate it with as much free goodness as possible to see if the free way is as good as the old pay way.  Turns out, I’ve got access to Windows Live Writer.  I’m not sure where that came from, maybe with Vista Ultimate.  I don’t know.  Either way, it makes my blog posting a whole lot easier.  So, maybe, just maybe, it will make me more likely to post.  We’ll see.

Later.

SyntaxHighlighter is the de facto standard for syntax highlighting on the web. I am currently working on a tool for publishing BDD specifications on the web and I want syntax highlighting. Unfortunately, SyntaxHighlighter does not support Gherkin, the language Cucumber and SpecFlow use to define BDD specifications. Writing new language parsers for SyntaxHighlighter is very easy, so I implemented one for Gherkin. Here is what a syntax highlighted Gherkin file looks like: # A comment here Feature: ...
Part 1 After I explained my motivation for using YAML instead of XML for my data, I got a lot of people asking me what type of tooling is available in the .Net space for consuming YAML. In this post, I will discuss a nice tooling option as well as describe some small modifications to leverage the extremely powerful dynamic capabilities of C# 4.0. I will be referring to the following YAML file throughout this post Recipe: Title: Macaroni and Cheese Description: My favorite comfort food. Author: Brian ...
Continuing on my series of builders for C# and Ruby here is the solution in Javascript. This is probably the implementation with which I am least happy. There are several parts that did not seem to fit the language. This time around I didn’t bother with a testing framework, I just append some values to the page with jQuery. Here is the test code: var initialiseBuilder = function() { var builder = builderConstructor(); builder.configure({ 'Person': function() { return {name: 'Liam', age: 26}}, 'Property': ...
My last post was about a class for building test data objects in C#. This post describes the same tool, but implemented in Ruby. The C# version was written first but I originally came up with the solution in my head using Ruby, and then I translated it to C#. The Ruby version was easier to write and is easier to use thanks to Ruby’s dynamic nature making generics unnecessary. Here are my example domain classes: class Person attr_accessor :name, :age def initialize(name, age) @name = name @age = age ...
When writing tests, other than end-to-end integration tests, we often need to construct test data objects. Of course this can be done using the class’s constructor and manually configuring the object, but to get many objects into a valid state soon becomes a large percentage of the testing effort. After many years of painstakingly creating builders for each of my domain objects I have finally become lazy enough to bother to write a generic, reusable builder class for .NET. To use it you instantiate ...
There are several terms commonly used to describe claims-based identity, and it is important to clearly define these terms. · Identity In terms of Access Control, the term identity will be used to refer to a set of claims made by a trusted issuer about the user. · Claim You can think of a claim as a bit of identity information, such as name, email address, age, and so on. The more claims your service receives, the more you’ll know about the user who is making the request. · Security Token The user ...
I have made a change to my code-based BDD style. I start with a scenario such as: Pre-Editing * Given I am a book editor * And some chapters are locked and some are not * When I view the list of chapters for editing * Then I should see some chapters are editable and are not locked * And I should see some chapters are not editable and are locked and I implement it using a modified SpecUnit base class as: [Concern("Chapter Editing")] public class when_pre_editing_a_chapter : BaseSpec { private User ...
The following code adds a method to javascript arrays that returns a distinct list of values. Array.prototype.distinct = function() { var derivedArray = []; for (var i = 0; i < this.length; i += 1) { if (!derivedArray.contains(thi... { derivedArray.push(this[i]) } } return derivedArray; }; and to demonstrate: alert([1,1,1,2,2,22,3,4,5,6... This produces 1,2,22,3,4,5,6,7 ...
This javascript adds a method to javascript arrays that returns a boolean indicating if the supplied object is an element of the array Array.prototype.contains = function(item) { for (var i = 0; i < this.length; i += 1) { if (this[i] === item) { return true; } } return false; }; To test alert([1,1,1,2,2,22,3,4,5,6... // true alert([1,1,1,2,2,22,3,4,5,6... // false ...
Javascript allows you to declare variables simply by assigning a value to an identify, in the same style as ruby: myVar = "some text"; Good javascript developers know that this is a bad idea because undeclared variables are assigned to the global object, usually window, making myVar globally visible. So the above code is equivalent to: window.myVar = "some text"; What I did not realise is that this applies to for loop initialisation as well. for (i = 0; i < myArray.length; i += 1) { } // is equivalent ...
One thing I have learned about using a Mac is that Apple does not produce very many free applications. The ones they do are typically not full featured and to get the full feature you need to buy their upgraded version. For example, when it comes to Photo editing and cataloging, iPhoto is not a solution for large files or RAW processing, you need Aperture which is a couple hundred dollars. I am not complaining because I like it when an application has a product team who generates revenue with it, ...
Why Use Client-side Javascript Templates? When building rich internet applications you often need to construct html on the client. I am going to demonstrate how to construct DOM elements using the jqote jQuery plugin (2.0.0). The naive approach to client-side html generation is to embed html inside javascript like: var text = 'Some text'; $('body').append($('<div id="content>' + text + '</div>"')); This approach fails as the complexity of the html increases. It is also a clear separation ...
Here are steps on setting up a slideshow on your SharePoint site really fast using a Content Editor WebPart (CEWP), jQuery and a Picture Library. The jQuery for the slide show makes use of the Cycle plug-in located at http://jquery.malsup.com/cy... There are plenty of demos on the site along with instructions on using the API. Here are the steps to implement the slideshow on a SharePoint site: Download the jQuery library and the Cycle plug-in and upload them to a document library Create a picture ...
Enumerated constants in C# can be represented 3 different ways: as a C# program constant as a number (typically int) as a string spelled identically to the C# constant Here a sample program demonstrating how to convert between any of these formats. using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { public enum Color { red, white, blue } class Program { static void Main(string[] args) { string toString, fromString = "red"; int toInt, fromInt = 1; Color ...
Just testing the use of Windows Live Writer for blogging. I have downloaded and installed some plugins for adding code snippets. The following examples use this plugin: /// <summary> /// Resets the counters. /// </summary> public void ResetCounts() { StudentsWithFiles = 0; StudentsWithoutFiles = 0; TotalSpaceUsed = 0; TotalFilesCount = 0; } You can also change the colours and fonts: /// <summary> /// Resets the counters. /// </summary> public void ResetCounts() { StudentsWithFiles ...