Wednesday, October 01, 2014

Guess who's a newly minted Microsoft MVP?

Dear Gregory Duncan,
Congratulations! We are pleased to present you with the 2014 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Visual Studio ALM technical communities during the past year.

..."

Woot! I've coveted this award for a long time, and it was only through the help and support of others that made it happen. Brian Keller, Martin Woodward, Esther Lee, my employer and most importantly all of you. Thank you again for your support these past years!

Now comes the really hard part, working to continue to deserve this award... :)

image

Thursday, September 25, 2014

"Email Forgery Analysis..."

Email Forgery Analysis in Computer Forensics

Emails are usually at the top of the list when it comes to potentially relevant electronically stored information (ESI) sources. They often capture critical business correspondence, agreements, business documents, internal company discussions etc. They are also one of the most frequently forged document types. They can be altered in many ways such as by backdating, changing the sender, recipients or message contents. Fortunately, email servers and client computers often contain various metadata which can be used for forensic email forgery analysis.

One of these metadata fields is the Conversation Index property. I previously wrote about E-mail Conversation Index Analysis and how it can be useful in forensic analysis of e-mails, particularly email forgery analysis. In this post, we will put that weapon to use — along with other computer forensics techniques — and take a close look at a sample fraudulent email message.

...

image...

Conclusion

As the use of electronic documents as evidence in legal proceedings is becoming more and more popular, so is email forgery, electronic document date forgery and other electronic fraud. However, electronic documents usually contain numerous metadata fields, rendering most forgery attempts discoverable. Email transport headers and other metadata such as the Conversation Index, Sent Time and Delivery Time Microsoft Outlook Messaging API (MAPI) Properties are just a few of the numerous metadata fields computer forensics experts can use during email forgery analysis."

There's some great information in this post (and linked ones) and is perfect for you CSI guys (and those of you in the Legal/ESI/eDiscovery world).

Understanding a Sentiment Analysis Engine

Microsoft Lystavlen - the Online display board - Understanding the Sentiment Engine in Microsoft Social Listening

Sentiment Analysis

If you want to see how the public perceives your company or product, you can use sentiment analysis, which determines people’s attitudes toward a topic. Sentiment analysis reflects the public perception of a post’s content in relation to the keywords that were used to find the post (a post is a eg a Twitter post or a Facebook comment)

Each post that results from your defined search queries is processed by the sentiment engine in the original language and annotated with a calculated sentiment value. Sentiment values are provided for the following languages:

  1. English
  2. German
  3. French
  4. Spanish
  5. Portuguese
  6. Italian

The sentiment value results in a positive, negative, or neutral sentiment for a post. Occasionally, the algorithm identifies positive and negative parts of a sentence and still rates the post as neutral. This happens because the amount of a post’s text identified as positive or negative cancel each other out. A post is also classified as neutral if there are no positive or negative statements detected in it.

Note that the sentiment algorithm is not a self-learning system, even if you can edit any post’s sentiment value in the post list.

Understanding the Sentiment Engine

Lets look closer at the sentiment engine using the example post below, in the context of the search topic "Windows Phone"

...

image..."

I thought this post a great explanation of Sentiment Analysis, which comes up in my day job now and then. While we don't use the Social Listen or related product, we do use a library that lets us integrate like functionality into our LOB, but e apps, explaining how it works quickly has always been "fun". This post and explanation will come in handy next time...

 

Related Past Post XRef:
Comparing Sentiment Analysis REST API's
10 Professionals, 10 views on the coming trends in text analytics

Controlling the email madness, rule your inbox and help others rule theirs with Controlled Vocabulary Outlook Addin

Controlled Vocabulary 

This project provides tools to control the vocabulary of email and meeting communications so that recipients may implement more effective filtering.

Are you a member of an email discussion alias which is out of control? Do you battle to filter the messages? Take a look at the solution provided by this project to bring your alias under control again.

The driving motivation behind this project is that controlled vocabulary is a more effective method of categorizing emails than an open tagging system, which is too subjective.

This project provides an Outlook 2013 and Windows Client to support the adoption of a Controlled Vocabulary.

image

..."

In short, think "uber" templating, fast email generating, yet well formed for rule processing, Outlook Addin. For example, here's how the ALM Rangers use it, Controlled Vocabulary 101 … typed at the most stunning office!. It's not a silver bullet, but it might help you reign in the chaos (well a boy can dream anyway... ;).

Adventure Works, 2014

Jimmy May, Aspiring Geek: SQL Server Performance, Best Practices, & Productivity - AdventureWorks 2014 Sample Databases Are Now Available

Recently, SQL Community feedback from twitter prompted me to look in vain for SQL Server 2014 versions of the AdventureWorks sample databases we’ve all grown to know & love.

I searched Codeplex, then used the bing & even the google in an effort to locate them, yet all I could find were samples on different sites highlighting specific technologies, an incomplete collection inconsistent with the experience we users had learned to expect.  I began pinging internally & learned that an update to AdventureWorks wasn’t even on the road map.

Fortunately, SQL Marketing manager Luis Daniel Soto Maldonado (t) lent a sympathetic ear & got the update ball rolling; his direct report Darmodi Komo recently announced the release of the shiny new sample databases for OLTP, DW, Tabular, and Multidimensional models to supplement the extant In-Memory OLTP sample DB.

What Success Looks Like

In my correspondence with the team, here’s how I defined success:

1. Sample AdventureWorks DBs hosted on Codeplex showcasing SQL Server 2014’s latest-&-greatest features, including:

  • In-Memory OLTP (aka Hekaton)
  • Clustered Columnstore
  • Online Operations
  • Resource Governor IO

2. Where it makes sense to do so, consolidate the DBs (e.g., showcasing Columnstore likely involves a separate DW DB)

3. Documentation to support experimenting with these features

As Microsoft Senior SDE Bonnie Feinberg (b) stated, “I think it would be great to see an AdventureWorks for SQL 2014.  It would be super helpful for third-party book authors and trainers.  It also provides a common way to share examples in blog posts and forum discussions, for example.”

Exactly....

Adventure Works 2014 Sample Databases

Adventure Works 2014 sample databases are an upgrade from the 2012 version. To learn how to install the databases, see Readme for Adventure Works 2014 Sample Databases.docx.

image..."

Having training, sample data that is safe to demo and use is always, always, always nice...

 

Related Past Post XRef:
Community AdventureWorks on Azure one year later, where you, the community, not only helped keep it going BUT also donated GBP351.49 to War Child charity
Community Driven Read-Only AdventureWorks2012 now available on SQL Azure
103 SQL Server 2005 Samples and AdventureWorks Sample Databases Download

Wednesday, September 24, 2014

.NET Micro Framework gets VS 2013 support and more!

.NET Framework Blog - .NET Micro Framework now supports Visual Studio 2013

Today the .NET Micro Framework team is releasing a beta update of the .NET Micro Framework SDK that adds support for Visual Studio 2013. The release also contains other improvements that will benefit developers and hardware partners, making the install and update experience better.

Check out the .NET Micro Framework Team blog, and the Netmf.com site to learn more about .NET Micro Framework and this release. Read the Microsoft Open Technologies blog to learn more about this open source project and community engagement.

You can download the .NET Micro Framework SDK 4.3.1 (SDK R2 Beta) update from our Codeplex site. Please try it out, provide feedback and start contributing to the open source project.

Supporting for Visual Studio 2013

The .NET Micro Framework SDK now supports Visual Studio 2013. That’s welcome news, since ...

The new approach also helps hardware partners. .NET Micro Framework hardware vendors can now support multiple Visual Studio versions with a given piece of hardware and firmware. That also streamlines the overall experience for app developers, too.

A first glimpse at the upcoming support for Visual Studio “14”

The .NET Micro Framework team is looking ahead and has already started to enable support for Visual Studio “14”....

...

.NET Micro Framework is Open Source

The .NET Micro Framework is an open source project from Microsoft, licensed as Apache 2. It is developed by Microsoft engineers assigned to Microsoft Open Technologies and by others in the maker community. Hardware makers are able to use the .NET Micro Framework code from the Codeplex project without any additional license or paying any fee to Microsoft.

Next Steps

The .NET Micro Framework SDK 4.3.1. (R2 Beta) release brings key improvements and updates. ..."

This is very welcome news! In one of my not-so-secret lives, you know I'm a blogger for Microsoft Channel 9's Coding4Fun blog, where every Friday I do a Hardware Friday post (to give everyone something fun to build on the weekend of course!). One of my pet peeves when highlighting .NET Micro Framework projects was the lack of VS 2013 support. One peeve crossed out now. :)

 

Here are some more links of interest;

"Learning to Master Cross-Platform Mobile Development With Xamarin" Free (Name-Email-ware) eBook

Jesse Liberty - Free e-Book: Learning to Master Cross-Platform Mobile Development With Xamarin

The good folks at Falafel have put together all my posts (to date) on  Xamarin and Xamarin Forms into an e-book, which is available free at http://jliberty.me/masteringXamarinBook

image

Some snips from the PDF...

imageimageimage

"Microsoft office for you" song

I came across this fan created Microsoft Office song and thought it kind of cute...

Look, Microsoft Virtual Academy has a new look!

Microsoft Virtual Academy - Hello new MVA course experience! Goodbye grey bars of confusion!

Dear MVA learners! On the heels of hitting over 1,000,000 learners who visited just last month, today we unveiled a totally new way for you to experience your MVA learning!

Over the past year many of you told us:

"Your course player was hard to use!"

"Clumsy, cumbersome!"

"I didn't know where to start when I landed on a course."

"Juggling different pages and video players was confusing!"

This new player experience, using HTML5, is designed to help make it easier to get you to the courses you are interested in and allow you to discover and navigate all within a single page.

image

..."

I missed this when it was announced earlier this month. I went to MVA today and was impressed with the new look and feel of the Course pages. Short, simple and easy to use, three of my favorite things.

Also somewhat new is that there's now a New Course Feed and News Feed. Now I AM a happy camper!  :)

 

Related Past Post XRef:
Microsoft Press Free eBooks now have a home in the Microsoft Virtual Academy
//build/ –> //learn/-> //publish/ -> //your free new training sessions/
11 for 12... 11 Free SQL Server 2012 Microsoft Virtual Academy Classes
Microsoft Virtual Academy (MVA) provides free Microsoft Cloud Tech training
Congratulations you can become a Microsoft Licensing Expert and earn MS Licensing Accreditation (no lie)
Developing with HTML5 with JavaScript and CSS3 Jumpstart from the Microsoft Virtual Academy (free and a free exam voucher too!)
8 x 2 = 16 hours of instructor lead virtual Windows Phone 8 Dev training (That's free too!)
"Office 365 for the IT Pro - Platform" course now available on MVA
Microsoft Virtual Academy - Announcing the Release of the ‘Office 365 for the IT Pro – Platform” course to the
WAMVA - Windows Azure Microsoft Virtual Academy courses... (which are free of course)

Microsoft Virtual Academy (MVA) provides free Microsoft Cloud Tech training

Tuesday, September 23, 2014

Groups.io (Email Groups 2.0)=, Mailing lists for the 10's, i.e. not your dad's mailing list service)

Mark Fletcher's Blog - Introducing Groups.io

...

But that doesn’t mean that mailing lists can’t improve. And this is where we get back to the unfinished business. Because email groups (the modern version of mailing lists) have stagnated over the past decade. Yahoo Groups and Google Groups both exude the dank air of benign neglect. Google Groups hasn’t been updated in years, and some of Yahoo’s recent changes have actually made Yahoo Groups worse! And yet, millions of people put up with this uncertainty and neglect, because email groups are still one of the best ways to communicate with groups of people. And I have a plan to make them even better.

So today I’m launching Groups.io in beta, to bring email groups into the 21st Century. At launch, we have many features that those other services don’t have, including:

  • Integration with other services, including: Github, Google Hangouts, Dropbox, Instagram, Facebook Pages, and the ability to import Feeds into your groups.
  • Businesses and organizations can have their own private groups on their own subdomain.
  • Better archive organization, using hashtags.
  • Many more email delivery options.
  • The ability to mute threads or hashtags.
  • Fully searchable archives, including searching within attachments.

One other feature that Groups.io has that Yahoo and Google don’t, is a business model that’s not based on showing ads to you. Public groups are completely free on Groups.io. Private groups and organizations are very reasonably priced.

We’re just starting out; following the tradition of new startups everywhere, we’re in Beta. So, as we squash the inevitable bugs and work to make the system even better (based on your feedback!), all features will be free.

...

Groups.io

Why You'll Love GROUPS.IO

Powerful features that make email groups more useful.

Great For Organizations

Groups.io is great for your internal discussion lists. Easily create and manage an organization, which is a collection of private groups, through a dedicated Org home page.

Do More With Integrations

Easily integrate Dropbox, Google Hangouts, Feeds, Facebook, Instagram, Github, Email and soon even more services into your group.

Better Archive Organization With Hashtags

Discussions can have assigned hashtags. Archives can be searched by hashtags, and hashtagged conversations can automatically expire.

Only The Messages You Want

Mute threads and keywords, ensuring you only see the messages you're interested in. Take advantage of better email delivery options, including receiving the first message only in each thread or receiving replies only

...

image..."

While, like most, I have a love-hate relationship with mailing lists, I do think it's pretty cool seeing this new look at them, updated to today's tech.

Monday, September 22, 2014

VS 2013 HOL/ALM VM now with Update 3 (VS 2013.3)

Brian Keller - Now Available: Update 3 refresh of Visual Studio 2013 ALM Virtual Machine

I’m pleased to announce that today we’ve published the Visual Studio 2013 Update 3 ALM Virtual Machine. This includes several updates to the hands-on-labs / demo scripts to show off some of the new capabilities which have been added in Updates 1 – 3.

With the continuous stream of great updates coming to Visual Studio every few months I haven’t been able to update the virtual machine with each new update, so I didn’t publish a new VM for Updates 1 or 2. But with Update 3 we hit critical mass of some great ALM capabilities which demanded an update.

For people who are interested in this level of detail, I’ve included a high-level changelog below which details the updates we’ve made in this version of the VM and labs. You can download the latest version of the VM and corresponding hands-on-labs / demo scripts at http://aka.ms/vs13almvm. You can find a list of our other ALM VM’s at http://aka.ms/ALMVMs. As always, we love hearing your feedback.

+++++++++++++++++++++++

Virtual Machine

  • Upgraded to Windows Server 2012 R2
  • Applied all recent Windows Updates
  • Increased the size of the VHD file to account for the updates
  • Added TFS 2013 Power Tools
  • Other smaller fit-and-finish fixes and updates based on user feedback

...

image..."

Want to play with the latest production release (for now) of VS 2013 and TFS, with a ton of great HOL's, with everything all setup for you to learn and explore, data and all? You know the drill, head over to http://aka.ms/ALMVMs and get your download on...

 

