Showing posts with label Development. Show all posts
Showing posts with label Development. Show all posts

Wednesday, April 09, 2014

Roslyn gets Mono

http://tirania.org/blog/ - Mono and Roslyn

Last week, Microsoft open sourced Roslyn, the .NET Compiler Platform for C# and VB.

Roslyn is an effort to create a new generation of compilers written in managed code. In addition to the standard batch compiler, it contains a compiler API that can be used by all kinds of tools that want to understand and manipulate C# source code.

...

Roslyn on Mono

At BUILD, we showed Roslyn running on Mono. If you want to run your own copy of Roslyn today, you need to use both a fresh version of Mono, and apply a handful of patches to Roslyn [2].

...

Adopting Roslyn: Mono SDK

Our goal is to keep track of Roslyn as it is being developed, and when it is officially released, to bundle Roslyn's compilers with Mono [6].

But in addition, this will provide an up-to-date and compliant Visual Basic.NET compiler to Unix platforms.

Our plans currently are to keep both compilers around, and we will implement the various C# 6.0 features into Mono's C# compiler.

...

Mono Project and Roslyn

Our goal is to contribute fixes to the Roslyn team to make sure that Roslyn works great on Unix systems, and hopefully to provide bug reports and bug fixes as time goes by.

We are very excited about the release of Roslyn, it is an amazing piece of technology and one of the most sophisticated compiler designs available. A great place to learn great C# idioms and best practices [5], and a great foundation for great tooling for C# and VB.

Thanks to everyone at Microsoft that made this possible, and thanks to everyone on the Roslyn team for starting, contributing and delivering such an ambitious project.

image

VB.Net on Linux? Awesome. Xamarin really is exciting to watch. I love those guys (and it's not just the free booze from their Build talking either... well.. much... ;)

19 Tips and Thoughts Toward Developer Productivity

Jon Gallant - My Thoughts on Developer Productivity

The best developers optimize every aspect of their lives. Optimization is built into their DNA. We are always looking for ways to not repeat ourselves and strive to make everything we do faster. Everything from doing the dishes to serialization. If it’s not as fast as it possibly could be, then we spend countless hours making it so. Now as a manager I get to code a bit, but a big part of what I’m responsible for is optimizing developer productivity. I have a long way to go, but I have definitely improved as a manager over the last 10 years, so I thought I would share what I have learned. Hopefully this will help the newbie and seasoned managers alike.

SNAGHTML628d9b4

Hours

The first thing you want to do is set the expectation that your developers will be working very long hours. They should be working from the moment they wake up to the moment they fall asleep. If not coding that whole time, they should at least be thinking about code. I find it best to set mandatory in-office core hours from 8am to 8pm. That way they get in a solid 12 hours a day in the office and then they can make up the remaining 4 hours of their 16 hour day on their own time. It’s fine if they chose to come in earlier or stay later, but everyone must be in their office for core hours. Try roaming the halls at the start and end of each day and take notes on who is and isn’t in their office. That way you know who the really productive people are. You could also go the punch card route or you could require them to install a service that monitors their activity and alerts you when they aren’t meeting their numbers.

Meetings

....

Do not do “No meeting Fridays” or “No meeting afternoons” and put a 30-60 minute gap in between meetings so they can get a good 20 minutes of coding time in between them. At the end of the day they should spend 80% of their time in meetings and 20% of their time developing.

WFH

Working from home?….it should be…..“Xboxing from home” because you know that’s what they are doing all day. It’s a trick. Don’t fall for it. You can let them have every other Sunday to themselves if they are hitting their “lines of code” count and code coverage percentage for the month. But, never on a regular basis.

When someone says they need to work from home immediately schedule an early morning meeting and require them to be there in person.

Software

Cloud

DevOps

Hardware

Process

Quality

TIP (Testing In Production) is cool, but TIP-WAU (Testing In Production With Actual Users) is even cooler. If you want to know where the bugs are in your software then just ship it. Users will report any bugs. That way you don’t need to distract developers from what they do best...creating new features. Those new features may break other features, but as long as the new feature somewhat works it’s all good.

Rewards

Fun

Furniture

Food

Personal

Reviews

Training

Credit

Vision

Visions are overrated. You want to keep them guessing about what you are thinking. ...

Attrition?

...

The above was fun to write, but it is obviously very bad advice. Keep reading to see my honest take on developer productivity.

SNAGHTML6292e1e

Hours

On my team the expectation is that you’ll work roughly 8 hours a day, but it is very self-managed. Some days you’ll work 10, some days you’ll work 6. I never track developer hours. The code you produce speaks for itself. I work an hour or so in the morning, get in around 9:30, leave at 4:30, then I’m back at it for a bit before I go to sleep. That allows me to eat breakfast and dinner with my family on a regular basis.

...

The funny part, in a sad way, is I'm not sure which is more valid in the real world, the first set or the last... :/

Tuesday, April 08, 2014

"Visual Studio 2013 Succinctly" free [reg-ware] now available from... you guessed it, Syncfusion

Syncfusion eBooks - Visual Studio 2013 Succinctly

image

Visual Studio 2013 brings many new improvements to the popular integrated development environment, including the long-awaited synchronized settings and notifications. With author Alessandro Del Sole as your guide, you will learn how to harness these features for increased productivity and efficiency. For novices and returning experts alike, Visual Studio 2013 Succinctly offers a point of entry into one of Microsoft’s most powerful tools.

Table of Contents

  1. Synchronized Settings and Notifications
  2. The Start Page Revisited
  3. Code Editor Improvements
  4. IntelliSense Improvements
  5. Visual Studio 2013 for the Web and Windows Azure
  6. New and Enhanced Tools for Debugging
  7. Visual Studio 2013 for Windows 8.1

125 pages of succinctly Visual Studio 2013 information.

image

BTW, if you like this, make sure you check out this Build 2014 sessionTips and Tricks in Visual Studio 2013. Like this eBook, this session is pretty "dense," fast paced and filled with a ton of great tips...

(via Tatworth - Free book from Syncfusion on Visual Studio 2013 Succinctly)

Monday, April 07, 2014

Mads Must Have Web Dev Visual Studio Extensions List

Mads Kristensen - Visual Studio extensions for web developers

This year at the //build/ conference I gave a session on Visual Studio Web Tools and Web Essentials. It’s now online on Channel 9 in case you want to watch it.

I was using a few extensions that are great for any web developer using Visual Studio 2013. I’ve compiled the list of extensions here and added a few additional ones that are really useful as well.

  • Web Essentials
  • SideWaffle
  • File Nesting
  • WebJobsVS
  • SlowCheetah – XML transforms
  • GruntLauncher
  • Mexedge Stylesheet Extension
  • PHP Tools for Visual Studio
  • Cobisi Routing Assistant
  • CssCop – FxCop for Stylesheets
  • Node.js Tools for Visual Studio

image

[Click through for the descriptions and download links]

Must review list of Visual Studio extensions for those who Web Dev (or who want too). If there's anyone who's a good curator for these kinds of extensions, it's Mads, so check them out... you still here?

Visual Studio 2013 Update 2 lets you build your own Scaffolder

.NET Web Development and Tools Blog - Creating a Custom Scaffolder for Visual Studio

With the release of Visual Studio 2013 last October, we introduced the concept of Scaffolding to Web Application projects. Scaffolding is the framework on which code generation for MVC and WebAPI is built. For more information on Scaffolding or the MVC Scaffolders check the following blog post: http://www.asp.net/visual-studio/overview/2013/aspnet-scaffolding-overview.

However, the true potential for the scaffolding framework comes from the new extensibility surface released in Update 2. With this new functionality, any VSIX can code against the Scaffolding API surface and have their scaffolds added to the Add New Scaffold Dialog. This blog post will walk through the creation of a custom scaffolder.

To get started make sure you have the following installed on your machine:

Creating a New Scaffolder Project Using Sidewaffle

  1. Go to create a new project.
  2. Click on the C#->Extensibility->Sidewaffle Node.
  3. Select new “Basic Scaffolder”.
  4. Input the desired name of your Scaffolder.
  5. Create the Project.

image

...

Next Steps

Now that you have the basics of creating a scaffolder down, here are some additional resources for what to do next:

Additionally you can look to create more complex scaffolders using the following services:

  • ICategoryRegistrationService – to add new Categories in the Add Scaffold Dialog

  • IServiceRegistrar – to add new ActionServices that you can invoke during scaffolding

  • IRollbackService – to make the services registered above be able to use the Scaffolding rollback feature

  • The Scaffolding.EntityFramework dll – to help with the processing of EF models (this is used by the MVC and WebAPI Entity Framework Scaffolders to create the controllers and for MVC the views)

ASP.NET Scaffolding in Visual Studio 2013

Overview

ASP.NET Scaffolding is a code generation framework for ASP.NET Web applications. Visual Studio 2013 includes pre-installed code generators for MVC and Web API projects. You add scaffolding to your project when you want to quickly add code that interacts with data models. Using scaffolding can reduce the amount of time to develop standard data operations in your project.

...

Tutorials

To customize the generated files, see How to customize the generated files from the New Scaffolded Item dialog.

For an example of using scaffolding with Database First development, see EF Database First with ASP.NET MVC.

For an example of using scaffolding in an MVC project, see Getting Started with ASP.NET MVC 5.

For an example of using scaffolding in a Web API project, see Create a REST API with Attribute Routing in Web API 2.

This was pretty lost in the Build news stream, but I think this is going to spawn some very interesting Extensions in the near future.

Succinctly eBook of the Day: "Twitter Bootstrap Succinctly" [Reg-ware]

SyncFusion Succinctly eBook Shelf - Twitter Bootstrap Succinctly

image

Twitter Bootstrap (TWB) is a free front-end framework built by Twitter developers to ensure visual and functional consistency across websites and applications. In Twitter Bootstrap Succinctly, Peter Shaw explains what makes up a consistent, attractive UI, and why having one is important. He then walks you through the basics of adding beautiful, user-friendly components to your projects with only a few lines of HTML and CSS. You'll learn how to add TWB to an existing project, and use it to customize attractive buttons, tabs, breadcrumbs, dropdowns, and more. There are even chapters dedicated to optional JavaScript and TWB extensions for when you're ready to take your UI's appearance a step further.

Table of Contents

  1. What is Twitter Bootstrap?
  2. Adding Bootstrap to Your Project
  3. Twitter Bootstrap Scaffolding
  4. Twitter Bootstrap Base CSS Classes
  5. Forms
  6. Buttons
  7. Components
  8. Twitter Bootstrap JavaScript
  9. Extending Bootstrap

If you've been hearing about Bootstrap but weren't sure what it was or how to get started with it [insert usual "this ebook is for you" statement here]

(via expression{web.blog} - Twitter Bootstrap Succinctly)

Friday, March 28, 2014

"What is Open Source..." the LEGO movie

What is Open Source explained in LEGO

image

Have you ever wondered - What is open source?

We made this stop motion video in an attempt to explain it for anyone. This, simply to help scale the positive principles within the open source paradigm.
The video itself is open for everyone to use, modify and share. So feel free to do that!

We made this video to explain the idea of Open Source. We wanted it to be easy to understand - even for people with no prior knowledge of Open Source or Free Software. However, history is never simple. We can only urge people to do further research into the history and as such the development of open source.

Kr├Žn Hansen wrote this blogpost to explain our thoughts behind the video: http://blog.bitblueprint.com/now-anyone-can-help-everyone-understand-open-source/

Please visit http://bitblueprint.com/ for more information on how to apply the open source paradigm to your organization. Visit http://movingmonday.com/ if you want to learn more about this awesome video production!...

If you're having a problem getting the idea of open source across, there's nothing like a fun video to help... and hey, it's LEGO's!

(via 404 Tech Support - Explaining Open Source with LEGO)

NuGet, Open Wrap, NPanday, Chocolatey, Chewie, Ninite, top Package/Dependency Management for .Net tools

Visual Studio Magazine - 6 Top .NET Package- and Dependency-Management Tools

They may not be sexy, but package managers are an integral part of every developer's work -- using the right ones can make you more productive. Read on to find out what -- and where -- they are.

...

For the app developer or system admin, however, the process of getting utilities, libraries and frameworks installed, along with any required dependencies -- particularly when dealing with the huge ecosystem of open source software -- represents a bigger problem. And this is where package management comes to the rescue.

Package managers help you download, install, configure and update software "packages" from repositories. A package contains the software itself (possibly as source), plus metadata specifying the locations of any dependencies that need to be installed and instructions for automatic compilation, when necessary.

... Here are some great package- and dependency-management tools created specifically for Windows-based development.

...

NuGet
NuGet is probably the best-known package and dependency manager for, in Redmond's words, "the Microsoft development platform including .NET." As with the other tools I've mentioned here, NuGet helps you find, install, update and remove packages. However, similar to CocoaPods, NuGet focuses primarily on package and dependency management at the development-project level.

...

Open Wrap
OpenWrap is another popular open source package-management sytem for .NET programmers. Created by Sebastien Lambla, OpenWrap is command-line only and supports both OpenWrap and NuGet packages. OpenWrap also includes ReSharper integration, so ReSharper knows about the packages you've installed and doesn't throw up spurious warnings.

...

NPanday
NPanday is an Apache Incubator project "to integrate Apache Maven into .NET development environments." Maven is more of a build-automation and dependency-management tool, and also developed more specifically for Java-based development, but developers have figured out how to Maven build for .NET applications.

...

Chocolatey NuGet
So, those are the big, established players in package management on Windows. But they're not the only options. Chocolatey is a general-purpose "tools enabler" and "silent application installer" for Windows, modeled after apt-get.

...

Chewie
Chewie is yet another NuGet offshoot that attempts to incorporate some features of the Ruby Bundler gem manager into the package\-management workflow on Windows.

...

Ninite
OK, Ninite isn't really a package manager in any typical sense of the word, and unlike the rest of the apps I've discussed, it's neither open source itself nor open source focused. But it is a handy utility and it does fall into the same general category as apt-get and Chocolatey.

...

image

..."

You mean there's more than NuGet? No, say it's not so! Kidding aside, this is a great article of tools you might not of heard of before. Make sure you click through to read the details.

Jetting to the new home of ManagedEsent, a new v1.9 and MSDN Doc's too!

JET - Welcome to the home of the JET (aka ESE or ESENT) team

The Extensible Storage Engine (ESE/ESENT), also known as JET Blue, is an Indexed Sequential Access Method (ISAM)data storage technology. Its purpose is to allow applications to store and retrieve data via indexed and sequential access.

ESE provides transacted data update and retrieval. A crash recovery mechanism is provided so that data consistency is maintained even in the event of a system crash. Transactions in ESE are highly concurrent making ESE suitable for server and client applications. ESE caches data intelligently to ensure high performance access to data. In addition, ESE is lightweight making it suitable for auxiliary applications.

The ESE Runtime (ESENT.DLL) has shipped in every Windows release since Windows NT 3.5, with native x64 version of the ESE runtime shipping with x64 versions as well (including IA64), and ARM. ESE is available on Windows, all flavors (server and client) and SKUs....

JET - ManagedEsent 1.9.0.1 is released

... To download the latest ManagedEsent version, visit the nuget project page at http://www.nuget.org/packages/ManagedEsent/

JET - ManagedESENT documentation now available on MSDN!

Check out the new ManagedESENT documentation on MSDN at http://msdn.microsoft.com/en-us/library/windows/desktop/dn375980(v=exchg.10).aspx. This documentation covers over 300 public methods exposed by ManagedESENT.

How is the ManagedESENT library different than ESENT?

ESENT is an embeddable, transactional database engine that allows you to create custom applications that need reliable, high-performance, low-overhead storage of data. The ESENT engine can help with data needs that range from something as simple as a hash table that is too large to store in memory, to something more complex, such as an application with tables, columns, and indexes. To create an application with ESENT, you use the esent.dll DLL that is part of the Windows operating system and write your code with C/C++. For more information about ESENT, see Extensible Storage Engine Reference.

ManagedESENT is built on top of esent.dll, which is part of Windows, so there are no extra unmanaged binaries to download and install. With the ManagedESENT library, you can create your application by using a managed language such as C# instead of C/C++. ...

Extensible Storage Engine Managed Reference

image

If you're using ManagedEsent, have heard of it but haven't started yet, or never heard of it before, you've got a new shiny blog, NuGet version and doc resource...

 

Related Past Post XRef:
Easing into the Extensible Storage Engine on Windows 8 with ManagedEsent v1.8
ESE C#/C++ Toolkit v1.2 for Microsoft Extensible Storage Engine (ESE) (ESE is the database engine that's been in the box since Windows 2000)
Did you know Windows (since Windows Server 2000) comes with a transactional database engine already baked into the OS, which you can use in your applications today, no download required?
Managed ESENT v1 released – Managed/.Net access to the free embedded database (“Extensible Storage Engine/ESE”) that ships with Windows

Tuesday, March 25, 2014

OneNote Dev isn't dead by a long shot! The OneNote team opens up about their near-term API roadmap

OneNote Dev Blog - OneNote API Near-Term Roadmap

Hey folks, this is James Lau - I am the Lead Program Manager on the OneNote API team. In this blog post, I’d like to share with your our near-term roadmap and get your feedback.

Last week, we launched the initial version of our API. The first set of features are focused on scenarios for creating pages in OneNote: mobile app scanners, hardware scanners, save-it-for-later for newsreaders, etc. Of course, we are far from done, and we have already started are busy working on the next set of features. Instead of "going dark" and then shipping features that we think you want, we would rather have a dialog with you on what we are building.

One of the core principles we have on our team is customer transparency. We understand that you are trusting us and taking a bet on our platform when you use our API. As such, not only do you deserve to know what we are planning, but you also deserve to have a say in what we do! We have set up a OneNote API feedback site so you can participate in our planning, vote on features and submit your ideas.

Here is a list of the capabilities and features that we are planning to deliver over the next 3 to 6 months. That is a very rough timeframe, and priorities can change at any time, so please don't base your plan on this timeframe. The features below are also not listed in strict priority order. We have multiple teams tackling this list simultaneously, so some of these will be built in parallel. Nonetheless, we would love to get your feedback on their relative importance to you.

...

Please let us know of anything you want that's missing and vote on the ones that you really want *right now*! Your feedback will really help us prioritize and influence what we work on next.

Other than transparency, our team also believes in delivering customer value early. That means we are going to be delivering new features as they are completed and not take a "big bang" approach. We do daily deployments to our service too, so there are tons of opportunities to get these features out on a regular basis.

image

Looking forward to these features. The current API is a good starting point, but just that, a starting point. I hope they can keep the momentum and cadence up.

JustMock Lite - Free and open source too...

Telerik - JustMock Lite

For developers who practice unit testing and want to deliver exceptional software, JustMock Lite is the superior free mocking framework that makes unit testing simpler for SOLID testable projects. JustMock Lite is an open source product that is easy to use, feature rich, with great power and flexibility, making it the superior choice. JustMock Lite cuts your development time and helps you create better unit tests. It enables you to perform fast and controlled tests that are independent of external dependencies like databases, web services or proprietary code.
Like any open source software, JustMock Lite allows for full code transparency as well as easy product update and support by the community. JustMock Lite is the same set of assemblies as the commercial edition of JustMock, and just like JustMock, it is commercially backed with 3 major releases per year and continuous product improvement.

If you are dealing with a legacy code project or tightly coupled code that requires elevated mocking (such as mocking private, static, or sealed items), you need the JustMock full edition.

...

Why Choose?

  • Superior Free Mocking Framework
  • Commercially Backed
  • Open Source
  • Mocks SOLID Code
  • Arrange, Act, Assert Oriented
  • Error-Free Mocking
  • Automocking
  • Easy Migration to JustMock Full Edition

image ...

telerik / JustMockLite 

Welcome to the Telerik JustMock Lite source code repository!

About

JustMock Lite by Telerik is a powerful free mocking library available for .NET developers. For more information, refer to our JustMock Lite website. You can suggest and vote for feature requests in our JustMock feedback website.

Nuget

JustMock Lite is also available in a Nuget package.

Building

You can compile the JustMock Lite project with Visual Studio Express 2012 for Desktop and greater.

  1. In Visual Studio, open the Telerik.JustMockLite.sln file.
  2. Dismiss any Unsupported project type warnings. You can still build JustMock Lite.
    Visual Studio Express shows this warning to indicate that it does not support the Silverlight projects included in the JustMock Lite solution.
  3. Build the project in a DebugFree or ReleaseFree configuration.
    This will ensure that the JustMock Lite unit tests remain green.
  4. Locate the JustMock Lite binaries in the ..\..\Binaries folder.

Let us know if you encounter any issues with the project.

License

JustMock Lite is licensed under Apache 2.0 (https://github.com/telerik/JustMockLite/blob/master/LICENSE).

Happy mocking!

Not only free, but open source too... Nice. :)

(via tweet from @alvinashcraft)

 

Related Past Post XRef:
Telerik, are you just mocking me? Yep! With the Telerik JustMock Free Edition
"Why I Hate Unit Testing"

Word For Windows 1.1a and Early MS-DOS Source Available (Really)

The Official Microsoft Blog - Microsoft makes source code for MS-DOS and Word for Windows available to public

image

On Tuesday, we dusted off the source code for early versions of MS-DOS and Word for Windows. With the help of the Computer History Museum, we are making this code available to the public for the first time.

The museum has done an excellent job of curating some of the most significant historical software programs in computing history. As part of this ongoing project, the museum will make available two of the most widely used software programs of the 1980’s, MS DOS 1.1 and 2.0 and Microsoft Word for Windows 1.1a, to help future generations of technologists better understand the roots of personal computing.

In 1980, IBM approached Microsoft to work on a project code-named “Chess.”...

...

It’s mind-boggling to think of the growth from those days when Microsoft had under 100 employees and a Microsoft product (MS-DOS) had less than 300KB (yes, kilobytes) of source code. From those roots we’ve grown in a few short decades to become a company that has sold more than 200 million licenses of Windows 8 and has over 1 billion people using Microsoft Office. Great things come from modest beginnings, and the great Microsoft devices and services of the future will probably start small, just as MS-DOS and Word for Windows did.

Thanks to the Computer History Museum, these important pieces of source code will be preserved and made available to the community for historical and technical scholarship.

Computer History Museum - Computer History Museum Makes Historic MS-DOS and Word for Windows Source Code Available to the Public

Mountain View, Ca—March 25, 2014— The Computer History Museum (CHM) announced today that it has, with permission from Microsoft Corporation, made available original source code for two historic programs: MS-DOS, the 1982 "Disk Operating System" for IBM-compatible personal computers, and Word for Windows, the 1990 Windows-based version of their word processor.

IBM went outside the company for many hardware and software components of their 1981 personal computer. Though most vendors were kept in the dark about the project, code-named “Chess,” IBM developed a unique relationship between their Boca Raton-based team and Microsoft, then a small company based in Seattle.

Microsoft, which was providing the BASIC language interpreter, agreed to also supply an operating system. Without their own operating system already in place, they licensed a product from nearby Seattle Computer Products and worked closely with IBM to make the changes they wanted. It shipped as "PC-DOS" for IBM and "MS-DOS" for other PC manufacturers. We are today releasing the source code of MS-DOS version 1.1 from 1982, and of version 2.0 from 1983.

"Version 1.1 fits an entire operating system – limited as it was – into only 12K bytes of memory, which is tiny compared to today's software," said Len Shustek, CHM Chairman.

Microsoft's DOS-based version of Word, first released in 1983, was not a success against the dominant word processor of that era, WordPerfect. The 1989 release of Word for Windows changed all that: within four years it was generating over half the worldwide word processing market revenue. It was a remarkable marketing and engineering achievement. We are today revealing the technical magic by releasing the source code to version 1.1a of Word for Windows.

“MS-DOS and Word for Windows built the foundation for Microsoft’s success in the technology industry,” said Roy Levin, distinguished engineer and managing director, Microsoft Research. “By contributing these source codes to the Computer History Museum archives, Microsoft is making these historic systems from the early era of personal computing available to the community for historical and technical scholarship.”

"We think preserving historic source code like these two programs is key to understanding how software has evolved from primitive roots to become a crucial part of our civilization,” says Shustek.

For a blog posting surrounding the release of this source code, please visit:

http://www.computerhistory.org/atchm/microsoft-ms-dos-early-source-code

http://www.computerhistory.org/atchm/microsoft-word-for-windows-1-1a-source-code

..."

These links don't appear to be working as I write this... I hope this isn't an early April Fools thing...

Okay, the links appear to be working now... kind of. Think they are being slammed.

Monday, March 24, 2014

Business users building for Windows 8.1 with Project Siena Beta 2

Somasegar’s blog - Project Siena Beta 2: Enabling business users to create apps connected to enterprise services, web and social

Three months ago, we opened up Project Siena to the public.  The response from enterprise business users, partners and general app imagineers has been great to see.

The initial release of Project Siena delivered a tool for non-developers to create mobile apps.  Any business user with PowerPoint and Excel formula skills was empowered to build highly interactive experiences that are rich in data and media and full of custom logic and intelligence.

Today, we are taking the next big stride for Project Siena with the release of Beta 2.

This major update changes the kind of impact that apps built with Siena can have within a business.  Project Siena now enables business users to connect apps to powerful web services – from popular consumer services to enterprise SaaS to services created by IT.

Services                                                    

Our mission is to make consuming services as easy as an Excel function. ...

 

...

The Potential of Project Siena Apps

In the first public release of Project Siena, we made it possible for business users and experts to build apps as easily, and as expressively, as editing a document. We have seen people build apps for consuming data and media content, apps for on-the-spot decision making, and task apps that involve capturing photos and voice and hand notes. We have seen small, transient-use apps built in a few minutes as well as high value apps with purpose-specific looks and rich business logic.

Now, we are setting out to enable the same business users and experts to build apps that intermingle their data, content and knowledge with functionality seen today in only high-end custom applications, e.g.

  • Social connections and instant communications
  • Text to speech, translation, voice recognition
  • Integration to SaaS and other back-end workflows

To get started with Siena, install the app from the Windows Store, check out http://microsoft.com/ProjectSiena , watch a tutorial video, download a sample app for inspiration, and then build your own.

With Project Siena, I believe every business user, every person with ideas and imagination, can be empowered to build these truly modern apps using SaaS and IT services.

image..."

Without an enterprise store, I just don't see this taking off. I mean an inside the firewall, easy for IT to setup, admin and for users to upload/submit their apps and finally to browse and download, I just don't see Big-Medium businesses jumping in on this for their LOB app's. And do you really want your general power user creating app's for your business that are publically available? Not that they couldn't but I'm talking branding, image, legal, etc concerns about an employee without oversight creating externally available app's.

Grumpy guy aside, I DO this it would be AWESOME if there was an internal business store, where my users could create internal app's with this and publish them. Now that would be cool...

Thursday, March 20, 2014

[Limited Time Offer] Packt celebrates their 2000th with a Two-for-One sale (Only a few days left...). [Updated Link]

[Update] Here's the official link for the campaign, bit.ly/1j26nPN...

Vinz' Blog (ProudMonkey) - Want some interesting books? Check out Packt’s amazing Buy One, Get One Free offer

Wanted to buy interesting books about web development and other related technologies in good deals? Well you must hurry because Packt Publishing are launching an exciting campaign to coincide with the release of our 2000th title. During this offer Packt is giving its reader a chance to dive into their comprehensive catalog and Buy One, Get One Free across their entire range of eBooks.

The campaign begins on 18th-Mar-2014 and will continue up until 26th-Mar-2014. Following are the benefits readers can avail during this campaign.
·         Unlimited purchases during the offer period
·         Offer is automatically applied at checkout

Packt Publishing celebrate their 2000th title with an exclusive offer - We've got IT covered! (bit.ly/1j26nPN)

image

Known for their extensive range of pragmatic IT ebooks, Packt Publishing are celebrating their 2000th book title `Learning Dart’– they want their customers to celebrate too.

To mark this milestone Packt Publishing will launch a ‘Buy One Get One Free’ offer across all eBooks on March 18th – for a limited period only.

...

Their books focus on practicality, recognising that readers are ultimately concerned with getting the job done. Packt’s digitally-focused business model allows them to quickly publish up-to-date books in very specific areas across a range of key categories – web development, game development, big data, application development, and more. Their commitment to providing a comprehensive range of titles has seen Packt publish 1054% more titles in 2013 than in 2006.

Erol Staveley, Publisher, says `Recent research shows that 88% of our customers are very satisfied with the service knowing that we offer a wide breadth of titles in a timely manner, and owing to the quality of service that they receive 94% of customers are willing to recommend Packt to friends and family. It’s great that we’ve hit such a significant milestone, and we want to continue delivering this fantastic content to our customers.’

Here are some of the best titles across Packt's main categories - but Buy One, Get One Free will apply across all 2000 titles:

Web Development

Big Data & Cloud

Game Development

App Development

With this and the O'Reilly MS Press sale,  [Very Limited Time Offer] O'Reilly offering 60% off on ALL ebooks from Microsoft Press (one week only!), you should be able to get just about every MS Dev eBook in the known universe (or so). At least enough to fill your read queue for a bit... like a decade or two... :)

[Very Limited Time Offer] O'Reilly offering 60% off on ALL ebooks from Microsoft Press (one week only!)

Tatworth - Microsoft Press 60% E-book deal

From now until 26th March 2014 05:00 PT, O'Reilly are offering 60% off all Microsoft Press E-books at ...

image

Farewell Microsoft Press!

For one week only, Save 60% on *all* ebooks from Microsoft Press

Microsoft Press is leaving oreilly.com, and we want to send them off in style by celebrating with a 60% off ebook Farewell Special.

This is your last chance to purchase DRM-Free Microsoft Press ebooks via oreilly.com. Get lifetime access to your books, read them on all your devices, and sync them with your Dropbox, Kindle, and Google Drive accounts. All of your Microsoft Press ebooks will continue to be available in your oreilly.com account.

oreilly.com will continue to be your best source of authoritative ebooks and video training on Microsoft technologies from O’Reilly, Wiley, Wrox, Packt, Infinite Skills,
and more.

Use discount code WKFAREW - Deal expires March 26, 2014 at 5:00am PT, and cannot be combined with other offers. Offer does not apply to Print, or "Print & Ebook" bundle pricing

image

60% off is an awesome offer. If there's an MS Press ebook you've had your eye on, now is the time to grab it at a great price...

MEF'ing with WP8 (or Now you're "cooking with MEF")

.Netitude - WP8 Breaks Bad (cooking with MEF)

Microsoft’s Managed Extensibility Framework is somewhat of an unsung hero in the .Net world in my opinion. The framework itself is insanely powerful and magical but when you combine it with other patterns and frameworks like MVVM it becomes pure sorcery. If you haven’t checked out MEFedMVVM, I suggest doing so after you get up to speed on MEF and what it is and offers you as a developer.

Recently, the DotNet team announced an update to their Microsoft.Composition nuGet package (MEF 2) which brings MEF-ability to Windows Phone 8.

To understand what MEF proper (ie: full-blown on the desktop) is and how you can use it, there are numerous examples throughout the interwebs. Check out this one and this one for a good start/overview.

What I couldn’t find, however, were actual code examples of using it on Windows Store or Windows Phone apps. The Windows Store support has existed for a few months now, so that surprised me. Let there be light!

(more…)

image

...

Now imagine that you separate out your classes to other assemblies, or simply add new classes to one folder w/in your project. The ease with which you can now add and remove features and objects to your applications becomes MUCH greater, and your confidence in your changes goes up dramatically – you know that you *only* added a feature, you didn’t muck with the view, change the view model, write a bunch more code, just added a new class.

Go forth and cook your apps with MEF!

.NET Framework Blog - Upcoming .NET NuGet Releases

We recently concluded a planning exercise for the next few months of work. From this exercise, we’d like to share the next set of NuGet releases that we plan to do. We chose this particular set based on your feedback and internal partner requests.

All of these packages will be released as pre-release packages on nuget.org.

image

Mostly I just love Brandon's post title... but this is also good news for WP8 dev's. MEF is a great framework and it can really help you build plug-in'able app's.

"Designing Evolvable Web APIs with ASP.NET" [Currently] free webook (web ebook)

Kris' blog - Designing Evolvable Web APIs with ASP.NET now as a free ebook

If you’re interested to update your knowledge of simply get started with Web API then there are a bunch of decent books already out there. I noticed however that Glenn Block and others at Microsoft released a book as well and, at the moment, provide for free over at http://chimera.labs.oreilly.com/books/1234000001708.

To get a grasp of what’s in there:

...

Designing Evolvable Web APIs with ASP.NET

by Glenn Block, Pablo Cibraro, Pedro Felix, Howard Dierking, and Darrel Miller

With this digital Early Release edition of Programming JavaScript Applications, you get the entire book bundle in its earliest form—the author's raw and unedited content—so you can take advantage of this content long before the book's official release. You'll also receive updates when significant changes are made, as well as the final ebook version.

Build HTTP services that reach a broad range of clients—including browsers and mobile devices—with ASP.NET Web API. This practical guide shows you how to build evolvable HTTP services using Microsoft's new Web API framework. It included both real world design and technical guidance from members of the ASP.NET Web API team and it's early adopters. It will cover fundamentals of Web API design and how to apply them properly using the technology. You'll learn fundamentals like how to design and select a media type, how to build out your API, and then move on to more advanced topics like how to use content negotiation, leveraging hypermedia, securing and testing your API, and much much more.

image

While I really don't dig webooks (I love my kindle entirely too much... even Firing, as in Kindle Firing, my dev book reading...) free is a hard deal to beat.

Wednesday, March 19, 2014

Link to Elastic with ElasticLINQ

Brad Wilson - Getting Started with ElasticLINQ

Jim Newkirk and I have been doing xUnit.net for 7 years now (and for Jim, NUnit for many years before that). You could say that open source is part of our blood, and when we left Microsoft, we made sure that open source would continue to be part of our daily efforts at Tier 3.

Fast forward 15 months: Tier 3 has been acquired (and is now the CenturyLink Cloud Development Center), and our first major open source effort Iron Foundry has been accepted into the Cloud Foundry Incubator project. Lots of great developers are working to ensure that you can write .NET code against a Platform-as-a-Service stack that doesn't lock you into a specific vendor.

Today we are proud to announce our second major open source effort: ElasticLINQ.

What is ElasticLINQ?

One of the major challenges when writing distributed software is how to distribute the data. When I started here 15 months ago, we had 4 data centers, and plans to expand into several more over the coming year. The data was being stored primarily in Microsoft SQL Server. As our data center footprint grew, it was becoming clear that centralized data storage was not going to scale with us. Having islands of data means that your application (and your users) can end up spending a lot of time waiting for data requests to go halfway around the world; and if there are any network glitches along the way, you might even fail to get the data entirely.

Almost right away we started evaluating alternatives that would let us keep all the data locally. We decided to use Couchbase as our primary data store, based on its extremely strong Cross Data-Center Replication (XDCR) capabilities. Many object data storage systems end up paired with an index engine for comprehensive searching capabilities. Couchbase provides an indexing integration solution with Elasticsearch, a horizontally scalable wrapper around Lucene.

The Lucene query syntax is based on JSON; ElasticSearch documents are also stored as JSON. Our developers, steeped in the worlds of .NET and SQL Server, were much more comfortable using the Language Integrated Query (LINQ) functions introduced in .NET 3.5.

ElasticLINQ bridges these two worlds by letting us query Elasticsearch using LINQ, and have the results projected into CLR types. We enlisted the expertise of Damien Guard (of Attack Pattern), who worked on both the LINQ to SQL and Entity Framework teams, to do the initial version of ElasticLINQ for us.

How do I use ElasticLINQ?

Connection and Context ...

Querying with the Context ...

Full-text searching ...

Custom queries with ElasticMethods ...

image

Custom queries and projections with ElasticFields ...

What's next?

This is v1.0 software, so we have a lot left that we can do. We've just recently started using this in our production code, and we are constantly finding new things we want to support. We expect you will come up with things we never dreamed of, too.

We are excited for the community to start using and contributing to ElasticLINQ. The Github site is a work in progress. Soon we will get documentation posted to the Wiki pages on the site, and get a real home page set up. We are anxiously awaiting the first community contributed bugs, Wiki edits, and pull requests.

