Stop copy-n-pasting your pages... OneNote page templates are click-click easy...
Tim Murphy's .NET Software Architecture Blog - Organizing Your Work With OneNote Page Templates
"If you have seen the Windows Phone commercial where the father is in the grocery store with the shopping list in OneNote you have gotten you first taste of the flexibility that can be had with OneNote. I like most consultants have a lot of fires going and once and I am finding that the templates in OneNote are helping me to get a handle on the different projects and tasks I need to track.
I started using OneNote to do simply what its name suggests: take and organize notes. Lately though I am finding ways that it can help to centralize things that I had been using multiple applications to accomplish. Having them all in one place, as with most things makes it easier to not miss something.
You may find using the tasks feature of Outlook works well for you, but I found that I was in and out of my email so fast that I ignored the tasks. As simple To Do List template in OneNote seems to be the solution for me since I spend so much time documenting projects. As an alternative you can use the Prioritized To Do List shown below or the Project To Do List which gives you a list per project.
...
I've become a pretty heavy OneNote user in the last year, but being a dev dude, I just started using it, figuring it out as I went along. And while this journey of discovery can be fun, it does lead to some holes, to missing some important features.
For example, Page Templates.
Until reading this post, OneNote Page Templates isn't something I thought about at all. Sure I use templates all the time in Word, PowerPoint, etc, but I always considered template to be a document level thing. So I knew there were OneNote Notebook templates (which you'd use once), but didn't even think there might be Page templates (which you can use over and over)... sigh
Using Page Templates isn't hard once you know the trick (which took me a little bit to find).
Funny enough, creating a new page based on a template or saving the current page as a template is done via New Page.
Select a template and pow, done.
To save the current page as a template, it's just as easy. Have the page open that you want to save and then;
You'll name the template and again, pow, you're done. Your new template will now be available in your "My Templates"
Are there more OneNote Page templates available online? You, bet.
Yes, these are all OneNote Page templates (I know, I thought, "Charts? Letters? Invites?" But, yep, these are all OneNote Page Templates...)
Let's look at one, the Home Lists;
In short, if you're a OneNoter and you're not using Page Templates, you're missing out...
From C# to C++, the short guide that isn't (all that short)
Bob Taco Industries - C# to C++ â A Somewhat Short Guide
"This is a big post â over 12200 words â and so Iâve decided to make it available as a PDF download, which you can get here:
http://www.bobtacoindustries.com/Content/Devs/CsToCpp-ASomewhatShortGuide.pdf
It has bookmarks for easier navigation along with a Table of Contents and page numbers.
I expect that I will revise this from time to time and welcome any suggestions, feedback, and (especially) corrections. If so I will update the Last updated field at the top and will create a revised PDF as well. I hope this proves useful.
For those interested, the sessions from the GoingNative 2012 conference will be streaming live today (Feb 2) and tomorrow on Channel 9: http://channel9.msdn.com/posts/Announcing-the-GoingNative-2012-Full-Schedule . Sessions will also be available for download shortly after the show ends (Iâd guess within 24-48 hours, but thatâs just a guess). It looks fascinating so definitely check it out! (I know I will be watching it.)
IntroductionThis is a somewhat short guide to the important things to know if you are a C# programmer and find yourself needing or wanting to work in C++, for example to create Metro style games for Windows 8 using C++ and DirectX. In fact, this guide is written with that goal in mind so it's not necessarily a universal guide for all platforms and purposes.
This guide is also going to be fairly utilitarian and pithy, with code standing in place of elaborate commentary. I'm expecting that you know how to program already and have a good understanding of C# (or of some sort of imperative, object-oriented language at any rate).
I'm also assuming you are fairly handy with navigating the MSDN library. Its Bing search box is really awesome; if you haven't used it before, do give it a try. I like how the search is tailored to not just MSDN but also other great programmer sites like the Stack Exchange sites, CodeProject, CodePlex, etc.
I'm sprinkling a fair bit of code throughout as I said above. This is both to show you a (pseudo) real example of something and also to help illustrate words with code so that each will hopefully help to clarify the other.
..."
When he said "Somewhat short" he wasn't kidding. The PDF is 38 pages.
Basic Assembly Language Programming (yes, that Assembly Language)
SecurityXploded Blog - Assembly Programming Basics Presentation & Updates
"Here comes the update from our last local security meet (sx/null/g4h/owasp) where Amit Malik & Swapnil delivered spectacular session on âAssembly Programming Basicsâ. This is part of our ongoing FREE âReversing & Malware Analysis Trainingâ which has been started since our last meet.
Duo delivered superb one hour session to jam packed 40+ folks who listened keenly even though it was mid lunch hour. This Session started with talking about assembly basics, registers, flags, instructions, calling conventions, stack basics, MASM programming etc along with live demonstration.
Presentation of the session is already online on our Security Presentations page. For those who could not attend this offline session, it also includes demonstration video (http://vimeo.com/36198403). Video is not visible on live presentation (issues with slideshare). So you need to download it offline to view the embedded video in presentation.
In addition to this, we also recommend reading our âAssembly Programming: A Beginners Guideâ which will help you to quickly started with ASM Programming.
..."
I don't see many Assembly Language posts/guides/presentations anymore these days...
Getting Started with IndexedDB Article
Iâve started to write a Blog post about IndexedDB and it was too long so I decided to post it as article in The CodeProject web site. The article name is âGetting Started with IndexedDBâ.
If you want to start using the IndexedDB JavaScript API, to store data on the client-side and to save round-trips to the database on the server-side the article is for you.
You can read the article here.
Enjoy!
RavenDB workshop in NDC, Oslo 4-5th June
The RavenDB workshop is coming to Oslo, Norway in June!
Join us to an intensive RavenDB hands-on workshop just before the great NDC conference starts.
During the first day of this workshop we will get to know RavenDB and its core concepts, get comfortable with its API, learn how to build and customize indexes, and how to correctly model data for use in a document database.
After getting familiar with all the basics in the first day, during the second day we will build on that knowledge to properly grok Map⁄Reduce, Multi–maps and other advanced usages of indexes, learn how to extend RavenDB and the various options of scaling out.
More details on the workshop and the conference can be found here.
If Chuck Norris were a programmer, here's what his resume preamble might look like...
Project 31-A - Updating My Resume
"The new preamble to my resume:
I piss excellence. Bill Gates retired from Microsoft only when I promised to work there. I donât version my code because it only needs a single iteration. Intel optimizes their hardware to match my compiler â not the other way around. My code comments have won a Pulitzer Prize. My current code style will be consider a best practice in two yearsâat that time I will think it is obsolete. The programing languages that I donât know I havenât invented yet. I donât submit to source control â it submits to me. Since I have never introduced a bug to the code base, my hiring can put the testing department out of work. I donât require an office chair -- I levitate in front of my desk. ...
This made me laugh... As a hiring manager, this might get a resume a second look and the person in for a visit (as long as it WASN'T copy and pasted from the above post... only if their content was original. :)
Making your app a better listener... Using multiple grammars to improve speech recognition and to allow for runtime, state based recognition configuration
Robert Lucero's Testing Blog - Speech Recognition - Using Multiple Grammars to Improve Recognition
"A difficult problem both users and developers face is recognizing words that are similar sounding, but wrong for the current context. An example of this would be the words âyellowâ and âhelloâ.
Using the simple WPF app from the previous Exploring Grammar Based Recognition post, I will show an example of this confusion and a simple way to improve recognition based on a defined context. Specifically, a button to enable and disable grammars will be added to simulate context switching.
Check 2, 3⊠CheckâŠThis is a continuation of the previous Exploring Grammar Based Recognition post. Please make sure that youâve installed the Windows SDK as a prerequisite to both of these tutorials.
Step 1: Identifying Recognition ConfusionUsing the Simple Speech Recognizer, add the word âhelloâ to the list of words to be recognized. Then repeat saying âhelloâ and âyellowâ with various inflections. Depending on how I said it, I was able to get the wrong word recognized.
...
What Was Improved?In this case, pressing the button changes the words that the Speech Recognition engine is listening for. If the grouping inside of grammar rules or grammars are clever, developers can enable and disable scenarios when the system moves into a specific state. It can give context and, in some cases, better accuracy for the words the system is listening for.
However, it doesnât improve the more basic problem of confusion if someone says a word that sounds very similar to a word the engine is listening for. This process primarily helps by focusing or broadening the words available for recognition.
SummaryBy dynamically enabling and disabling grammars, apps have another tool to help improve the recognition scenarios. Contexts that are provided and acted upon can make for a better recognition experience.
Here are some posts I found useful:
For more ideas or for more background on this post check out my previous post: Exploring Grammar Based Recognition. As always, if you have feedback or questions feel free to leave a comment or contact me through the MSDN blog dashboard tools!
This simple example shows how you can tweak speech recognition by the state of the app, to easily control what your app is listening for... Now if only I could turn off my internal Wife Grammar list (oh... did I really say that!? I mean turn it on! err... um... I mean... um... damn) :P
Firefox Tilt turns page element visualization on its side...
ArtLung [Joe Crawford] - Firefox Tilt
"This is a screenshot of a somewhat useful, great looking web development tool. Itâs called Tilt and itâs an add-on for Firefox. What it does is visualize the various elements, or tags on an HTML page in a 3-D space. You can interact with it and click to see what HTML and CSS makes each component. I find it useful sometimes to help me understand whatâs why on the page.
Like Joe says, this is pretty much overkill, but cool as heck....
How the Visual Studio ALM Rangers are dogfooding the next version of Team Foundation Server to help manage their projects
CodeProject - How the Visual Studio ALM Rangers use Team Foundation Service to Get Ready for Visual Studio 11
"This article is part of a series in which the Visual Studio ALM Rangers present guidance to assist you in solving complex, real-world environments. Our goal is to help you improve the consistency and quality of your solutions and your overall Application Lifecycle Management (ALM) process.
To recap, the Rangers are a group of experts who promote collaboration among the Visual Studio product group, Microsoft Services and the Microsoft Most Valuable Professional (MVP) community by addressing missing functionality (feature gaps and whitespace), removing adoption blockers and publishing best practices and guidance based on real-world experience.
Since the start of the Rangers program in 2006, we have delivered a mix of enhanced features and best practice guidance. Rangers and those who are familiar with our business know that we always select our projects by community vote. In other words, Rangers decide what is needed out there in the real world so you can do a better job. This has one side effect though. If you look at a set of such projectsâlike the Visual Studio 2010 waveâit looks like a random collection of content with lots of gaps. That brings us back to the future and our biggest Ranger âgigâ ever, Understanding our Visual Studio 11 Readiness conspiracy. For the first time, we decided to go for full coverage, by design, which led to 20 new Ranger projects! With so many concurrent projects, we are breaking every record, but we know that it is worth the extra effort. What else has a higher priority for a Ranger than being technically ready for Visual Studio 11?
Teams that build software solutions have always had an expectation of an out-of-the-box, high-quality, and predictable application lifecycle management process and tooling. The biggest challenge in the history of Visual Studio and Team Foundation Server has been that technology usually precedes the practical guidance from the MVPs and Microsoft Services in the field. All products experience this dilemma and it often results in uncertainty of implementation, frustration, and blocking of product adoption.
The Rangers work hard to address this challenge; with Visual Studio and Team Foundation Server 2010, the ALM Ranger guidance was released shortly after the products were released. With the latest wave of Rangers Readiness, we are SIMultanously shipping the out-of-band tooling and guidance with Visual Studio and Team Foundation Server 11. Product teams call this SIM shipping or simultaneous shipping.
As shown in Figure 1, we deliver guidance on process and methodologies, Team Foundation Server planning and management, Visual Studio Test and Architecture tooling, Team Foundation Build and Windows Azure solutions, while working in close collaboration with Developer Product Evangelism (DPE), MSDN, and Patterns & Practices. Our goal is to eliminate overlapping guidance, duplication of deliverables and confusing messaging.
What makes the Rangers solutions different is that we are not focused on what the product features are, but how to best use those features, based on experience by those in the field such as Rangers in Microsoft Services, Microsoft Most Valuable Professionals (MVPs) and the ALM community.
...
I dig these kinds of articles, where we hear about real-world problems and solutions, learning the lessons from others so we can hopefully make different mistakes (and not the same ones they did). Plus it's cool seeing how these guys are using the TFS Preview... :P
Any port in the storm... Sailing Orchard into AppHarbor ("How to setup Orchard on AppHarbor")
Eat Pray Code - How to setup Orchard on AppHarbor
"Orchard is an open-source (BSD license) CMS built on ASP.NET MVC 3.
That's really not much of an introduction. This post isn't meant to introduce one to Orchard or even how to use. I'll save those posts for later.
This post is going to be about how to setup Orchard on AppHarbor and get it up and running in minutes. This post was inspired by a post by John Zablocki over at dllHell.net. His instructions are pretty easy to follow but I disagreed with his methodology for working with Orchard on AppHarbor slightly and thought I'd show a my approach. Here's the plan.
Before we begin here are the pre-requisites:
- A working knowledge of how to use git/mercurial (making commits, pushing and pulling, etc.)
- A BitBucket account.
- An AppHarbor account.
- Microsoft Web Platform Installer.
- SQL Server Express and SQL Management Studio.
- AppHarbor's SQL Server Bulk Copy app.
That should be it. Why are we working with BitBucket rather than GitHub? Personally, there are lots of reasons but there's one problem GitHub has; no free private repositories. This is a dealbreaker for one very important reason. Orchard, for reasons not clear to me yet, keeps the connection string to the database in a plain-text settings file rather than in the web.config. AppHarbor has a way for you to set the connection string from its web interface but since the Orchard team decided to keep the connection string elsewhere, we're forced to commit the actual connection string of the actual production database along with our code. We obviously can't use the public repositories offered by GitHub in this scenario. Why not use SQL CE and avoid the issue? That's even worse since we'll have no access to our SQL CE database once our code reaches AppHarbor and the entire database will be deleted if another commit is made to our AppHarbor application.
I'll explain the need for the rest of the pre-requisites later on.
...
AppHarbor isn't something I've been watching for, but after seeing this and seeing that you can do this kind of hosting on it, I will be now... While hosting Orchard on AppHarbor doesn't look click-click-click easy, it doesn't look hard either and the price looks reasonable too (pretty much free)
(via http://www.reddit.com/r/dotnet - Here's a guide I wrote on how to setup Orchard on AppHarbor. It's written on Orchard and hosted on AppHarbor!)
Limit your abstractions: Application Events–the wrong way
In my previous post, I have taken a few interfaces from a DDD sample application and called the application procedural and hard to maintain. In this post, I want to show you exactly why.
We will start with examining this interface, and how it is used:
public class CargoInspectionServiceImpl : ICargoInspectionService
{
// code redacted for simplicity
public override void InspectCargo(TrackingId trackingId)
{
Validate.NotNull(trackingId, "Tracking ID is required");
Cargo cargo = cargoRepository.Find(trackingId);
if (cargo == null)
{
logger.Warn("Can't inspect non-existing cargo " + trackingId);
return;
}
HandlingHistory handlingHistory = handlingEventRepository.LookupHandlingHistoryOfCargo(trackingId);
cargo.DeriveDeliveryProgress(handlingHistory);
if (cargo.Delivery.Misdirected)
{
applicationEvents.CargoWasMisdirected(cargo);
}
if (cargo.Delivery.UnloadedAtDestination)
{
applicationEvents.CargoHasArrived(cargo);
}
cargoRepository.Store(cargo);
}
}
Can you see what I find painful in this code?
Limit your abstractions: Application Events–the wrong way
In my previous post, I have taken a few interfaces from a DDD sample application and called the application procedural and hard to maintain. In this post, I want to show you exactly why.
We will start with examining this interface, and how it is used:
public class CargoInspectionServiceImpl : ICargoInspectionService
{
// code redacted for simplicity
public override void InspectCargo(TrackingId trackingId)
{
Validate.NotNull(trackingId, "Tracking ID is required");
Cargo cargo = cargoRepository.Find(trackingId);
if (cargo == null)
{
logger.Warn("Can't inspect non-existing cargo " + trackingId);
return;
}
HandlingHistory handlingHistory = handlingEventRepository.LookupHandlingHistoryOfCargo(trackingId);
cargo.DeriveDeliveryProgress(handlingHistory);
if (cargo.Delivery.Misdirected)
{
applicationEvents.CargoWasMisdirected(cargo);
}
if (cargo.Delivery.UnloadedAtDestination)
{
applicationEvents.CargoHasArrived(cargo);
}
cargoRepository.Store(cargo);
}
}
Can you see what I find painful in this code?
I'm from the Cloud and I'm here to help... No really, trust me... Looking at Microsoft Codename "Trust Services"
TechNet Articles - Microsoft Codename "Trust Services" Getting Started Tutorial
Table of Contents
- Introduction
- Prerequisites
- Tutorial scenario
- Step 1. Create certificates
- Step 2. Create a Trust Server for your organization
- Step 3. Install Trust Services SDK
- Step 4. Create Data Policy using PowerShell
- Step 5. Encrypt and decrypt data using PowerShell
- Next Steps
- Links
This tutorial shows how to perform the basic tasks in Trust Services.
Trust Services is a collection of components and Azure Service that enables secure information sharing through the Cloud. It enables you to encrypt your data before uploading it to cloud storage, saving it on a disk or sending it to your partner.
In this tutorial, you will learn how to subscribe to Trust Services, define policies that enforce protection of data, and use the policies to encrypt and decrypt sample data.
The demo scenario involves four parties:
- Trust Services Administrator (TSA) manages account for his organization, creates a subscription for his organization and manages set of users (also known as principals) that can access Trust Services.
- Trust Services Policy Administrator (TSPA) defines and manages security policies about the data that his organization owns.
- Data Publisher is a user that runs an application that encrypts the data based on the policies defined by the TSPA.
- Data Subscriber is a user that runs an application that decrypts the data encrypted by Data Publisher based on the policies defined by the TSPA.
...
Links- Learn More about Microsoft Codename "Trust Services"
- Usage Overview
- Trust Services Portal
- Trust Services Samples Download
Learn More about Microsoft Codename "Trust Services"
"Protect your data in the Cloud
Trust and Security have been hot topics for the public cloud since its inception. Corporate IT departments and CIOs have repeatedly expressed concerns over the loss of control associated with moving various levels of sensitive data to a public cloud. At the same time, the overall benefits of a public cloud are tremendous and continue to gain momentum. This means that many organizations have a pressing need to migrate to public cloud infrastructure in spite of ongoing concerns about security.
Encryption is one of the fundamental required tools for protecting data in the cloud. However, encrypting the data in the cloud, and then storing the encryption keys in the cloud in order to be able to access the data, provides only a very minor improvement over simply storing the data in the cloud in the first place.
Trust Services provides a unique combination of end-to-end application level encryption and power of the cloud to roam encryption keys in a totally secure way. It enables data driven applications to work with sensitive data, securely stored in different cloud-based storages while continuing to maintain control over access to this data.
..."
I've not seen much in my stream on this, but really like the idea behind it, end to end encryption, encrypting my data before it hits the cloud. Since data privacy/security is one of the main roadblocks I'm seeing/hearing when "cloud" discussions come up, this project is very timely and one that I'll now be watching for more news on...
I'm from the Cloud and I'm here to help... No really, trust me... Looking at Microsoft Codename "Trust Services"
TechNet Articles - Microsoft Codename "Trust Services" Getting Started Tutorial
Table of Contents
- Introduction
- Prerequisites
- Tutorial scenario
- Step 1. Create certificates
- Step 2. Create a Trust Server for your organization
- Step 3. Install Trust Services SDK
- Step 4. Create Data Policy using PowerShell
- Step 5. Encrypt and decrypt data using PowerShell
- Next Steps
- Links
This tutorial shows how to perform the basic tasks in Trust Services.
Trust Services is a collection of components and Azure Service that enables secure information sharing through the Cloud. It enables you to encrypt your data before uploading it to cloud storage, saving it on a disk or sending it to your partner.
In this tutorial, you will learn how to subscribe to Trust Services, define policies that enforce protection of data, and use the policies to encrypt and decrypt sample data.
The demo scenario involves four parties:
- Trust Services Administrator (TSA) manages account for his organization, creates a subscription for his organization and manages set of users (also known as principals) that can access Trust Services.
- Trust Services Policy Administrator (TSPA) defines and manages security policies about the data that his organization owns.
- Data Publisher is a user that runs an application that encrypts the data based on the policies defined by the TSPA.
- Data Subscriber is a user that runs an application that decrypts the data encrypted by Data Publisher based on the policies defined by the TSPA.
...
Links- Learn More about Microsoft Codename "Trust Services"
- Usage Overview
- Trust Services Portal
- Trust Services Samples Download
Learn More about Microsoft Codename "Trust Services"
"Protect your data in the Cloud
Trust and Security have been hot topics for the public cloud since its inception. Corporate IT departments and CIOs have repeatedly expressed concerns over the loss of control associated with moving various levels of sensitive data to a public cloud. At the same time, the overall benefits of a public cloud are tremendous and continue to gain momentum. This means that many organizations have a pressing need to migrate to public cloud infrastructure in spite of ongoing concerns about security.
Encryption is one of the fundamental required tools for protecting data in the cloud. However, encrypting the data in the cloud, and then storing the encryption keys in the cloud in order to be able to access the data, provides only a very minor improvement over simply storing the data in the cloud in the first place.
Trust Services provides a unique combination of end-to-end application level encryption and power of the cloud to roam encryption keys in a totally secure way. It enables data driven applications to work with sensitive data, securely stored in different cloud-based storages while continuing to maintain control over access to this data.
..."
I've not seen much in my stream on this, but really like the idea behind it, end to end encryption, encrypting my data before it hits the cloud. Since data privacy/security is one of the main roadblocks I'm seeing/hearing when "cloud" discussions come up, this project is very timely and one that I'll now be watching for more news on...
Daddy, tell me a story of how VB, WP7, Azure and my photos can be combined in the cloud to create a video story...
Microsoft Developer Network - Samples - (1code.codeplex.com/) - Story Creator Sample Application for Windows Phone 7 (VBWPAzureVideoStory)
Summary
This sample solution is a story creator for Windows Phone 7. You can use it to create photo stories on your phone, and send the stories to a Windows Azure service to encode them into videos. The Windows Azure Service includes a REST service built with WCF Web API, a simple HTML5 browser client that allows you to see encoded videos, and a native component encodes videos using WIC and Media Foundation.
While individual pieces of technologies are very interesting, the true power comes when the platforms are combined. We know most developers need to work with the combined platform rather than individual technologies. So we hope this sample solution will be helpful to you.
Use the ApplicationWhen you launch the client application, on the first screen youâll find 3 buttons. They allow you to create a new story, or working on an existing one.
...
A pretty darn cool sample from one of my favorite sample sources, the All-In-One Code Framework team. That and I like sharing some VB love... :)
Daddy, tell me a story of how VB, WP7, Azure and my photos can be combined in the cloud to create a video story...
Microsoft Developer Network - Samples - (1code.codeplex.com/) - Story Creator Sample Application for Windows Phone 7 (VBWPAzureVideoStory)
Summary
This sample solution is a story creator for Windows Phone 7. You can use it to create photo stories on your phone, and send the stories to a Windows Azure service to encode them into videos. The Windows Azure Service includes a REST service built with WCF Web API, a simple HTML5 browser client that allows you to see encoded videos, and a native component encodes videos using WIC and Media Foundation.
While individual pieces of technologies are very interesting, the true power comes when the platforms are combined. We know most developers need to work with the combined platform rather than individual technologies. So we hope this sample solution will be helpful to you.
Use the ApplicationWhen you launch the client application, on the first screen youâll find 3 buttons. They allow you to create a new story, or working on an existing one.
...
A pretty darn cool sample from one of my favorite sample sources, the All-In-One Code Framework team. That and I like sharing some VB love... :)
Umbraco v5 released (The "OMG, it's really fast now" version)
Umbraco - Umbraco 5.0 RTM is on CodePlex, ready for download
Today is a pretty big milestone for the Umbraco 5 team. It's the end of January 2012, we've had seven progressively stable preview builds over the past months, and now it's time to put a stake in the ground.
After a lot of hard work, late nights, and invaluable help from the community testing our many preview builds, we've hit our first production milestone.
Umbraco 5.0 RTM is on CodePlex!
Please do grab a copy - take two, if you like - it's free after all!
...
FeaturesThis is called "version 5 of Umbraco", but it's important to remember the history of the v5 project. We always intended to respect the vibrant culture and history of the Umbraco CMS as it has gone so far, and make a product that was on a fresh & rewritten technology stack but enabling the same common goals.
Our target for "5-point-0" out of the box is the most commonly used features of 4.7. We have a lot of features in 5.0 that enable you to go into production for the vast majority of site builds, and we have taken an approach of getting the core features done first - and stable.
We are now going to be iterating quickly with new features as the months progress, so that we reach feature parity with 4.7 and move beyond that quickly. So, yes it's like a "1.0" in some senses, but it already has a tonne of features that we think make it a great CMS.
- Design and produce templates quickly using the excellent Razor syntax
- Access your content in those templates using an intuitive dynamic API for both querying and walking up and down your content structure
- Tailor content types with a variety of customisable fields, meaning you can focus on your content structure without a hard link to its layout
- Use multiple templates with pages so you can easily adjust to your site's needs, do A/B testing, cater for mobile handsets, or generate RSS feeds
- Have document types that inherit from one or more other types, making it simple to organise common fields for things like SEO that are shared across all of your articles
- Create, preview and publish content in a naturally organised way using folders that can automatically create your site navigation, if you like
- Create, preview and publish media and other types of assets
- Store those assets on your server or in the cloud
- Use a rich set of permissions to tailor backoffice access for your editing team
- Plug in your own existing data in a way that Umbraco natively understands, rather than the only option being to migrate everything under Umbraco's control
- Plug in your own backoffice editors, dashboards, and custom trees
- Expose the underlying MVC stack for mixing in your own application, controllers and views with the content-managed portion
- Share common pieces of functionality like Macros with your team
- Share your own data providers, common templates, handy helpers and more using NuGet packages
- Have those packages dynamically add configuration to a user's website so that uninstalling rolls back configuration seamlessly
There are many more, but you didn't come here for a list of bullet points - here's that download link again!
...
If your thinking about building your own CMS (why? Do you really need to write your own? But that's besides the point...) or are looking to run one that's free/cheap and OSS, you might want to quickly click over and check out Umbraco. It's stood the test of time, has a very active support community and constant check-ins...
Umbraco v5 released (The "OMG, it's really fast now" version)
Umbraco - Umbraco 5.0 RTM is on CodePlex, ready for download
Today is a pretty big milestone for the Umbraco 5 team. It's the end of January 2012, we've had seven progressively stable preview builds over the past months, and now it's time to put a stake in the ground.
After a lot of hard work, late nights, and invaluable help from the community testing our many preview builds, we've hit our first production milestone.
Umbraco 5.0 RTM is on CodePlex!
Please do grab a copy - take two, if you like - it's free after all!
...
FeaturesThis is called "version 5 of Umbraco", but it's important to remember the history of the v5 project. We always intended to respect the vibrant culture and history of the Umbraco CMS as it has gone so far, and make a product that was on a fresh & rewritten technology stack but enabling the same common goals.
Our target for "5-point-0" out of the box is the most commonly used features of 4.7. We have a lot of features in 5.0 that enable you to go into production for the vast majority of site builds, and we have taken an approach of getting the core features done first - and stable.
We are now going to be iterating quickly with new features as the months progress, so that we reach feature parity with 4.7 and move beyond that quickly. So, yes it's like a "1.0" in some senses, but it already has a tonne of features that we think make it a great CMS.
- Design and produce templates quickly using the excellent Razor syntax
- Access your content in those templates using an intuitive dynamic API for both querying and walking up and down your content structure
- Tailor content types with a variety of customisable fields, meaning you can focus on your content structure without a hard link to its layout
- Use multiple templates with pages so you can easily adjust to your site's needs, do A/B testing, cater for mobile handsets, or generate RSS feeds
- Have document types that inherit from one or more other types, making it simple to organise common fields for things like SEO that are shared across all of your articles
- Create, preview and publish content in a naturally organised way using folders that can automatically create your site navigation, if you like
- Create, preview and publish media and other types of assets
- Store those assets on your server or in the cloud
- Use a rich set of permissions to tailor backoffice access for your editing team
- Plug in your own existing data in a way that Umbraco natively understands, rather than the only option being to migrate everything under Umbraco's control
- Plug in your own backoffice editors, dashboards, and custom trees
- Expose the underlying MVC stack for mixing in your own application, controllers and views with the content-managed portion
- Share common pieces of functionality like Macros with your team
- Share your own data providers, common templates, handy helpers and more using NuGet packages
- Have those packages dynamically add configuration to a user's website so that uninstalling rolls back configuration seamlessly
There are many more, but you didn't come here for a list of bullet points - here's that download link again!
...
If your thinking about building your own CMS (why? Do you really need to write your own? But that's besides the point...) or are looking to run one that's free/cheap and OSS, you might want to quickly click over and check out Umbraco. It's stood the test of time, has a very active support community and constant check-ins...
Are we actually better mentally wired for Agile? "Your Brain on Scrum"
Agile relies on the belief that individuals and interactions are more important than tools. It turns out that this belief is much more than just that. Individuals do work more productively in teams. Social cognitive neuroscience research strongly suggests that there are good brain-based reasons why agile is so effective.
The agile software development framework has been with us for over a decade. The classic principles were stated in 2001 in the Agile Manifesto (agilemanifesto.org):
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
These principles identify agileâs differences with the standard top-down waterfall method of creating software. The waterfall method requires a large overall plan and a set of processes and standard tools to use in following the plan. The execution of the plan is the immediate purpose. Unstated, but clear, is that managers are needed to supervise the execution of all the steps of the plan, including the intermediate steps, in the proper order. The actual working software comes only at the end of the waterfall.
In sharp contrast, agile gives control to individuals, where people on the agile team, interacting and responding to changes, take responsibility for producing the software.
The same meeting that produced the Agile Manifesto also produced these Twelve Principles:
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customerâs competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicityâthe art of maximizing the amount of work not doneâis essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Interestingly, five of those 12 principles mention time, which to me shows that speed, timing and rhythm were Agileâs focus from the start.
II. Agile methods are supported by cognitive neuroscienceNow letâs turn to the science. The Agile Manifesto established a milestone in the world of work.
...
I started reading this because the tile, but kept reading it because of its content... Very interesting...
MVC Night in Ottawa with MVP Maxime Rouiller
I will be talking about MVC and itâs environnement today at the OttawaCommunity.net in⊠Ottawa.
For those who attended, or about to attend, here are the slides that are going to be used:









