Monday, November 07, 2011

CODE.Framework - MVC/MVVM Framework from EPS/CODE/Markus Egger

CODE Framework (CodePlex), CODE Framework (Visual Studio Gallery) (Markus Egger)

"Development framework from the makers of CODE Magazine, Markus Egger, and EPS Software Corp.

CODE Framework consists of various components and tools that help developers with common aspects of business application development, such as simplified SOA development with various clients, or WPF development, data access, and much more. The main focus of this framework is to enable productive, flexible, and highly maintainable business application development.

Note: Most of the CODE Framework originates in our much larger (and not free or open source) Milos Solution Platform product. This means that while the latest build is currently flagged as "beta", it actually contains mostly very mature and time-tested code that has been migrated from the Milos product. We are still in this migration process. Expect new builds with more and more components on an ongoing basis.

Documentation and articles will also be forthcoming over the next months and weeks and will be published in CODE Magazine (in print and online) and be linked to from here. We are also working on some videos and some tools and project/item templates which will make it much easier to use this framework. Please check back in a few days. We are hoping to release some of these very shortly.

..."

There's no articles, details, examples, etc yet (as noted above), but this framework, from a long time "Friend of .Net," looks pretty cool. CODE Magazine is one of my favorite magazines and one of few I still pony up the funds for every year (well, actually I re-up for 3 years at a time, but you know what I mean ;)

image

The TestBench project (as well as the rest of the Solution) does compile and run and it shows off some very early Metro UI work...

image

SNAGHTML3d403d11 

(Remember this is a Dev PoC/Test harness/play with this a little and see if it works" little app... So don't jump up and down if it's now complete yet. That's where YOU come in!  :)

Anyway, keep your eyes open from more that I'm sure will come on/from/about this.

SQL Server 2012 ColumnStore, a video...

Journey to SQLAuthority - SQL SERVER – Video – Performance Improvement in Columnstore Index

"I earlier wrote an article about SQL SERVER – Fundamentals of Columnstore Index and it got very well accepted in community. However, one of the suggestion I keep on receiving for that article is that many of the reader wanted to see columnstore index in the action but they were not able to do that. Some of the readers did not install SQL Server 2012 or some did not have good machine to recreate the big table involved in the demo.

For the same reason, I have created small video for that.

image

I have written two more article on columstore index. Please read them as followup to the video:

SQL SERVER – How to Ignore Columnstore Index Usage in Query

SQL SERVER – Updating Data in A Columnstore Index" [GD: Post leach level: 99%]

Sometimes a 4 minute video is all you need...

 

Related Past Post XRef:
A couple SQL Server ColumnStore references...

SQL Server 2012 Edition and Licensing Revamp Round-up

Playing with SQL Server 2012 the easy way, via a Microsoft and Amazon partnership for SQL Server 2012 on AWS/EC2 (Think "5 Minutes to Denali")
Want Denali CTP3 (aka next version of SQL Server)? Here's a Hyper-V VHD just for you (in 36 parts, but I've also provided direct download URL's for use in your DM of choice...)

"Introducing Microsoft SQL Server Code Name 'Denali'" Free (draft two chapter preview) eBook
SQL Server Denali Sequence Object Overview
SQL Server Denali Feature Watch - FORMAT(), as in, "OMG we finally get .Net like Number/Date/Time formatting in our TSQL" Or "Saying goodbye to my old friend, Convert(103)..."
Time to start thinking about, and providing feedback on, what you’ll need to upgrade to Denali (aka next version of SQL Server)
Denali CTP3 introduces LocalDB - Think SQL Server Express crossed with SQL CE (or SQL CE grown up or SQL Express made as almost as easy CE)
SQL Server Denali FileTables Feature - The fruits of WinFS? (Think "A FileStream enabled table that you can access as a network file share and other standard File IO API's" or "SQL Server File System in a Table")

Bing Maps REST Services SDK Doc's Updated

Microsoft Downloads - Bing Maps REST Services SDK (PDF), Bing Maps REST Services SDK (CHM)

This software development kit (SDK) provides programming reference and how-to topics for getting started with the Bing Maps REST Services, in the form of a PDF file. (... or in the form of a CHM file.)

image..."

Did you see the page for the last entry?

image

Yeah, there's 366+ pages in the PDF, up from 151 in last year's (Bing SDK updates, Spatial, SOAP, Rest and AJAX Control.)

 

Related Past Post XRef:
Using the Bing Maps WPF control to build an, "OMG, was that an earthquake...?" app
Bing SDK updates, Spatial, SOAP, Rest and AJAX Control.

Semantic Versioning (semver.org)

Semantic Versioning

"In the world of software management there exists a dread place called "dependency hell." The bigger your system grows and the more packages you integrate into your software, the more likely you are to find yourself, one day, in this pit of despair.

In systems with many dependencies, releasing new package versions can quickly become a nightmare. If the dependency specifications are too tight, you are in danger of version lock (the inability to upgrade a package without having to release new versions of every dependent package). If dependencies are specified too loosely, you will inevitably be bitten by version promiscuity (assuming compatibility with more future versions than is reasonable). Dependency hell is where you are when version lock and/or version promiscuity prevent you from easily and safely moving your project forward.

As a solution to this problem, I propose a simple set of rules and requirements that dictate how version numbers are assigned and incremented. For this system to work, you first need to declare a public API. This may consist of documentation or be enforced by the code itself. Regardless, it is important that this API be clear and precise. Once you identify your public API, you communicate changes to it with specific increments to your version number. Consider a version format of X.Y.Z (Major.Minor.Patch). Bug fixes not affecting the API increment the patch version, backwards compatible API additions/changes increment the minor version, and backwards incompatible API changes increment the major version.

I call this system "Semantic Versioning." Under this scheme, version numbers and the way they change convey meaning about the underlying code and what has been modified from one version to the next.

image..."

I've been hearing about Semantic Versioning recently, but didn't know there was a page/url/site dedicated to it until today... sigh... I need a faster Brain-World interface. When is BWv2 coming out? :P

Also the fact this page is hosted/managed/version controlled on Github is cool too, https://github.com/mojombo/semver.org (which given the author, I guess that makes sense... ;)

SVG is to Windows Phones Icons as... A SVG Windows Phone Icon Generator

Windows Phone SVG Icon Generator

"Generate Windows Phone icons for the phone and the Windows Phone Marketplace!

  1. Add Scalable Vector Graphics (SVG) markup to the textbox above
  2. Click the generate icons button
  3. Take a screenshot and use your favorite photo editing software for splitting and cropping

The generator requires that you use a 100 by 100 coordinate system that has the origin point 0,0.

Works in latest Firefox, latest Google Chrome, Internet Explorer 9+, Opera 12+ and latest Safari. Opera 12 is currently in alpha.

SNAGHTML3c99dad2

image..."

There's something appealing about the simplicity yet usefulness of this site. Paste in some SVG, click on the button and get a bunch of WP7 Icons. Plus it's just kind of fun playing with the SVG... :)

(via reddit/wp7dev - Windows Phone SVG Icon Generator)

I remember when... Modem Infographic

SpeckyBoy - An Infographic on the History of the Modem

"Once upon a time, transferring just a few kilobytes of data between computers in different locations was considered near science fiction fantasy, or at least a cutting edge military computer science experiment. As our technology has evolved, the transfer of data has underpinned the backbone of our society.

Let’s not forget then that those little boxes we call modems, routers and switches were all born from a need to connect teletype machines together, transferring information at a stunningly slow 25 bits per second. At that rate, this post might take as long as 12 days to completely download.

In their quest to fully appreciate the invention of the modem, our friends at Broadband Choices prepared this spiffy infographic on the history of the modem.
image..."
(Graphic created by http://www.broadbandchoices.co.uk)
This Infographic is sure to spark fond memories of your first modem (300B for my C64), your BBS days (I was even a paid BBS Sysop at one point :) and make you look back and then to today in wonder at the speeds we have now...

(via Winextra - A history of the modem – talk about bringing back memories [Infographic] -> Geek O System - The History of the Modem [Infographic])

[Humor] Romeo emails Juliet (via Blackberry)

historical tweets - Shakespeare’s SO Topical: Blackberry Outage

image

That's just wrong... Funny as heck, but wrong... LOL

I'm glad historical tweets is back. They make me laugh almost every day. :)

Sunday, November 06, 2011

Revisiting .Net assembly redirection, introduction, information and troubleshooting

.net scraps - Assembly redirection in .NET

"In this blog post, I'll discuss some of the techniques that you can use for loading the assemblies in .NET and troubleshoot the loading process in case you get stuck. Basically, you will learn…

  • How to rename an assembly and still be able to load it
  • How to redirect to a specific version
  • How to use two different versions of the DLL in the same application
  • How to use fusion log and troubleshoot while doing the above exercise

Without further ado, and scaring you with the mumbo jumbo of assemblyBinding, probing and other processes, let us get straight to action. We shall learn along the way.

...

image..."

I thought this a great article on a subject that we don't think about all to often, but when it bites us, it can REALLY byte us...

Long exposure picture fun, staring the Roomba.

Singularity Hub - Roomba Art – Making Beautiful Images While Vacuuming

What do you get when you have a bunch of Roombas, a long exposure camera, and perhaps some extra time on your hands?

Artwork.

And the Yahoo Roomba Art Group are putting up some seriously cool pics on flickr. Who would have thought you can create striking works of art and clean the living room floor at the same time? Technology opens yet another door to new possibilities. If you feel so inclined and have a Roomba, dim the lights, fix an LED, and watch the brush strokes appear on the canvas. I don’t know if the robots are inspired by beautiful artwork, but looking at these pictures, it’s hard for us humans to not be.

SNAGHTML370e28f4[3]..."

flickr - Roomba Art

SNAGHTML370f19a9

That's awesome...

RiSE4Fun - Microsoft Research, Research in Software Engineering, "Fun" Dev, via web, site

RiSE4fun - About

"RiSE4fun showcases projects from various groups at Microsoft Research. See how RiSE projects interact together.

About RiSE The Research in Software Engineering team (RiSE) coordinates Microsoft's Research in Software Engineering in Redmond, USA. Our mission is to advance the state of the art in Software Engineering, to bring those advances to Microsoft’s business, and to take care of those SE technologies that are critical to the company, but not inherently linked to particular products.

About PPT The Programming Principles and Tools group devises formal techniques and models for understanding programs, programming abstractions and languages, and develops related implementation technology.

About RSE The Rigorous Software Engineering studies software engineering issues in developing large scale software systems. We work on tools, languages and methodologies to dramatically increase the productivity of software development. We are interested in both analysis tools for existing software, as well as in asking questions about how software of the future should be designed.

...

REST Services Tools can also be accessed and executed through the RiSE4fun REST services. The services API is available here.

Hosting RiSE4fun in your page RiSE4fun can be hosted in your own pages using an iframe and adding frame=1 to the url. Adding menu=0 will also hide the list of tools so that you can point directly at a sample. Adding ask=1 will trigger the 'ask' button automatically

..."

RiSE4fun

image

I'm not really sure what to make of this site, but it's just too cool, interesting and "out there" to not mention it.

And the fact that you can call this via REST and/or host it via an IFrame is just cool.

But I think the pure geekness of the how they answer the "projects" question rocks. Very meta... :)

Projects

image

digraph RiSE
{
  Agl [fillcolor=gray, fontcolor=white, color=gray]
  Bek [fillcolor=gray, fontcolor=white, color=gray]
  Boogie [fillcolor=gray, fontcolor=white, color=gray]
  CodeContractsVerifier [fillcolor=gray, fontcolor=white, color=gray]
  ConcurrentRevisions [fillcolor=gray, fontcolor=white, color=gray]
  Dafny [fillcolor=gray, fontcolor=white, color=gray]
  Dkal [fillcolor=gray, fontcolor=white, color=gray]
  F* [fillcolor=gray, fontcolor=white, color=gray]
  Formula [fillcolor=gray, fontcolor=white, color=gray]
  HeapDbg [fillcolor=gray, fontcolor=white, color=gray]
  Pex [fillcolor=gray, fontcolor=white, color=gray]
  Poirot [fillcolor=gray, fontcolor=white, color=gray]
  Rex [fillcolor=gray, fontcolor=white, color=gray]
  SLayer [fillcolor=gray, fontcolor=white, color=gray]
  SpecSharp [fillcolor=gray, fontcolor=white, color=gray]
  Vcc [fillcolor=gray, fontcolor=white, color=gray]
  Z3 [fillcolor=gray, fontcolor=white, color=gray]

  DGML -> Agl;
  Rex -> Agl;
  Rex -> Automata;
  Bek -> Automata;
  Bek -> DGML;
  Automata -> Z3;
  Boogie -> Z3;
  Boogie -> CCI;
  Dafny -> Boogie;
  Chalice -> Boogie;
  Vcc -> Boogie;
  Vcc -> CCI;
  CodeContracts -> CCI;
  CodeContractsVerifier -> CCI;
  CodeContractsVerifier -> CodeContracts;
  HeapDbg -> CCI;
  HeapDbg -> Agl;
  Pex -> Z3;
  Pex -> ER;
  Pex -> Moles;
  Pex -> Rex;
  Moles -> ER;
  CHESS -> ER;
  CHESS -> CAP;
  Cuzz -> CAP;
  ConcurrentRevisions -> CCI;
  F* -> Z3;
  SymDiff -> Boogie
  SymDiff -> Havoc
  SLAM -> Z3;
  Poirot -> Boogie;
  Poirot -> Havoc;
  Havoc -> Boogie
  LineUp -> CHESS
  RaceKit -> ER
  SpecSharp -> Boogie
  SpecSharp -> CCI
  Formula -> Z3
  Formula -> Agl
  SLayer -> Z3;
}

image

Related Past Post XRef:
Playing with Pex is just a web browser away at www.pexforfun.com

Friday, November 04, 2011

Playing with SQL Server 2012 the easy way, via a Microsoft and Amazon partnership for SQL Server 2012 on AWS/EC2 (Think "5 Minutes to Denali")

Visual Studio Mag - Data Driver - Developers Can Test 'Denali' in Amazon Cloud

"Microsoft and Amazon are collaborating to offer developer testing of the next version of SQL Server in the Amazon cloud, promising an easier and cheaper evaluation than you could get with a local implementation.

The marriage of Microsoft SQL Server "Denali" (now, SQL Server 2012) and the Amazon Elastic Compute Cloud means developers only have to pay standard Amazon Web Services (AWS) rates to test the beta database software, currently in Community Technology Preview 3. AWS pricing for "standard on-demand instances" ranges from 12 cents to 96 cents per hour.

An AWS site promises easy deployment in five minutes. "With AWS, companies can utilize the Cloud to easily test the new functionality and features of 'Denali,' without having to purchase and manage hardware," the site says. "This provides customers with faster time to evaluation, without any of the complexity related to setting up and configuring a test lab for beta software."

..."

Test “Denali” on Amazon Web Services in Minutes

"Start Your "Test Drive" of Denali on AWS in Minutes

Microsoft SQL Server Code Name “Denali” is the next major release of Microsoft SQL Server and related components. Currently in beta, Microsoft® SQL Server Code Name "Denali" will provide customers with higher levels of performance, availability and scalability, compared to previous versions.

Amazon Web Services provides companies with a cloud infrastructure that enables them to run applications, including databases, in the cloud, allowing them to replace up-front capital infrastructure expenses with low variable costs that scale with their business. With the AWS Cloud, companies no longer need to plan for and procure servers and other IT infrastructure weeks or months in advance.

Microsoft has collaborated with AWS to allow customers to easily deploy and run SQL Server Code Named “Denali” on Amazon Web Services in 5 minutes with no additional Microsoft software licensing costs*. With AWS, companies can utilize the Cloud to easily test the new functionality and features of “Denali”, without having to purchase and manage hardware. This provides customers with faster time to evaluation, without any of the complexity related to setting up and configuring a test lab for beta software.

*Standard Amazon Web Services rates apply

..."

This looks like one of the quickest and easiest ways to play with SQL Server 2012 (fka Denali) right now. No installing, no download, no hardware, just an Amazon account AWS account and an EC2 (i.e. not free, but can be very cheap).

I hate to say this, but you know I've never fired up an EC2 instance? Yeah, I know, I'm so 00's... :| Well I think this has pushed me over the edge and I'll be firing up an instance in the near future! MUHAHAHAHA... lol :)

 

Related Past Post XRef:
SQL Server 2012 Edition and Licensing Revamp Round-up
SQL Server 2012 Data Quality Services Slide Demo
SQL Server 2012 (fka Denali) Developer Training Kit Web Installer Preview (Updated)
"Introducing Microsoft SQL Server Code Name 'Denali'" Free (draft two chapter preview) eBook
Want Denali CTP3 (aka next version of SQL Server)? Here's a Hyper-V VHD just for you (in 36 parts, but I've also provided direct download URL's for use in your DM of choice...)
SQL Server Denali Sequence Object Overview
SQL Server Denali Feature Watch - FORMAT(), as in, "OMG we finally get .Net like Number/Date/Time formatting in our TSQL" Or "Saying goodbye to my old friend, Convert(103)..."
Time to start thinking about, and providing feedback on, what you’ll need to upgrade to Denali (aka next version of SQL Server)
Denali CTP3 introduces LocalDB - Think SQL Server Express crossed with SQL CE (or SQL CE grown up or SQL Express made as almost as easy CE)
SQL Server Denali FileTables Feature - The fruits of WinFS? (Think "A FileStream enabled table that you can access as a network file share and other standard File IO API's" or "SQL Server File System in a Table")
A couple SQL Server ColumnStore references...

YLAD - You're Last [WP7] About Dialog

CodePlex - Your Last About Dialog

"Are you tired of recreating the same about dialog logic and content for each Windows Phone app every time? "Your Last About Dialog" is a robust and generic, highly configurable implementation you can easily pull into your own app and set up for your needs. It is able to pull most data from your application automatically, supports fetching both text and Xaml content from remote sources (with fallback local content), and allows easy localization of the complete dialog content to all of the languages supported by your app.

...

Mister Goodcat - Announcing: Your Last About Dialog (YLAD)

"Inspired by a blog post from Jeff Wilcox back in July (here), I started creating a generic about dialog for Windows Phone based on his initial ideas and design. Over time I improved the code more and more, created new features and avoided pitfalls, and eventually added localization support. At this point I think it's a pretty handy piece of code that is also interesting for others to use in their applications, and it has proven to be robust and reliable by multiple applications in the Marketplace that use it. Remembering my own "reinventing the wheel" issues with about and help screens, I hope that this addition will indeed be "your last about dialog", serving all your requirements. Included features:

  • Extracts all information about your app automatically (name, version, description etc.).
  • Allows overriding all information with alternate fixed values.
  • Shows a configurable list of hyperlinks to your web site(s) or email addresses etc.
  • Shows a button that lets the user rate your app in the Marketplace.
  • Supports additional pages (pivot items) to be added, containing local or remote content.
  • Freely configurable fallback content for remote sources that cannot be retrieved.
  • Supports both text (with auto-formatting/highlighting) and XAML content.
  • Can be localized for any culture you want to support.
  • Only loaded when the user requests it – zero memory/performance impact otherwise.

...

YLAD – Your Last About Dialog:
On CodePlex
In the NuGet gallery (recommended for installation)"

Your Last About Dialog  - Your Last About Dialog Documentation

Your Last About Dialog

Creating an about dialog, or something comparable, is mandatory for a Windows Phone app. In the technical certification requirements (5.6) you are required to include "easily discoverable" information about the application name, version and technical support contact options. On the other hand, statistics show that the about or help screen of an application is one of the least used features of apps (some claim something as low as only 3% of the users are accessing it). This results in the need for something that:
  • Is only loaded when the user actually requests it, to avoid unnecessary bloating of the apps memory footprint and wasting performance
  • Updates the information e.g. about the app version dynamically to minimize your efforts and to eliminate the risk of forgetting to do that manually
  • Looks good but doesn't require too much time to implement, and can be reused easily for future projects.
  • Allows you to easily extend the content with additional information or data you want to present for a particular app only.


YLAD is exactly that. It's easy to integrate into your own app, it pulls the required data from your application dynamically so you'll never forget to manually update it, it's loaded dynamically when the user requests it and still optimized to show first content as quickly as possible, and you can extend it easily with both local, static content as well as content that is fetched from a remote source and can be switched and changed dynamically even after publishing your app. In addition, the dialog supports localization. All this is achieved through configuration and doesn't require to write additional code. For more information, please scroll down.

...

image..."

Mister Goodcat (aka Peter Kuhn) has done it again, this time with a cool, "why, oh why, do we all have to create our own About's... well, we don't now!" solution. And best of all, he not only gives it out free, but has released the source too. Love that...

Mister Goodcat, thank you! :)

 

Related Past Post XRef:
PAARC (Phone as a Remote Control) - A library for WP7 & Desktop that lets the two easily connect... (Think "Writing a WP7 app that connects to and "controls" a Desktop app...

Time comes and goes and sometimes even comes back! The interesting ticking of the HTML5 Time element

DZone - HTML5 Microzone - HTML5 < time > element: returned!

"Well, after much hubbub, including some here at DZone, the HTML5 <time> element has returned.

Paul Cotton, on behalf of the chairs of the working group, issued a revert request -- and his explanation is interesting:

The Chairs have received multiple requests to revert change r6783.

This change is related to bug 13240 [1] which was never sent to the HTML WG since it used a possibly incorrect Bugzilla component. Since WG members were NOT notified of the creation of this bug the Chairs have decided that this change should be subject to the Enhanced Change Control rules in the WG Decision Policy [2]:

"Therefore during a pre-LC review, or during a Last Call, feature additions or removals should only be done with sufficient prior notice to the group, in the form of a bug, a WG decision, or an on-list discussion. This applies only to LC-track drafts and does not apply to drafts that may include material for future versions of HTML."

We therefore ask for a revert of this change to be completed no later than the end of day on Tuesday 8th of November. If this revert is not complete by that time, we will instruct W3C staff to make this change.

In addition the Chairs plan to change the component of bug 13240 so that it is considered to be a Last Call bug on the HTML5 specification. The Chairs also plan to add the TrackerRequest keyword to the bug so that it immediately becomes a Last Call WG issue(s). Therefore we direct the HTML5 Editor to NOT process this bug further until the WG reaches a decision on the WG issue(s). We note as well that this topic was on the agenda of today's WG F2F meeting [3].

/paulc

In other words: people don't like it, and we never really meant to approve, and we're not really sure how it got through in the first place.

...

After the decision, a proposal to modify the reverted <time> element was posted on the W3C wiki. This might map the near future of <time>, so it's worth checking out for that reason alone -- though also, again, to help understand how HTML5-spec decisions are made. But however it happened, <time> is back.

So: did the W3C WG actually bow to popular outcry? or was there really just a bug in their bug-review system? ..."

Like the making of sausages, hot dogs and laws, the making of standards can be an "interesting" process. The last couple days for the <time> element is a case in point. And this also highlights that with all the talk about HTML5 support, the standard is many cases is still in flux and a moving target. That doesn't mean we can ignore it, far from that, but you do need to be flexible and ready for change.

MonoGame - Cross Platform, OpenGL based XNA Framework implementation (Think "XNA" [mostly] based games for MonoTouch, MonoDroid, Mac OS X, Windows...)

Adventures of Roy - MonoGame -vs- XNA Comparison

"I  was toying around with switching to MonoGame earlier tonight.

First off, the transition was very simple. I downloaded MonoDevelop, OpenTK and the MonoGame source. I compiled MonoGame using MonoDevelop and got a dll out of it. I then deleted all of my XNA references from AstroMiner and added a reference to the MonoGame .dll.

After trying an AstroMiner build, I noticed a couple of differences. Texture2d.FromStream is now Texture2d.FromFile. render.SaveAsPng (for taking screenshots) is no longer available. Out of everything I do, that's it. Can't really complain.

...

So for not having to make any changes to the code (besides replacing FromStream with FromFile), I think it's a really viable solution. I'm going to keep researching to see if I can figure out how to fix the minor issues I had. It'd be nice to not require the XNA libraries and be able to publish to multiple platforms."

CodePlex - MonoGame - Write Once, Play Everywhere

"What is MonoGame?

MonoGame is a free OpenGL implementation of the XNA Framework for MonoTouch, MonoDroid, Mac OS X, Windows & soon Linux. Our goal is to allow XNA developers on Windows & Windows Phone 7 to port of their games to the iPhone / iPod / Android / Mac OS X (visa versa), with minimal hassle.

...

Current Roadmap

  1. After 2.0 release is out, we will stick to an odd release numbers are beta quality, while even numbered releases are stable, structure.
  2. Add OpenGL ES 2.0 support so we can use 2048x2048 textures and then have shader support. If ES 2.0 is not found on the device it will fall back to ES 1.1, hence 1.1 working properly before moving onto ES 2.0 support.
  3. Once ES 2.0 with fallback to ES 1.1 is working and appears to be stable we will release MonoGame 3.0.
  4. Once we are happy that 2D is the best it can be...add 3D support. There is already some VertexBuffer code, and DrawPrimitives added by kelthar, but it needs to be fleshed out.
  5. Once 3D support is stable we can then release MonoGame 4.0 :).

...

SNAGHTML2d32647a..."

github - mono / MonoGame

"...

MonoGame Goes Multi-platform: MonoGame 2.0 Announced

MonoGame is an open source implementation of the XNA APIs that allows developers to build 2D games that run on Android, iPhone, iPad, Mac, Linux and Windows using the same code base, or reusing existing XNA code that runs on Xbox 360 or Windows Phone 7. MonoGame 2.0 release is a major evolution of the platform. We went from only supporting the iPhone to becoming a cross-platform stack that now also runs on Android, Mac, Linux and Windows. To help developers get started, more than twenty individual samples and more than five complete starter kits are shipped with this release. On the iOS platform, MonoGame runs on top of MonoTouch and there are at least eighteen games published on Apple’s AppStore built using the technology. This new release opens the doors for developers to publish games to the Mac AppStore using MonoMac, to Android Market using Mono for Android, and also to Windows and Linux systems using Mono. This major advance in the MonoGame platform was made possible by an exponential growth in the number of contributors to the project in the last seven months. New contributors took over major components of the stack, tuned the performance, added new platforms, tuned the engine and fixed hundreds of bugs to turn MonoGame into a solid 2D gaming platform. A new networking stack allows players on the same network to play with each other. One player could be running the iOS client, while another one might be using a Mac and another one an Android device. All playing the same game. The latest framework sources can be downloaded from : http://github.com/mono/MonoGame. A group of multi-platform XNA Samples can be downloaded from : http://github.com/CartBlanche/MonoGame-Samples

..."

I hadn't heard of MonoGame before today... it looks pretty cool and useful if you're writing cross-platform games or are currently a XNA only dev and thinking about crossing your game...

Thursday, November 03, 2011

PAARC (Phone as a Remote Control) - A library for WP7 & Desktop that lets the two easily connect... (Think "Writing a WP7 app that connects to and "controls" a Desktop app...)

Mister Goodcat -Announcing: Phone as a Remote Control

"Shortly after I got my Windows Phone I had the idea of creating an app that lets me remotely control my desktop computer. The reason for that was that lazy me needed to use a clumsy and error-prone full-size wireless keyboard and mouse when I wanted to surf the web from my couch, using the small media PC connected to my TV set. Wouldn't it be nicer to use the much more handy mobile phone as input device? Unfortunately the RTM version of Windows Phone was missing some networking features for that – using web services or http wasn't what I was looking for. The Mango release changed that, because TCP/UDP socket support was added to the platform.

After I started working on the app I quickly realized that it would be really cool to not just have this feature for my own purposes, but to create a generic library which could be integrated into your own applications, both on the phone and desktop side. That was the moment when I decided to create PAARC ("Phone as a Remote Control") – sorry for the boring name, I couldn't come up with something better and more exciting :).

...

PAARC has the following features:

  • Uses TCP and UDP sockets for maximum performance and responsiveness (watch the demo video to see for yourself), but handles all the networking and threading stuff for you behind the scenes.
  • Requires minimum technical knowledge from your end-users by e.g. using a server discovery mechanism – no cryptic networking terms to handle, "one-click" connect feature.
  • Supports raw (multi-)touch input, the built-in phone gestures like taps, flicks, pinching and dragging, acquisition of all sensor data (accelerometer, compass, gyroscope, combined motion) and text input.
  • Comes with a reference WP7 client with support for tombstoning/deactivation and all supported data types, so you don't have to create a separate app to get started (but you can do that, of course, or integrate the client-side library into your already existing phone app).
  • Allows full configuration and control from the host application (your .NET desktop app).
  • Has built-in remote tracing features to track down problems.
  • Comes with a few demo applications you can learn from and is fully documented.

Possible scenarios for a library like this are for example using phones as controllers for desktop games (in particular using the sensors), creating more natural ways of user interaction for your applications, creating remote control interfaces for existing applications and more. One of the included samples is the PC controlling application I mentioned in the beginning that converts touch, sensor and text input into operating system commands to control the mouse cursor, buttons and to emulate keystrokes – to allow your PC to be completely controlled from the couch, using your phone :).

A first version of the library is now live and available on CodePlex. ..."

Codeplex - Phone as a Remote Control

"PAARC is a library that enables Windows Phone 7 devices to be used as remote control or input devices for any .NET desktop application. Supports raw (multi-)touch input, gestures (tap, double-tap, hold, pinch, drag, flick), sensors (accelerometer, compass, gyroscope, combined motion) and text input using the SIP. Uses TCP/UDP sockets for maximum performance and responsiveness, and has a server discovery mechanism (multicast) to auto-connect to hosts on the same network. The library comes as multiple components (class libraries) that can be integrated in your own projects both on the phone (Silverlight/XNA) and desktop (.NET), and it has a reference WP7 client you can use to start without creating a separate Windows Phone app first.

..."

Phone as a Remote Control - Documentation

"Important

At the moment, there are some phone devices that show an odd behavior with TCP/UDP sockets after being updated to Mango. This is not a bug in the library, but an issue with the phone's firmware. In particular, both the HTC Mozart and HD7 are confirmed to be among the problematic models. A fix for the Samsung Omnia 7 was released a while ago (firmware 2424.11.8.5 or higher). More information and a detailed analysis of the problem can be found here.

Introduction

The paarc library is a project aimed at developers that want to use a Windows Phone as input device for any .NET application running on a remote/desktop computer. It consists of different included components ranging from the core library, a reference implementation on the phone and several samples on the PC side (more on all this below). The library doesn't make any assumptions about the remote .NET application per se, which allows you to connect a phone to any kind of desktop application or game, for example to use it as sensor, as touch input device, game controller, remote keyboard, or whatever else you intend it for.
For a quick live demo of the library in action with some basic explanations, take a look at this 7-minute video:

...

image..."

This is one of those projects that makes you brain explode with ideas on how you can use it...

(cough... I wouldn't be surprised to see this show up the Coding4Fun blog in the near future and even possibly a future This Week on Channel 9... ;)

Project2NuGet

Denis Knaack's Blog - Introducing the Project2NuGet approach.

"As a .Net Developer who´s working with Visual Studio, we all love NuGet. If you don't know what NuGet is, i encourage you to check it out... its awesome.

Some months ago i introduced a NuGet Package Wizard on Codeplex. But i think it was not that much easier to create a new package using the Wizard than using the NuGet Package Explorer.
So i decided to focus on one particular part of the wizard and create a new approach.

The Problem, that we all have, is time. I would love to write a longer blog post, spend more time on this project and releasing it on github or codeplex.
But I'm using this tool now for a few weeks and its works fine. So i will do this if YOU like it ;)

What is it?
Project2NuGet is a Visual Studio 2010 Add-In as well as a Console Application that makes it possible to configure, build, copy and (not yet) publish your package with 2 clicks or a few keystrokes.
It gives you the possibilities to define your package once and build it any time you want with ease.

...

Of course, this was just a simple sample. In our company we have multiple Assemblies, Tests und Test Applications. With Project2NuGet I´m able to create a Test application with all dependencies, content, and deliver this “kind of project template” to my employees. I also can provide updates and the others can update their project.

Download:

...

image..."

This looks like a cool means for creating, building and maintaining NuGet Packages. Looks like something that might work well for inside the firewall NuGet usage, etc.

300 Windows Phone 7 Icons, Creative Commons (with *.XAML, *.Design and *.PNG)

Templarian - Project: Windows Phone Icons

Project: Windows Phone Icons

This is a project started a few months ago to supply creative commons licensed icons to Windows Phone developers.
image

View the tutorial for step by step instructions on how to create an icon.

What is Included?

Inside of the zip are the 48x48 icons for use in the appbar. Source files are provided so with Expression Design they can be resized and exported for other uses.
Templarian  - Tutorial: Creating an Icon
SNAGHTML282c46a3
So what comes in the download?

SNAGHTML282864bd

And a thumbnail snap;

SNAGHTML2829f893
image
I can always use more icons!  :)

(via I Love Windows Phone - 300 Free Windows Phone Icons)

Related Past Post XRef:
Windows Phone 7 Icons.. Before you search the web, check your hard drive
A couple of my favorite things... Paint.Net and Windows Phone 7 (and using the one to create App and Tile icons for the other)
Sometimes a picture says… Photoshop Design Templates (and other design resources) for Windows Phone 7
Application Bar Icons for your Windows Phone 7 development
A Windows Phone 7 Development/Design Guidelines/Certification Requirements Cheat sheet/Checklist
The Noun Project, XAML’ified… or The Noun Project converted for you to XAML and PNG’s
“The Noun Project” + SVG + Free + Metro like look and feel + 500 = Happy Windows Phone 7 Developers

SQL Server 2012 Edition and Licensing Revamp Round-up

SQL SERVER 2012 Licensing Overview

"The SQL Server 2012 release will simplify customer options with three main editions that are closely aligned with how customers use SQL Server across workloads. SQL Server 2012 will also deliver licensing which enables customers to more easily take advantage of the benefits of public and private cloud through virtualization and license mobility. Our new model will provide:

Simplified Licensing

SQL Server 2012 will offer two licensing options – one that is based on computing power, and one that is based on users or devices (see table below for the mapping of the new licensing options per edition).

Flexibility and Innovation

Cloud-optimized licensing with the ability to license a single Virtual Machine (VM) or license a server for maximum virtualization as well as the flexibility to move your VMs from server to server, or to hosters or the cloud.

...

SNAGHTML280c7560..."

 

SQL SERVER 2012 Editions

SNAGHTML280abc10

image

SQL Server Licensing Data Sheet

"...

SQL Server 2012 Licensing Options

SQL Server 2012 will continue to offer two licensing options – one that is based on computing power, and one that is based on users or devices. In the computing power-based license model, however, the way we measure power will shift from processors to cores. Core-based licensing provides a more precise measure of computing power given high core-density server hardware. It also provides a more consistent licensing metric regardless of where the solution is deployed across on-premises to cloud.

· Enterprise Edition (EE) will be licensed based on compute capacity measured in cores

· Business Intelligence (BI) Edition will be available in the Server + CAL model, licensed by the number of users or devices

· Standard Edition (SE) will have the option of both license models to address a wide variety of basic database workloads

...

image..."

Frequently Asked Questions - SQL Server 2012 – Editions and Licensing

image

image

And a couple related posts from the field...

SQL Server with Mr. Denny - SQL Server 2012 Licensing Changes

"So you may have heard earlier today about the license changes that are coming out for SQL Server 2012. I know that the official announcement can be a little hard to get through and the changes can be a little confusing at first (or even second or third) glance. The SQL Server licensing team was kind enough to spend some time sitting down with me to try and work through how the license changes will be effecting customers. Please note that any prices that I quote in here are list (retail) prices and are shown in US dollars. If you have an Enterprise Agreement with Microsoft you will probably be paying less

...

image..."

With CLUE as (Select * from Random_Thought ORDER BY Common_Sense DESC) - SQL 2012 Licensing Thoughts