We hope you love using ElasticLINQ as much as we do!

...

Got to love LINQ Love! :)

Now if only I knew something, anything about Elastic... :/

Monday, March 17, 2014

Feel that Code Regions are the devil's work? Exorcise them with Regionator for VS2012

Visual Studio Gallery - Regionator

Regionator - removes (with vengeance) all the regions from your source with a simple click or keyboard shortcut (default Ctrl+Alt+Shift+K). Regions often hide code that should be open, organized and readable; other times they simply get in the way with unnecessary grouping that sometimes scross scopes. This extension removes all of the regions from your current c# and vb.net source file and replaces them with nothing.

This extension is open source. The sources can be found at: https://github.com/davidchipping/regionator all comments and pull requests are welcome.

image

Personally I don't mind regions and use them myself to help me focus on code of interest, but some feel regions are from the Devil, so might also find this tool very welcome.

Love that he released the source... :)

Going gaga for Google APIs Client Library for .NET (because it's gone GA)

Google Developers Blog - GA Release for Google APIs Client Library for .NET

We strive to make our APIs accessible to anyone on any platform: ReST, HTTP and JSON mean that from nearly any language on nearly any hardware, you can call any of our APIs. However, to be truly useful on many platforms, it helps to have a client library -- one that packs a lot of functionality like handling auth, streaming media uploads and downloads, and gives you native language idioms.

Today, we are announcing General Availability of the Google APIs Client Library for .NET.

This library is an open-source effort, hosted at NuGet, that lets developers building on the Microsoft® .NET Framework to integrate their desktop or Windows Phone applications with Google’s services. It handles OAuth 2.0 integration, streaming uploads and downloads of media, and batching requests. For more than fifty Google APIs, it is the easiest way to get access for any Windows developer. Whether you are plugging Google Calendar into your .NET Framework-based application, translating text in a Windows Phone app or writing a PowerShell script to start Google Compute Engine instances, the Google APIs Client Library for .NET can save you tons of time.

Want to try it out? Visit the Getting Started tutorial. Want to hear more about about using Google’s services from .NET? Follow the Google APIs Client Library for .NET blog here. [GD: Post leached in full]

google-api-dotnet-client Announcements - Announcing the release of 1.8.1

Did you notice we have dropped the beta and rc labels out from this release?

That's right; the Google APIs Client Library for .NET is now in GA (General Availability).

Thanks for all your help and support getting out of beta!

From today, all our Google.Apis NuGet packages are stable. There have been no real changes in the libraries since the release candidate (RC) version, but we have worked hard on improving the documentation on developers.google.com/api-client-library/dotnet/.

As usual, feel free to open new threads in StackOverflow with our google-api-dotnet-client tag for any questions, suggestions or bugs. [GD: Post also leached in full]

NuGet - Google.Apis

image

I've been using their .Net Library for the better part of a decade, but it wasn't as uber (i.e. as Google API wide) as this one.  Anyway... Good to seem them push this forward and give it some love (kind of/mostly, but better this then dead I guess!).

 

Related Past Post XRef:
Google .Net API's go portable... The v1.4.0 Google APIs .NET library is now a Portable Class Library (PCL) And now uses TPL and the new HttpClient lib too
.NET Client Library for Google+ (Both in original binary form and decompiled/source version too)
GData .Net Assembly 1.1.4.0 Released. Now .Net Framework 2, VS (2005) Templates, and support for Google Contacts