Related Past Post XRef:
24! [Hands-on-Labs and Demo Scripts now available in the big BK Visual Studio 2013 ALM VM] + [Bonus: Azure'ing it too...]
Happy VM Day! The Visual Studio 2013 RTM ALM Virtual Machine is now available
The HOL "Building a Release Pipeline with Team Foundation Server 2012" thing
Featuring Agile Planning and Portfolio Management with TFS2013 in these Hands On Labs
Visual Studio 2013 ALM and HOL VM now available...
VS2012 Update 1 ALM VM and HOL / Demo Scripts now available
The VS 2012 ALM Virtual Machine and VS 2012 Update 1 (In short, there's an updated VM coming, don't install it on this VM if you don't have too)
The big BK has updated the Visual Studio 2012 RC ALM Virtual Machine and Hands-on-Labs
VS 11 ALM DemoMates updated for the Beta
Visual Studio/TFS11 ALM Demo's... Mate! See the VS/TFS 11 ALM's hands-on-labs in DemoMate form
Visual Studio 11 ALM VHD's, VirtualBoxed (and even on x86 hosts too)
Want to play with Visual Studio 11 & TFS 11 Dev Preview but don't want to install it (and have access to a Hyper-V server)? Here's a VHD just for

VS 2013 Update 4 CTP2, TFS 2013.4 CTP2, Team Explorer Everywhere 2013 Update 2 and VSTU 1.9.1

The Visual Studio Blog - Visual Studio 2013 Update 4 CTP 2 (And More) Available

We have four releases today. First, Visual Studio 2013 Update 4 CTP 2 is available, including a few features (e.g. performance improvements for the Visual C++ browsing experience) and some bug fixes. Second, there’s also a CTP available for Team Foundation Server. The release notes have the complete list of features and fixes for both these releases.

Third, we also released Team Explorer Everywhere 2013 Update 2, which, among other things, improves how TEE stores credentials (making sign on to Visual Studio Online much easier) and adds the capability to browse Git repositories within TEE. Will Smythe has a full post here.

Finally, we released the Visual Studio Tools for Unity (VSTU) 1.9.1 on the Visual Studio Gallery: VSTU for VS 2013, VSTU for VS 2012, and VSTU for VS 2010. This release fixed many of the issues you reported on Connect in version 1.9.

...

image

..."

I wonder if we'll see more CTP's this week? Seems like a while since we got a VS "14" CTP... :P

Humans 0 - Robots 0. It appears MSR Robotics Research Team is no more... :(

Microsoft Research - Robotics Research

Results and resources from our robotics initiatives

The robots are coming! Actually, they are already here...

Yeah, maybe not so much.

Saw the first news about this yesterday;

The Humans Are Dead

Sadly, Microsoft has decided to kill the MSR Robotics team... My last day is today.
All that remains is a bunch of robots...

...

Here's a bit more information/tweets/etc

microsoft-news - Microsoft Kills The Microsoft Research Robotics Team

...

Microsoft Robotics products and services enable academic, hobbyist and commercial developers to easily create robotics applications across a wide variety of hardware. Microsoft Robotics Developer Studio 4 is a popular product from that group which is a .NET-based programming environment for building robotics applications. It can be used by both professional and non-professional developers as well as hobbyists.

As part of the recent layoffs, Microsoft has decided to kill the Microsoft Research Robotics studios. Team member Ashley Feniello tweeted about this recently. MSR Robotics team were focused on the following,

...

image

..."

RDS is still available, Microsoft Robotics Developer Studio 4, but it's 2 1/2 years old now and only for VS 2010.

I always thought this an awesome product/area/team/thing and a bunch of fun to play with. Now with the IoT and Maker stuff, you'd think more would be invested this, not less, let alone killed. :(

Tuesday, September 16, 2014

.NET Universe Poster, 2014

Microsoft Downloads - .NET Universe Poster - 2014

image

.NET Universe Poster (2014) showing the main .NET SDKs, libraries and packages classified by application type and package type (NuGet, official support, etc.)

Version: 2014

Date Published: 9/15/2014

File Name: poster2014_.pdf, 14.6 MB

This poster shows how the trends are changing in .NET as we´re moving from a single large .NET Framework to a more loosely coupled and autonomous libraries and sub-frameworks, many of them even published as NuGet packages and evolving continuously. The number of those libs and packages is evolving and growing, so having a visual photo of it can be helpful. The main idea of the poster is to show that you can create any kind of application with .NET, from the largest applications to the smaller apps: in the cloud, on the web, on desktops, tablets, phones, and in embedded environments (even watches!). Any of those application types is shown as category/bucket in the poster and within each bucket we´re tossing the main libraries/SDKs/packages out. Then we´re also showing cross-cutting concerns buckets like Security, Data Access, and .NET Extension libs.

The main categories are the following:

- Emerging application patterns (Mobile, Web & Cloud)

- Established application patterns (Desktop and Embedded)

- Cross-Cutting concerns Finally, the poster is putting a check/mark on every lib/SDK bullet depending if they are or not complaint with the following:

- NuGet package

- Open Source

- Microsoft Official Supported

You can print it out or use it as in electronic format (.PDF). Using the electronic format (.PDF) allows you to access each content URL/page related.

Interesting growth and evolution from last year (The .NET Universe Poster for 2013 is now available)..

 

Related Past Post XRef:
The .NET Universe Poster for 2013 is now available

Does your SQL Smell? The free "119 SQL Code Smells" eBook might help you sniff it out (and fix it)

simple talk - 119 SQL Code Smells

Written with advice, help or contributions from over 25 SQL professionals
Download the free PDF: from Red Gate

Once you've done a number of SQL code-reviews, you'll be able to identify signs in the code that indicate all might not be well. These 'code smells' are coding styles that, while not bugs, suggest design problems with the code. In this PDF, Phil's put together 119 of those code smells so you can see what to avoid and why.

Kent Beck and Massimo Arnoldi seem to have coined the term 'CodeSmell' in the 'Once And Only Once' page of www.C2.com, where Kent also said that code ‘wants to be simple’. Kent Beck and Martin Fowler expand on the issue of code challenges in their essay ‘Bad Smells in Code’, published as Chapter 3 of the book ‘Refactoring: Improving the Design of Existing Code’ (ISBN 978-0201485677).

Although there are generic code smells, SQL has its own particular habits that will alert the programmer to the need to refactor code...

...

imageimageimage

...

One can be a bit defensive about SQL code smells. I will cheerfully write very long stored procedures, even though they are frowned upon. I’ll even use dynamic SQL on occasion. You should use code smells only as an aid. It is fine to ‘sign them off’ as being inappropriate in certain circumstances. In fact, whole classes of code smells may be irrelevant for a particular database. The use of proprietary SQL, for example, is only a code smell if there is a chance that the database will be ported to another RDBMS. The use of dynamic SQL is a risk only with certain security models. Ultimately, you should rely on your own judgment. As the saying goes, a code smell is a hint of possible bad practice to a pragmatist, but a sure sign of bad practice to a purist.

In describing all these 119 code-smells in a booklet, I’ve been very constrained on space to describe each code smell. Some code smells would require a whole article to explain them properly. Fortunately, SQL Server Central and Simple-Talk have, between them, published material on almost all these code smells, so if you get interested, please explore these essential archives of information.

...

nuff said...

Logikcull is trying to help make eDiscovery logical... and giving you a free eDiscovery Education and sandbox to play in too!

Logikcull - Logikcull Launches On-line e-Discovery Education for the Legal Community. And it’s Free.

WASHINGTON, DC, September 15, 2014 - Logikcull announced today the launch of its e-Discovery Education for Everyone initiative. With this initiative, lawyers around the world will be able to learn e-discovery by performing e-discovery, for free, and without the need for special software or hardware. Simply log-in and Logikcull will automatically teach you how to do e-discovery. Each free Logikcull account comes with a set of “sandbox-data” that lawyers can use to learn about metadata, de-duplication, and many other technical aspects of e-discovery.

Understanding e-discovery is becoming increasingly important to the legal community. For instance, California has an open ethics opinion that states lawyers that don’t attempt to learn about e-discovery may face malpractice claims. The Logikcull e-Discovery Education for Everyone initiative hopes to mitigate that risk for attorneys everywhere.

“E-discovery education is vital for lawyers practicing in the 21st century—which is to say, all of us. The time is nigh when not understanding e-discovery will be malpractice; but why wait until then? If you want to remain competitive and competent, you’d better know about it now.” said Mark Wilson, writer for Findlaw.com who recently wrote about “Is Not Understanding e-Discovery Unethical?”

One of the problems with learning about e-discovery is just that: you learn about it in the very traditional CLE-way. But usually, you don’t actually get to practice e-discovery until it’s too late. And if it’s too late, you may end up making poor e-discovery choices that can result in professional misconduct. With Logikcull, lawyers can learn e-discovery by doing e-discovery in a safe and real-world environment. This learn-by-doing environment will better prepare legal professionals when e-discovery demands arise.

..."

This is a first I think, a public eDiscovery sandbox to learn and play in. You know I've said, over and over, that even if you're not in a legal firm/department/etc, that even if you're just an IT guy and gal, if you have "customers" then there's a chance your firm might be involved in a legal matter one day. The more you know about what this "eDiscovery" thing is the better you'll be able to help your firm (or at least understand what your lawyers are asking for and why...)

One thing to understand, this is a "request" for a sandbox. It's not immediate (though the automated emails come in fast...). I'm hoping this is sales-hands-off and just a site/service I can use, learn from and play with. If this is just a "demo-with-data" that "we'll walk you through..." i.e. salesware, I'll be disappointed. But these guys seem be pretty unusual for a firm (see the XRef's below), so I'm keeping my fingers crossed.

 

Related Past Post XRef:
Something we all need sometimes, some “Logik Redaction”
Every industry deserves it’s own apparel, doesn’t it? Now there’s apparel for the EDD Guy or Gal in you…

Thursday, September 11, 2014

Remember...

13 years seems like a long time, and it is.

My son was 7. He's now serving in Afghanistan. His entire generation has been impacted, changed, warped by what happened 13 years ago. He's never been on a plane without going through TSA. His only memory of the World Trade Towers is of them burning and falling. He doesn't really remember a time before the wars...

Today, let's remember what happened then and lets not let it happen again. One generation of 11'ers is one to many...

Wednesday, September 10, 2014

What's new in C# 6, VB 14? VS 14? Think "Developer Productivity versions"

Kathleen Dollard - Video Series on C# 6.0, Visual Basic 14 and Visual Studio 14

Video Series on C# 6.0, Visual Basic 14 and Visual Studio 14I am really excited to be sharing a series of short videos on C# 6.0, Visual Basic 14 and Visual Studio 14. The series will be free and available at www.WintellectNOW.com

The first video is “The New Compilers” and is an overview of the next releases.

The second video “Simplifying Classes with C# 6.0” shows how to use auto-property initialization, getter-only auto-properties and primary constructors to create classes with simple code and immutable or mutable properties.

Next week I’ll dive deeper into auto-properties and primary constructors in C#.

Visual Basic folks can watch these videos for the basic concepts in this release, and I’ll focus some upcoming videos on Visual Basic 14 features.

..."

image

BillWagner  - Overview of C# 6 language enhancements

I was interviewed by Carl and Richard on .NET Rocks a bit ago to discuss the new features in C# 6, the upcoming version of C# that will ship with the next version of Visual Studio (link goes to CTP 3, current as of Aug 2014). You can learn all about the new version of C# at the Roslyn CodePlex site.

The initial buzz about the next version of C# centered around the implications that this compiler was a complete rewrite, written in C# from the ground up. You’ve probably heard quite a bit about how you can use the Roslyn APIs to inspect and modify code models programmatically. That is super cool, and much easier than using the earlier CodeDOM and Reflection.Emit functionality. It’s also an edge case for most of us. I’ve written very little code that uses either CodeDOM or Reflection.Emit. And, while it is also very cool that the C# compiler is now self-hosted (meaning it is written in C#), that will have very minimal affect on you either.

So what is new?

...

image..."

C#6/VB 14 are shaping up to be "the" developer productivity version. The scary thing? This wheel has just started rolling and we're just starting to see the promise of Roslyn/.NET Compiler Platform. The next couple years are going to be very exciting in the .NET world.

Visualizing Database Schema changes, with a little help from the Google Charts API

Maria Zakourdaev - Using Google Charts API to Visualize Schema Changes

Last week I have worked on the new email report using Google Charts and liked it so much that decided to share it here with anyone who finds it useful.

I have a Schema Changes Audit table which is being maintained by the DDL Trigger. The relevant record is added to this table every time anyone changes objects on the server

image

image

..."

I just thought this something interesting, kind of cool and different. I'd have never thought to use the Google Charts API (or other charting API) like this...

So you want to create LEGO models all day, and get paid for it? There's a job for that!

Brothers Brick - Do YOU want to be a professional LEGO builder?

This may be your chance. Carl Greatrix, who has been working for Tt Games since 2009 (after responding to an advert on this blog) has been in touch. Tt Games, who produce computer games for LEGO, are looking for a new Model Designer to strengthen their team.

LEGO Model Designer
Location: Knutsford (UK)
Advertisement publish date: 10/09/14
Start date: ASAP
Salary: £Competitive + benefits
Duration: Permanent

We are looking for a LEGO Model Designer with a keen interest in Tt Games LEGO Console Games. This is a rare opportunity to become part of the team responsible for bespoke LEGO Models as seen throughout our multi award winning published titles.

You will join the LEGO Models team and work together with designers and technical artists to provide quality LEGO Designs such as creatures and vehicles for in-game use, as well as props of all sizes as used by the Cinematic and wider LEGO Construction teams.

...

image..."

If only I lived in the UK (and didn't suck at design and like stuff)...

Thursday, September 04, 2014

Building a Niven Ring (aka. Ringworld), PopMech goes around...

Popular Mechanics - Could We Build a Ringworld?

In our cosmic megastructures series, PopMech explores some of the key engineering and design challenges in constructing gigantic structures for use by humankind in space. Today: a Niven Ring or Ringworld, an enormous slice of real estate encircling a star.

Name: Niven Ring, or Ringworld
Named for: Larry Niven's 1970 novel Ringworld and its sequels.
Selected Science Fiction Portrayals: Besides those featured in Niven's novels, similar but smaller structures, called Halos, appear in the Halo video game and media franchise. Also, the Orbitals of Iain M. Banks' Culture novels and short stories.

Someday, when humankind outgrows planet Earth, we might aim to build a habitat so vast we could never overpopulate it.

Sci-fi author Larry Niven conjured up...

image..."

Being a Science Fiction nut (You've seen my Good Reads widget on my site, so this isn't news to you... ) I love the Ringworld series. It's also interesting seeing the impact it' had on later works. I love seeing continued references to like structures (Rings, Dyson Sphere, Dyson Swarms, etc) in later works (Halo anyone?). Oh sure, we're not going to be building these anytime in the near future (heck we can barely got off this rock, let alone...) but a boy can wonder and dream.

This PopMech article is great and also reminds me of the many days I used to spend reading the mag every time the mailman dropped off the latest edition. Remember when we used to get magazines in actual paper and print? :P

Anyway...

If you're a science fiction reader, Niven fan, space nut or science geek, this is an interesting read.

Driving IE with the Web Driver Tool and Code Sample too

Microsoft Downloads - IE Web Driver Tool for Internet Explorer 11

The IE Web Driver Tool enables developers to create automated tests that simulate users interacting with webpages and report back results in Internet Explorer 11. It can also manage testing across multiple windows, tabs, and webpages in a single session.

Version: 1.000

File Name:

Windows8.1-KB2990999-x64.msu

Windows8.1-KB2990999-x86.msu

Date Published: 9/3/2014

KB Articles: KB2990999

The IE Web Driver Tool implements many of the high priority features from the W3C spec to allow developers to open a session, automate basic functionality against the pages, and return the results of the tests. The IE Web Driver Tool differs from JavaScript unit tests because it has additional access to functionality and information in the browser, and it can more accurately simulate user events or OS-level events.

...

MSDN Code Gallery - WebDriver Sample - Cumulative Security Update for Internet Explorer (KB2976627)

WebDriver is like a remote control for Internet Explorer and allows developers to create automated tests that go beyond simple JavaScript unit tests. In Cumulative Security Update for Internet Explorer 11 (KB2976627), the WebDriver API demonstrated in Internet Explorer Developer Channel comes to general release.

Building the Sample

Because WebDriver gives any app that knows how to use it the ability to control your browser, it is not completely installed with Cumulative Security Update for Internet Explorer (KB2976627). To install and enable the remaining components, please follow the instructions in the Developer Guide.

Following that, you will be able to use the Visual Studio solution in this sample as a jumping-off point to build your own apps using the WebDriver API. However those apps will only run on systems specifically enabled to use the WebDriver API.

Description

The WebDriver sample provides a small example application that opens Internet Explorer, navigates to Bing, locates the Bing Search Box, types "WebDriver" into it, and executes the search. With dozens of commands available, this provides an excellent starting point for exploring the WebDriver API in Internet Explorer 11.

Source Code Files

  • IEWebDriverExample.zip

..."

Remember the days/weeks wasted and many tools we've used to "automate" UI testing of our web sites? Maybe, finally, those days are behind us? We can only hope...

git tf whining about ".. not a valid URL"? Richard Fennel shows how to kick its ASCII

But it works on my PC! - Getting ‘… is not a valid URL’ when using Git TF Clone

I have been attempting to use the Git TF technique to migrate some content between TFS servers. I needed to move a folder structure that contains spaces in folder names from a TPC that also contains spaces in its name. So I thought my command line would be

git tf clone “http://tfsserver1:8080/tfs/My Tpc” “$/My Folder”’ oldrepo --deep

But this gave the error

git-tf: “http://tfsserver1:8080/tfs/My Tpc” is not a valid URL

...

The answer was to use the ASCII code ...

image

..."

I've run into this a few times during my Coding4Fun blogging quests and end up being lazy and getting the code other ways. In this post Richard shows just how lazy I really was...

Wednesday, September 03, 2014

Using Brent Ozar's magic SQL steps to query and find unanswered StackExchange questions

Brent Ozar Unlimited - Finding Unanswered StackExchange Questions with SQL

You love Q&A sites like StackOverflow.com and DBA.StackExchange.com, but sometimes it’s hard to find interesting questions that need to be answered. So many people just sit around hitting refresh, knocking out the new incoming questions as soon as they come in. What’s a database person to do?

Use the power of the SQL.

Data.StackExchange.com lets you run real T-SQL queries against a recently restored copy of the StackExchange databases. Here’s my super-secret 3-step process to find questions that I have a shot at answering.

Step 1. Find out how old the restored database is....

...

Step 2. Find questions everybody’s talking about....

image

...

Step 3. Find questions that people keep looking at....

...

image..."

Why web query when you can just SQL your way through StackExchange? I don't know about you, but I often dream in SQL (no lie.. sigh), so this approach to StackExchange struck a cord for me. Now, if only I was actually smart enough to provide good answers... :O

 

Related Past Post XRef:
SELECT * FROM StackExchange. There's the easy way and the hard, yet much more data fun, way...
Stacks and stacks of data - Your copy of the Stack Overflow’s (and family) public data is a download away

The Stack Family (StackOverflow, SuperUser, etc) gets OData’d via Stack Exchange Data Explorer
Build something awesome with the new StackExchange v2 API and win something awesome...
Stacking up the Open Source Projects, Stack Exchange is...

Sando Code Search Tool gets revved up! (In more ways than one...)

David C. Shepherd - Searching the Linux Source Tree in 0.5 Seconds

Our recent work on the Sando Code Search extension, a tool which leverages Lucene to search code, has been focused on making it more scalable and robust. To demonstrate our progress I'll provide demos of both Sando and FindInFiles (i.e., a grep-like feature in Visual Studio) searching the entire Linux kernel. As you'll see, there's a fundamental difference between Lucene-based search tools and regular expression based search tools.

Before we begin, let's first briefly examine the Linux source tree. At the time of our demo it contained 47,528 files which occupied 1.71 GB on disk. Most of these files were C code, yet there was also a fair amount of documentation and configuration files. Sando and FindInFiles both search all text files.

Searching the Linux Source Tree with FindInFiles

To use FindInFiles I configured it to search the directory containing the Linux code, entered my search, and selected Find All. In this running example the user is searching for encryption algorithms, specifically those related to AES, and thus they use the regular expression query "encrypt*aes". Executing this search caused FindInFiles to run its regular expression matching algorithm against every line of every file in that directory, recursively. As you can see in "Starting the Search", this utilized about 50% of the CPU on an eight core machine for a considerable amount of time.

Starting the Search: Notice when the FindInFiles search begins the CPU utilization becomes 50% on a 8-core machine.

After about one minute and forty seconds the search completed, having searched 47,407 files. Unfortunately, no lines matched this particular search (see "Finishing the Search"). As often happens with a regular expression based search, the word ordering in the query did not match the word ordering in the code. In this situation the user would likely have to run another search with re-ordered search terms (e.g., "aes*encrypt") to find relevant code.

image

Finishing the Search: After about 1m 40s the search completes; no results were found after searching 47,407 files.

Searching the Linux Source Tree with Sando

Next we searched the same Linux source tree using Sando. Unlike FindInFiles, which is based on regular expression matching, Sando is built upon information retrieval technology (think Google). It leverages Lucene.NET to pre-index source code and provide ranked results almost instantly. Typing in the same query as before minus the regular expression syntax (i.e., "encrypt aes") you can see below that results are returned almost instantly. Just as importantly, the most relevant results are returned first with less relevant results toward the bottom. Additionally, in Sando's UI, selecting a result in the list provides a preview of the program element with matching terms in bold.

image

Searching with Lucene: The same search returns almost instantly when using Lucene-based searchers.

Of course, there is a cost to pre-indexing. For the Linux source tree that cost is about 50 minutes of low CPU background processing. Fortunately, this only happens once  after which incremental updates and switching branches trigger at most a few seconds of indexing. Additionally, for most medium-sized projects initial indexing completes in a matter of seconds. For instance, Sando can index its own source code in less than ten seconds.

..."

David reached out to me today with news about the updated Sando Code Search Tool/VS Extension and I just loved how he used VS and Sando to index and search the Linux source tree...

Also make sure you click through to the full post to not only see the pretty animated Gif's but to all see a number of other code search tools for VS and beyond. I dig that he took the time to highlight other similar tools.

Finally the source for this project is also still on CodePlex, https://sando.codeplex.com. :)

 

Related Past Post XRef:
Revisiting Sando - Full Text Index and Source your Source, while never leaving Visual Studio...
Code Searching with Sando, because "Code search sucks and Find & Replace is from the 80s..."

Security/hacking got you a little freaked? Moving to Two Factor Auth? Looking for a WP8.x "Google Authenticator App"? Microsoft has got your back...

7Tutorials - Are You Looking for a Google Authenticator App on Windows Phone?

We all know the strong competition between Microsoft and Google and how ruthless it is at times. Because of it, Google has chosen not to develop Windows Phone apps for most of its services. Therefore, the Google Authenticator app that's requested by many services for two-step verification is missing from Windows Phone. Since two-step verification is a very common method for securing all kinds of accounts, being able to use a Google Authenticator clone on Windows Phone is very important. Fortunately for us Windows Phone users, Microsoft has our backs and they have developed their own Authenticator app and published it for free. Here's how it works:

Why So Many Websites & Services Ask You to Install the Google Authenticator App?

Because Google was one of the first big tech companies to implement two-step verification for their customer's accounts. They also developed a Google Authenticator app that's available on almost all mobile platforms except those developed by Microsoft. Since Android is so huge in terms of market share, the Google Authenticator app has become a standard in people's minds and everyone recommends that you use it.

Technically speaking, there's nothing special about this app because it uses a documented standard for two-step authentication: the Time-based One-time Password Algorithm (TOTP). Therefore anyone can make an app using the same algorithm.

According to this standard, the Authenticator app provides a random six digits one-time password that you enter in addition to your username and password, to log in to all kinds of services, including Google's and Microsoft's services. This six digits password is valid for 30 seconds. If an attacker steals it then, within 30 seconds, it will be useless. This is great from a security perspective.

When a website mentions using a Google Authenticator app, don't despair. You don't really need Google's app, only an app that uses the same algorithm to generate passwords.

Where to Find Microsoft's Authenticator App

On the Windows Phone Store, if you search for Google Authenticator, you will find lots of apps made by different developers and companies. Some of them are not even free. Most probably they work just as well, because they use the same standard as Google does but why use them if you have a free app, developed and actively maintained by Microsoft?

In the Windows Phone Store, search for Authenticator and tap the app made by Microsoft Corporation. You will find it here: Authenticator.

Authenticator.

...

image..."

With all the hacking/etc. news I decided it was time to finally make the move to Two Factor Auth. Yeah, I know I'm a little behind (little?) but, hey every journey begins with the first step, etc.

Today I was looking for a Windows Phone app to help with a site that uses Google Auth. Well there isn't one, at least from Google. But, as you've seen above, we don't need no stink'n Google Auth App! The Microsoft Auth app works just fine. And I've confirmed that, it does indeed work just fine and is really easy to setup and use.

In short, if you've not made the move to Two Factor, it's really not that scary at all. Do it... DO it... DO IT!