"The only thing more controversial than new Federal Tax plans is new Licensing plans from Microsoft. In both cases, everyone calculates several numbers.

  1. First, will I pay more or less under this plan?
  2. Second, will my competition pay more or less than now?
  3. Third, will <insert interesting person/company here> pay more or less?

Not that items 2 and 3 are meaningful, that is just how people think.

Much like tax plans, the devil is in the details, so lets see how this looks. Microsoft shows it here: http://www.microsoft.com/sqlserver/en/us/future-editions/sql2012-licensing.aspx

First up is a switch from per-socket to per-core licensing. Anyone who didn’t see something like this coming should rapidly search for a new line of work because you are not paying attention. The explosion of multi-core processors has made SQL Server a bargain. Microsoft is in business to make money and the old per-socket model was not going to do that going forward.

Per-core licensing also simplifies virtualization licensing. Physical Core = Virtual Core, at least for licensing. Oversubscribe your processors, that’s your lookout. You still pay for what is exposed to the VM. The cool part is you can seamlessly move physical and virtual workloads around and the licenses follow. The catch is you have to have Software Assurance to make the licenses mobile. Nice touch there.

Let’s have a moment of silence for the late, unlamented, largely ignored Workgroup Edition. To quote the Microsoft FAQ: “Standard becomes our sole edition for basic database needs”. Considering I haven’t encountered a singe instance of SQL Server Workgroup Edition in the wild, I don’t think this will be all that controversial.

As for pricing, it looks like a wash with current per-socket pricing based on four core sockets ...

image"

Not sure how I feel about this. I like the simplifying of the SKU's a great deal. I wish more Enterprise features had made it into Standard, namely the TDE, ColumnStore and compression features ["Advanced Security (Advanced auditing, transparent data encryption)" and "Data Warehousing (ColumnStore, compression, partitioning)"] So I'm still stuck pushing for Enterprise. As for the cost, I think "selling" Enterprise is always going to be a up hill battle.

Still, all in all I think this is an okay move and isn't going to make me to crazy...

Wednesday, November 02, 2011

Don't be difficult, DiffMerge! Using the free DiffMerge with SourceSafe, TFS & SVN

The Mooney Project - How to use SourceGear DiffMerge in SourceSafe, TFS, and SVN

"What is DiffMerge

DiffMerge is yet-another-diff-and-merge-tool from the fine folks at SourceGear. It’s awesome. It’s head and shoulders above whatever junky diff tool they provided with your source control platform, unless of course you’re already using Vault. Eric Sink, the founder of SourceGear, wrote about it here. By the way, Eric’s blog is easily one of the most valuable I’ve read, and while it doesn’t get much love these days, there’s a lot of great stuff there, and it’s even worth going back and reading from the beginning if you haven’t seen it.

Are there better diff tools out there? Sure, there probably are. I’m sure you have your favorite. If you’re using something already that works for you, great. DiffMerge is just yet another great option to consider when you’re getting started.

You sound like a sleazy used car salesman

Yeah, I probably do, but I don’t work for SourceGear and have no financial interest in their products. I’ve just been a very happy user of Vault and DiffMerge for years. And it if increases Vault adoption, both among development shops and development tool vendors, it will make my life easier.

But when I go to work on long-term contracts for large clients, they already have source control in place that they want me to use, which is OK, but when I need to do some merging, it starts getting painful. I want it to tell me not just that a line changed, but exactly what in that line changed. I want to it actually be able to tell me the only change is whitespace. I want it to offer me a clean and intuitive interface. Crazy, I know.

Not a huge problem because DiffMerge is free, and it can plug into just about any source control system, replacing the existing settings. However those settings can be tricky to figure out, so I figured I’d put together a cheat sheet of how to set it up for various platforms.

...

image..."

I think it's pretty lame of me that I've been following DiffMerge since at least June 2007 (when I first blogged about it) but STILL haven't taken these steps to use it with TFS. Sigh... bad dev... bad dev... [Note to Self: Self's don't let Self's use the old SourceSafe/TFS Merge tool! The next time you merge, take a few seconds and replace that beast! (Good news is that MS is also replacing it in TFS11...)]

 

Related Past Post XRef:
SourceGear DiffMerge - Free Cross Platform GUI Diff & Merge Utility

Paul talks about the other Windows 8, Windows Server 8...

Paul Thurrott's Supersite for Windows - Windows Server "8" Preview (Unedited, Complete Version)

"In September, I wrote a lengthy preview of Windows Server 8 for the November 2011 issue of Windows IT Pro Magazine. That article had to be cut down for space considerations and because some of the material overlapped with other Windows Server 8 content in the same issue. Here for the first time is my full Windows Server 8 preview, in unedited form.

Windows Server "8" Preview

While the press is swooning over Windows 8 and its user experience advances for tablets and other personal computing devices, Microsoft has been quietly revving up the next version of Windows Server as well. And while Windows 8 is absolutely a major update for client desktops, Windows Server "8"--I'll drop the quotes from here on out; Microsoft says it's just a codename--is a blockbuster, and even bigger upgrade than is its desktop cousin.

Case in point: While Microsoft was able to communicate to reviewers all of the major changes in Windows 8 in a single day-long workshop, Server 8 required two longer, more grueling days of technical information plus a half-day hands on lab. There's just a lot going on with this release, and not surprisingly I need help communicating it all. So there are companion articles from Sean Deuby, Jeff James, and Mike Otey that cover the Active Directory, storage, and virtualization advances in this release, respectively, in more detail.

...

image..."

Frankly Windows Server 8 might be more important, provide more innovation and "cool" than Windows 8 itself. This is the next jump for the Windows Server family and it's an Olympic High Jump kind of jump. Paul's article is a great place to see just how high of a jump it is going to be...

 

Related Past Post XRef:
Building a private IaaS Cloud with Windows Server 8 whitepaper
Chucking you duplicate chunks... Microsoft Research, "Eliminating Duplicated Primary Data"

Windows Phone 7 Coding Dojo video... A 66 minute journey to a LOB WP7 app

Alphablog.org - Windows Phone 7 Coding Dojo

"Here is a video showing how to create a simple but useful Windows Phone 7 application. This application allow Devoteam Luxembourg’s consultant to add and follow their time off requests.

This application use web services based on Object Client for SharePoint. We will only see the Blend 4 part and the Visual Studio for windows phone development.

I only use MVVM Light (as usual :p) as external framework. I have already done the link between the “enum application state” and the “data state mechanism” (see previous coding dojo for more details). I have set up MVVM Light with NuGet :) (see details on NuGet)

The first video show how you can set up the project and create quick content (approx 1h). The second video show the capability of the application, on normal usage.

image..."

It's not often we see a LOB app demo'ed when building WP7 apps. Games and fun stuff, all the time, but LOB app building demos seem a rarer bird...

(via Windows Phone Geek - Video Tutorial Windows Phone 7 Coding Dojo app)

SQL Server 2012 Data Quality Services Slide Demo

Nikos Makris Blog - Data Quality Services–Demo

"ADD 2011 event (in Athens Greece) is over. I do have, however a leftover from my demo with Data Quality Services.

Here is the set of screenshots that explain the demo of creating and running a cleansing project and a matching project:

image..."

The DQS/Data Quality Services coming in SQL Server 2012 (fka Denali) looks pretty interesting. I can see there something like this could come in real handy with some "real world" data sets...

 

Related Past Post XRef:
"Data Quality and Master Data Management with Microsoft SQL Server 2008 R2" Free 226 page eBook

Windows Azure InfoKit for the Public Sector (Think "Azure links that GovDev's, or any Dev for that matter, might dig")

Public Sector Developer Weblog - Windows Azure InfoKit for Public Sector

SNAGHTML232891eb

image..."

I thought this a nice one page Azure link round-up, one that would be handy for many beyond/outside the Public Sector...

Local Account Management PowerShell Module (with C# Source)

TechNet Script Center - Local Account Management Module

"...

Introduction

This module allows managing local groups and user accounts, local group membership and some other useful tasks. It is based on the ADSI interface and some classes written in C# that are also attached.

All cmdlets support the pipeline so that also complex tasks are very easy to do. Some samples are below.

...

LocalAccount 1.0 C# Solution: LocalAccount 1.0.zip

Security2 1.2 C# Solution: Security2 1.2.zip

Description

The module provides the following script cmdlets:

  • Add-LocalGroupMembership
  • Disable-LocalUser
  • Enable-LocalUser
  • Get-LocalGroup
  • Get-LocalGroupMembership
  • Get-LocalUser
  • New-LocalGroup
  • New-LocalUser
  • Remove-LocalGroup
  • Remove-LocalGroupMembership
  • Remove-LocalUser
  • Set-LocalUser

image..."

We're playing some local management "fun and games" at my day job, so this caught my eye and something that might come in handy. But I think best of all was that the C# source was provided, so we not only get the binary goodness, but the source to learn how to fish with too... :)

Tuesday, November 01, 2011

Office 365 Integration Module for Windows Small Business Server 2011 Essentials Beta released

The Official SBS Blog - Download the Microsoft® Office 365 Integration Module Beta for Windows® Small Business Server 2011 Essentials Today!

"This week marks the beta release of the highly anticipated Microsoft Office 365 Integration Module (OIM) for Small Business Server 2011 Essentials. The OIM allows small businesses to seamlessly combine the cloud-based productivity tools of Office 365 with the infrastructure provided by SBS 2011 Essentials, a first-server designed and priced especially for small businesses with limited in-house IT resources. The joint technologies provide businesses with an affordable hybrid solution that helps protect data, organize and provide access to business information from virtually anywhere, and support the applications that enable the business to run smoothly and efficiently.

The Office 365 Integration Module joins the Windows® 7 Professional Pack for Small Business Server 2011 and the Windows® Server Solutions Phone Connector Add-in to help provide a flexible, comprehensive, and powerful solution for small businesses. If you are currently taking advantage of either SBS 2011 Essentials or Office 365, we encourage you to use this opportunity to experience the collective benefits of both products. Get ready today by downloading the Office 365 Integration Module Beta and discover how SBS 2011 Essentials and Office 365 work better together to help improve productivity and business efficiency.

The Office 365 Integration Module for Windows SBS 2011 Essentials extends the features of the server Dashboard by providing seamless integration with Office 365 services. When you integrate Office 365 with the server, you can:

  • Subscribe to Office 365 or configure the server to use an existing subscription.
  • Perform the following Office 365 account management tasks from the Dashboard:
    • Bulk create Office 365 accounts for network user accounts.
    • Assign new or existing Office 365 accounts to network user accounts.
    • Manage the Office 365 account assigned to a user account throughout the lifecycle of the user account. For example, deactivating a network user account also deactivates the Office 365 account that is assigned to the user account.
  • Synchronize passwords for network user accounts and Office 365 accounts. This allows network users to sign in to Office 365 using their Windows password.
  • Link a professional Internet domain that you have set up on Window SBS to Office 365.
  • View information about your Office 365 subscription.
  • Access your Office 365 management portal from the Office 365 page of the server Dashboard.

You can install and configure the Office 365 Integration Module at any time after completing the server installation.

Office 365 helps drive productivity by giving employees virtually anywhere access to professional-grade email, web conferencing tools, documents, shared portals, contacts, and calendars delivered through the cloud. At a glance, Office 365 includes (click here for more details):

  • Microsoft® Exchange Online, offering email, calendar and contacts
  • Microsoft® SharePoint Online, a central place to share documents and information
  • Microsoft® Lync Online, a next-generation cloud communications service
  • Microsoft® Office Web Apps, convenient online companions to the Microsoft® Office suite

The solution allows companies to use the productivity tools they need while eliminating the complexity, management, and maintenance requirements of in-house messaging infrastructure. Small businesses can now combine the power of an on-premise server solution and the flexibility and convenience of cloud-based applications to help improve productivity, enhance collaboration and communication, and keep business data safe and secure.

If you’re not familiar with the benefits of SBS 2011 Essentials and the Office 365 Integration Module, let me share with you some compelling advantages for small businesses:

..."

I like seeing the fulfillment of this promise, the hybridization of services, mixing in the stuff that makes sense to keep local with the stuff that makes sense to be in the cloud/offsite. This combination of small business offerings is looking pretty awesome