Saturday, December 12, 2015

What’s new in F# 4.0 in Visual Studio 2015

Hi my blog readers!
Today I’m going to share information about F# in Visual Studio 2015.
When Visual Studio 2015 was first released, F# was also released as F# 4.0. Put it simply, Visual Studio 2015 has F# 4.0 in it, or you can view it other way: F# 4.0 was released at the same time as Visual Studio 2015 released.
A complete list of F# 4.0 new features, enhancements and bug fixes are available in F# Github repository in the form of markdown page: https://github.com/Microsoft/visualfsharp/blob/fsharp4/CHANGELOG.md
There many nice features and bug fixes! But for me, based on the previous link, the nice parts of new features of F# 4.0 are:
  1. Constructors can be treated as first class functions
  2. Support for high dimensional arrays is now in sync with .NET 32 dimensions array. Previously F# only supported up to 4 dimensional arrays.
  3. Synchronize of “API parity” for List, Array, and Sequence, including additional new APIs: chunkBySize, contains, except, findBack, findInstanceBack, indexed, item, mapFold, mapFoldBack, sortByDescending, sortDescending, splitInto, tryFindBack, tryFindIndexBack, tryHead, tryItem, tryLast
  4. Slicing support for List
  5. Supports for VS debugger for debugging F# script
Important notes:
  1. Slicing support for List is quite comfortable, but please be careful that this List is F# List, not the original .NET’s System.Collections.Generic.List. F# List is implemented as linked-list, this is why the original F# List has no inherent support for index before F# 4.0. Actually and it’s natural to have an index, because slicing support requires to have an index.
  2. High dimensional arrays are not available in all of the F# APIs. There’s no API for manipulating arrays that has dimensions above 4 dimensions.
For more information about the general enhancements, see this blog post: http://blogs.msdn.com/b/fsharpteam/archive/2014/11/12/announcing-a-preview-of-f-4-0-and-the-visual-f-tools-in-vs-2015.aspx
Tomorrow I’ll discuss the new features above with some samples!

Sunday, November 1, 2015

Giving quick intro on functional programming on Lambda Jakarta October 2015 Meetup

Hi guys!

Now it’s community time! To be specific, Lambda Jakarta meetup time!

lambda_global_326137232

This time (as suggested on previous meetup, on my blog, and on Lambda Jakarta’s Slack group) Erik Dominicus and I are going to give separate presentations on the same topic: introduction to functional programming language.

The place was still the same, MNC building, but the date was 31st October, 2015 on 12.30 PM (after lunch).

Yes, we both deliver the same concept but we decided to give different ways to deliver these presentations.

I focused on giving intro with the past background of common non functional programming introductions including OOP (hence imperative), and then gently driving the mindset into functional. Eric focused on giving intro directly on conceptual principles on functional programming.

The invitation page on Lambda Jakarta’s meetup of October 2015 page neatly described this:

image

Yes, I focused on gentle intro with introduction from non functional programming.

Introduction to functional programming will be delivered and presented as gentle intro into the concept regardless of functional programming languages (language agnostic). This quick intro will get you jumpstart with relevance to other todays programming paradigm such as OOP and imperative without hurting your brain

This is the excerpt from my slides:

image

..and we all know these facts:

image

Yes, functional programming should be fun! Unfortunately, I didn’t have the chance to be captured as video. The next meetup will try to repeat my talk and it’ll be video captured Smile

These are the pictures:

WP_20151031_001WP_20151031_005WP_20151031_006

WP_20151031_009

..and there’s more on Lambda Jakarta’s meetup page for October 2015 Smile

I was so excited to have many feedbacks and questions in the middle of my talk! One of them was asking about asynchrony and synchrony concept. Although they are concerned and closely related to parallel programming, asynchrony and synchrony are not parallel programming concept. Asynchrony, synchrony are just part of concurrent programming, and parallel programming also part of concurrent programming.

This is also unfortunate consequence of common fresh graduate of computer science faculty in Indonesia: the curriculum keep mixing wrong concepts, and always leaning more on “industrial trend” based on not so official TIOBE index.

Very well, this is our responsibility to change this, right?

We have agreed to have next meetup soon after the TechinAsia event (11th November). Stay tuned on Lambda Jakarta’s meetup and Slack website!

UPDATE:

This is my slide for the presentation: http://1drv.ms/1X07sFT (feel free to download) Smile

Sunday, October 4, 2015

I’m going to give presentation on TechDays 2015 Indonesia

Care to know about Git and Github support coming inside Visual Studio 2015?

Catch me at Microsoft Indonesia’s TechDays 2015 event!

Register now at http://aka.ms/techdaysid

image

image

See you there!

Monday, September 21, 2015

Attending Lambda Jakarta September 2015 meetup

Hi guys!

In this blog entry, this is my story about helping to organize meetup of Lambda Jakarta.

The meetup was held on 19th September at MD Entertainment Tower 2.

The link is: http://www.meetup.com/Lambda-Jakarta/events/225037500/

The place of this meetup look weird, it looks like a building with lots of venous blood pumping;

MD_Place

The agenda is:

  • Presentations from Erik Dominicus and Dicky Arinal
  • General functional discussion,
  • Meetup formalization and next steps

Presentations from Erik Dominicus was quite great. He presented a quick intro to Haskell, a quite old functional programming language that still influences many functional programming language today including ML, F#, Scala.

Dicky Arinal presented a lightning intro to concurrency in networking. A quite tedious and technical talk, but quite refreshing to know deep into what’s going on at multithreading in networking world.

The formalization was originally to discuss what will be the next meetup, but then the discussion crystalized onto one need of having online collaboration. After brainstorming, I proposed to use Github and Gitter to have chat. But most of the audiences were familiar with Slack, so I decided to jump in and set up Slack:

image

The Lambda’s Slack link: https://lambda-jakarta.slack.com/messages/general/

The collaboration is nice, you should try it! It’s quite the same as Gitter, but unfortunately not all of us can directly join the confirmation, you have to be invited first.

Here is the conversation at #general channel:

image

Now we have more channels for specific interests:

image

Of course, there’s F# in #fsharp channel Smile

Now the organization of Lambda Jakarta has been set up as a repo in Github! <link is: https://github.com/Lambda-Jakarta >

image

Go Github! At the picture above, I also set up a repo to contain all of the source code sample to teach functional programming. This meetup was fun! Smile

This the shoot from the meetup:

The next meetup has been also scheduled for 31st October 2015. Guess what? I’ll present an intro to Functional Programming without hurting your brain, and Erik will present an intro to Functional Programming but with totally noob view!

Sunday, July 26, 2015

Current state of Visual Studio releases [July 2015]

Hi my blog readers! I know, this blog installment should be out at before 24th July, but there were some exciting news to tell!

This is the fourth installment of Visual Studio releases update. In this installment, the updates are not so much like previous (on May 2015) but it’s very worthy to know!

These are the updates:

  • Visual Studio Team Foundation Server 2015 RC2 release
  • Visual Studio 2013 Update 5 release
  • Visual Studio 2015 release

Now let’s talk about those releases!

Visual Studio 2015 RTM

Yes, Visual Studio 2015 has been released on 20th Jluy! I have described the what’s new on Visual Studio 2015 RC on the previous Visual Studio updates, now the RTM add this nice additions:

  • New support for high resolution icon for VS extensibility. This means VSX icon will scale nicely on high resolution monitors. There’s also Nuget package of Visual Studio extensibility, so VSX updates are less dependent on the standalone installer of VS SDK (like VS SDK before VS 2015)
  • Support for TypeScript 1.5. This also means support for features in ECMA 6, the current standard of Javascript.
  • Improved user account management of Visual Studio Online account and Git, also provide switchable profiles. Sweet!
  • Improved user account management for Azure AD, including supports for multiple Azure AD
  • Diagnostic tool that supports debugging of LLDB, GDB that usually used on GNU compilers. Now this addition requires some deep dive explanation, I’ll try to explain this on separate blog post after this Smile
  • Bing powered compiler help. Honestly, I haven’t tried this yet but I’ll try to tell my experience on this later
  • … and many more!

More detailed description is available at: http://blogs.msdn.com/b/visualstudio/archive/2015/07/20/visual-studio-2015-and-visual-studio-2013-update-5-released.aspx and also specifically at: https://www.visualstudio.com/news/vs2015-vs

Also there are videos to watch at the launch of Visual Studio 2015: https://channel9.msdn.com/Events/Visual-Studio/Visual-Studio-2015-Final-Release-Event

I encourage you to check those videos!

Visual Studio 2013 Update 5

Not much is new on this release, but these are the most notable additions:

  • support for Team Project renaming, including sync with local workspace. Sweet!
  • Additional query token of “current iteration”
  • Cloud based load testing. Sweet!! This feature is very worthy to have, as it’s easier to have load test in cloud instead of playing around with on premises load test.

For more information on VS 2013 Update 5, visit VS 2013 Update 5 release notes: https://www.visualstudio.com/news/vs2013-update5-vs

To download VS 2013 Update 5, go here: https://www.visualstudio.com/downloads/download-visual-studio-vs

 

Visual Studio Team Foundation Server 2015 RC2

Finally, Team Foundation Server 2015 (a.k.a. TFS 2015) is not just feature complete, but it’s nearing RTM release!

From Brian Harry blog post:

Our plan had been that the Release Candidate we shipped at the end of April would be our last public pre-release and that mid-July would be our RTM date.  About a week ago, I made the decision to change the plan.  Instead, we are shipping a “Release Candidate 2” now and will RTM as soon as we are ready after that.

This means TFS 2015 is not released at the same time of Visual Studio 2015 and it’ll be definitely released after Visual Studio 2015 RTM.

One thing for sure is that the support for team project rename is available on this TFS 2015 RC2, and it works the same as in VS 2013 Update 5.

To download TFS 2015 RC2, visit: https://www.visualstudio.com/downloads/download-visual-studio-vs

But by the time TFS 2015 RTM released, the download will be replaced by RTM version of TFS 2015.

Friday, May 22, 2015

Current state of Visual Studio releases [May 2015]

Hi my blog readers! I know, this blog installment should be out regularly at 19th or 20th May, but there are many things to be discussed and lots of excitements to be shared for you before I publish this. So please be with me Smile

This is the third installment of Visual Studio releases update. In this installment, again, there are many exciting news about Visual Studio!

Here they are:

  1. The release of Visual Studio 2015 Release Candidate (also called Visual Studio 2015 RC) on 29th April 2015
  2. The release of Visual Studio 2015 SDK Release Candidate (also called Visual Studio 2015 SDK RC) on 29th April 2015
  3. The release of Visual Studio Code (preview)
  4. The release of Visual Studio 2013 Update 5 Release Candidate on 28th April 2015
  5. Github Extension for Visual Studio 2015 release (it’s also available as an option when installing Visual Studio 2015 RC)

Now here are the breakdown of those above. A friendly warning: this is a loooong list, a little bit TLDR.

Visual Studio 2015 Release Candidate

As usual, if Microsoft releases a software that has RC mark, the RTM release is near: within 3-4 months. Yes, it’s at faster cadence as indicated by my previous blog almost 2 years ago: http://fsharpmonologue.blogspot.com/2013/07/current-state-and-product-lifecycle-of.html

NOTE: This meaning of RC thing may be only apply at Microsoft world and this is common at least in the last 14 years (since Windows XP). In detail, the release of RC means the feature is fixed. This simply means that there will be no new features for the next release for the RTM. The next release of RC can be RC2 or the release, usually (officially) named as RTM, or Release-To-Market.

Even at the release of VS 2010, this trend of faster cadence has stabilized. Yes, there was broken rule of semantic versioning between VS 2012 and 2013, and it was quite annoying. The new version of Visual Studio 2013 should be bringing more features instead of just minor updates and fixes.

Fortunately, Visual Studio 2015 has many good news:

  1. It’s not just a new release, it has tons of new features compared to Visual Studio 2013
  2. VS 2015 has Roslyn (VB and C# compiler as a service) built in. And it’s also open source!
  3. Because of the nature of opening Roslyn, the communities are actively influencing the development of Roslyn and therefore the proposals of features are rapidly introduced and many of them are very good!
  4. The Visual Studio 2015 family has different products, but the price will be lower than the previous Visual Studio 2013 with MSDN subscription offers. This also includes the next release of Visual Studio 2013 Community Edition, the Visual Studio 2015 RC Community Edition. There will be NO Visual Studio Premium with MSDN subscription for Visual Studio 2015, as the VS 2015 Premium is named as Visual Studio 2015 Professional. The original VS 2015 Professional offering is now Community Edition.
  5. CodeLens is available on Visual Studio 2015 Professional. Originally it was available only at Visual Studio 2013 Ultimate Edition since Visual Studio 2013 Ultimate Edition Update 2.
  6. The original Ultimate edition is now available named as Enterprise edition in VS 2015

The official announcement is available at Visual Studio blog: http://blogs.msdn.com/b/visualstudio/archive/2015/04/29/build-2015-news-visual-studio-code-visual-studio-2015-rc-team-foundation-server-2015-rc-visual-studio-2013-update-5.aspx

You can download Visual Studio 2015 RC (Community, Professional, Enterprise) at: https://www.visualstudio.com/downloads/visual-studio-2015-downloads-vs

VS_2015_RC_download

Visual Studio 2015 SDK Release Candidate

This SDK is released at the same time of Visual Studio 2015 Release Candidate. It is also contains the implementation of Roslyn integrated into the way of Visual Studio extension development.

You can also try the samples (included in the SDK) and experiment cool new features of Roslyn, such as building AST of the code (C# and VB only) and analyze your code.

One of the nice features of Visual Studio 2015 is the Light Bulb suggestions when you code using built in managed languages (VB, C#, F#, managed C++) and native C++. Therefore you can also build your own custom Light Bulb suggestions using Visual Studio 2015 SDK. For more information about custom Light Bulb development, visit: https://msdn.microsoft.com/en-us/library/dn903708(v=vs.140).aspx

The official announcement of VS 2015 SDK RC is available at the same Visual Studio blog entry above: http://blogs.msdn.com/b/visualstudio/archive/2015/04/29/build-2015-news-visual-studio-code-visual-studio-2015-rc-team-foundation-server-2015-rc-visual-studio-2013-update-5.aspx

Visual Studio 2015 SDK RC can be downloaded at: http://www.microsoft.com/en-us/download/details.aspx?id=46850

Visual Studio Code

A new Visual Studio family is here! It’s very light, free, and cross platform!

Now why I emphasize this? There has been a strong image that Visual Studio will never have lightweight editor that runs on OS other than Windows!

What is Visual Studio Code, really?

It is simply a lightweight development editor but with intelligent features partially borrowed from a full big IDEs such as intellisense, code completion, keyword highlights. It’s based on Omnisharp, a lightweight editor that is also open source. The web development editing part is based on Electron, a subpart of Atom which is also open source. Omnisharp itself is an Atom package that provides C# and ASP.NET support.

At the time of this writing; Visual Studio Code isn’t yet reached RTM. The initial version number is version 0.1.0.

This is the official home page of Visual Studio Code: https://code.visualstudio.com/

One more thing, I have mentioned cross platform! Because Visual Studio Code runs not just on Windows, but it can run on Linux Linux 64-bit, and MacOS.

To download the current Visual Studio Code, you can get it at the landing page (home page) above.

Visual Studio 2013 Update 5 Release Candidate

Yes, you got it right: it’s another update for Visual Studio 2013 after Update 4.

Now what does this Update 5 have? Actually, it’s simply Update 4 with numerous bug fixes and a small additional feature, including these notable bug fixes:

The additional small features are:

  • Team Project rename support for Team Foundation Server (on premises). Visual Studio Online also has this feature.
  • A new query token for query iteration: @CurrentIteration (it is case sensitive name). This feature is previously available on Visual Studio Online since March 10. See https://www.visualstudio.com/en-us/news/2015-mar-10-vso.aspx

NOTE:

This update is the last release of Visual Studio 2013 update, so there will be no next Visual Studio 2013 Update after Update 5.

Github Extension for Visual Studio 2015

There is support for GitHub built in, not just Git repo support since Visual Studio 2013 initial RTM release. This extension is available as an option when installing VS 2015 or as stand alone installation.

Not just GitHub, but initial feature of pull request, merge, diff, sync, graph is also available.

This is the announcement from official Visual Studio blog: http://blogs.msdn.com/b/visualstudio/archive/2015/04/30/announcing-the-github-extension-for-visual-studio.aspx

The picture below is taken from the blog entry:

4048.BUILD2015-GithubExt-Team Explorer

To download stand alone installation of this GitHub extension, visit: https://visualstudio.github.com/?CR_CC=200627595

Monday, May 11, 2015

Speaking on Lambda Jakarta: welcoming new Lambda Jakarta meetup member, new organizer, platform concern, and more

Lambda Jakarta meetup time! Now the meetup is themed “Casual Meetup”. This meetup is now located at Starbuck, at Tebet Green Mall on May 9, 2015.
The meetup is casual, as currently we didn’t have defined talks to be delivered but we have free topics (about programming language, of course) and still mainly focusing on functional programming.
For the detail on this meetup, visit the official event page: http://www.meetup.com/Lambda-Jakarta/events/222067797/

Agenda on this meetup is themed basically on these:
  1. Announcement of new organizer, handled from Abdullah to Tino (a.k.a. “Kusut”)
  2. Planning for the next meetup to have some presentations for next meetup. Again, I voluntarily for the next meetup
Without further ado, let’s welcome Kusut as the new organizer! Kusut has been around for more than 6 years in programming. Currently he has been fluent in Python, Ruby. For the last 2 years he began to dive into Haskell, with the help of Abdullah and Erik. By the way, Erik was one of the original founder of Lambda Jakarta meetup.

UPDATE 1: The original founder is Abdullah, Kusut and Asep. Thanks for clarifications, Erik :)

We welcomed new members: Rezha, Irvan and 2 more (sorry guys, I can’t remember your real names). Reza is still undergraduate student, with a passion to learn more than just OOP and procedural programming languages in his study! Irvan is still working at Traveloka as team leader and also software architect.
This is the picture:



The total of attendances was not so many, it was about 15 attendants. But we have so much fun discussing what happened in programming language world, and we agreed that we will touch more on platform.

After we introduced ourselves, we had topics to discuss. As always, I was happy to answer and discuss more on F#, .NET and platform relevance.

Platform (runtime platform) concern


Platform in this sense is platform in a sense of runtime platform, either .NET (and its Mono on Linux/UNIX) and Java. True that we as Lambdas love Haskell, but Haskell itself can’t be considered as true platform on its own. I shall focusing on the runtime virtualization platform on these two: .NET and Java.

Non runtime virtualization is usually native and closer to metal, like Win32, Bash, Csh, ObjectiveC, and many more (including DirectX, device driver).

A simple illustration about this native versus virtualized is:



Now you may wonder, why .NET/Mono apps (and hence Java) called managed? Because they have their own virtualization on top of the native OS runtime.
Therefore this bring these consequences:

  1. Applications has their own shared virtualized runtime, often in some isolated fashion (in modern OS such as Windows Store Apps in Windows 8.0 and 8.1)
  2. Memory, I/O, and other side effects are managed as abstracted from the underlying native OS. Often the virtualization provides some mechanism to access native OS API. Some example of this is the use of P/Invoke within .NET apps and JNI within Java.
  3. These abstractions can add a little overhead to the performance, but this is by design. This also brings more room for innovations such as cross platforms (in a sense of running on other OS platform). We see in real world as Java and .NET/Mono, that runs on Windows and Linux/UNIX/MacOS.
  4. When these virtualized apps run, not just in a managed environment but most of them are often well behaved as they often have a little knowledge of how they run in parallel according to the underlying OS. Therefore there are no simple or definite way to provide one-on-one performance profile on many OS. This is why (again) managed applications are mostly not geared for performance when compared against native applications.


Now that we understand why they are managed, it’s time to understand implications on the functional programming world. We know that Scala in Java and F# in .NET/Mono are the strong contender for the managed programming languages that also functional!

But then, at the core of those platforms, the virtualized platforms matter itself. The choice between Java or .NET is still not easy, as each platforms has their own advantages over the others.

Platform (runtime platform) choice


Why the choice of the runtime matters more? Because there’s no easy interoperability between the two major platform.

My own choice? The answer is complicated, but for those like me that already has enough manhours spent on these two, the clear winner (although it has its own disadvantages) is .NET.Let’s dive into the current states of Java as runtime.
Java 8, the latest incarnation of JDK, has these:

    1. Generic support (using type erasure strategy) since JDK 1.4
    2. wildcard for covariance/contravariance relaxation, but it’s still partial due to type erasure
    3. rich type reflection through bean descriptor and class mechanism (explicit setter and getter)
    4. No tail call support yet


    .NET 4.5 has these:
    1. Generic support using type reification strategy since .NET 2.0
    2. support for STRUCT type (value type as .NET called it)
    3. Iterator since .NET 2.0
    4. Parallel support since .NET 4.0
    5. Covariance/contravariance in generics
    6. rich type reflection through inherent setter getter with properties
    7. tail call
    My main reasons in deciding that .NET is the winner are the type reification, STRUCT type, and the covariance/contravariance support. There are also minor comparing factor such as Lambda statements in Java, but this is not a true comparison as Lambda is truly language feature, not runtime feature.
     
    Curious about type erasure? Read this from the official source: https://docs.oracle.com/javase/tutorial/java/generics/erasure.html

    But for me, the most decisive factor is the use of type erasure in Java. It’s quite annoying because the type information can’t be ensured at runtime! This is the big issue in Java that is a big disadvantages compared to .NET. It’s also a wrong decision at start, for the sake of compatibility.
    This matter of type erasure choice has its own backup supporters, such as this guy in a blog post for example. But still in that article, he also mentioned that it’s still a wrong decision.
    Further implications? Many! The nature of functional programming languages are strong type everywhere, including generic supports. This weak generic support of Java can make even Scala losing its backers in long run as it doesn’t fit for strong functional programming runtime.
    Hey, I’m not Java haters! I’m still a polyglot developers, and I still have high hope for Java. For Java 9, there will be a support for STRUCT type, and Java 9 will be the starting point to support type reification, by paving the way for STRUCT.
    This means that we’ll see type reification after Java 9. But the exact release will be further decided by the community and Oracle. Don’t be excited first, guys.

    What about Haskell?

    Unfortunately there’s no definite answer about this. We still don’t know yet about mature support of Haskell in Java or .NET. There is GHC for .NET, but this support is still far from mature and stable although it was developed by Simon Peyton Jones, the same guy developed GHC.
    My big intelligent guess is: there’s no direct support for type classes in the runtime, and it’s also quite hard to implement pure functional language boiled into the managed runtime. Try implementing Haskell’s IO monad using the managed runtime, for example. You will find it quite hard even for long time .NET developers.
    That’s it, folks! Can’t wait to attend the next Lambda meetups!
     
     

    Thursday, March 26, 2015

    Current state of Visual Studio releases [March 2015]

    Hi, my blog readers!

    This is the second installment of Visual Studio releases update information on March 2015.

    For complete series of Visual Studio releases update of my blog, go to: http://fsharpmonologue.blogspot.com/search/label/Visual%20Studio%20release%20state%20update

    For March 2015, we have exciting news about Visual Studio! There are:

    1. Visual Studio 2015 CTP 6 (February 2015)
    2. Team Foundation Server 2015 CTP (February 2015)
    3. Tooling SDK of Windows 10 (official name: Visual Studio Tools for Windows 10 Technical Preview2015

    This update is a little bit late (it should be on 19th or 20th March), as I was keeping up with the streaming broadcast of dotnetconf 2015.

    The dotnetconf 2015 is an online conference for all of .NET update including .NET Core, WPF, ASP.NET, Roslyn, F# and many more!

    Didn’t have time to watch? Watch or download offline at: http://channel9.msdn.com/Events/dotnetConf/2015

    ENJOY!

    Now, here are the updates…

    Overview of the updates on March 2015


    Now let’s dive into those three above!

    Visual Studio 2015 CTP 6

    Visual Studio 2015 is at CTP 6. The CTP marks that this release is not for “go live” or for production environment. I will keep stating (or reminding) this as many of you, blog readers, including my friends are confusing the CTP for production environment.

    This CTP 6 contains these notable features and improvements:

    • UI debugging tool for XAML
    • Single sign in (with integration to other cloud based authentication)
    • Code Lens improvement for Git and also with support for C++, Javascript, and SQL script
    • Code Maps improvements such as filtering, faster display (faster diagram rendering) performance
    • Visual Studio tools for Cordova now supports Android 4.4 and 5.0 (Lollipop)
    • Javascript editor improvement: support for // TODO comments, object literal intellisense
    • and many more!

    For complete list of CTP 6 release notes, visit: https://www.visualstudio.com/en-us/news/vs2015-vs

    The official blog that described this release is available at:

    http://blogs.msdn.com/b/visualstudio/archive/2015/02/23/visual-studio-2015-ctp-6-and-team-foundation-server-2015-ctp-released.aspx

    With the release of CTP 6, it’s expected that Visual Studio 2015 is nearing the release of Release Candidate. This assumption is safe unless there is a notable bug needs to be fixed.

    Special notes:

    • The UI debugging tool for XAML in CTP 6 only supports WPF. Support for Windows Store app will be available in the final release.

    The UI debugging is surely a very useful feature:

    Please check up the original blog post of Visual Studio for more detailed explanation: http://blogs.msdn.com/b/visualstudio/archive/2015/02/23/visual-studio-2015-ctp-6-and-team-foundation-server-2015-ctp-released.aspx

    Well.. I suggest you should download the ISO instead of using web installer to minimize error while installing this CTP, since the download is more than 4GB.

    Team Foundation Server 2015 CTP

    Team Foundation Server 2015 CTP is the next release after the preview release (the same time at Visual Studio 2015 Preview public release).

    There are not so may improvements, but the improvements are mostly worthy to be considered:

    • REST API support for TFS (previously only available for online TFS, Visual Studio Online)
    • Team build improvements, including preview on MSBuild activity on TFS web portal (when accessing TFS via web) and cross platform builds (YESSS!! not just on Windows, now on Linux, XCode, and Android)
    • Assign and invite testers
    • and more (although it’s not so numerous)

    The assign and invite testers is very helpful. Now you can invite testers, attached with the test suite number to test.

    This is the screenshot from VisualStudio.com website (link below):

    vs2015_testers_invite

    Those  screenshots are taken from the notable release notes of Team Foundation Server 2015 CTP. The official link is:

    https://www.visualstudio.com/news/tfs2015-vs

    Personal note on TFS:

    Compared to other ALM product such as SVN or even commercial one such as StarTeam, TFS has widen the competitive edge. But compared specifically to IBM Rational UrbanCode coupled with IBM Rational Team Concert, TFS is quite on a par to IBM’s.

    Visual Studio Tools for Windows 10 Preview (a.k.a. Tool for Windows 10 Preview)

    Before you proceed, please read and notice my friendly reminder below.

    If you want to try develop apps in Windows 10 Preview, this tooling is the one that you must install after you install Visual Studio 2015 CTP 6.

    Why, because Visual Studio 2015 CTP 6 is the prerequisite of this tool.

    Yes, the latest Windows 10 Preview on March 2015 is also available to be downloaded! But it is available after you join/register first for the Windows Insider program. Don’t worry, it’s totally free! Just go to this official site: http://windows.microsoft.com/en-us/windows/preview-faq

    If you are done installing, there will be a new template for Windows 10 UAP (Universal App Platform) projects, not just the usual Windows 8/Windows 8.1/Windows 8.1 (phone) Universal Apps.

    To bring you quick peek, I copy picture from Microsoft’s Somasegar’s blog on Visual Studio Tools for Windows 10:

    vs2015_template_npd-win10

    Here is the original location of Somasegar’s blog entry: http://blogs.msdn.com/b/somasegar/archive/2015/03/23/visual-studio-tools-for-windows-10-technical-preview.aspx

    Now what are you waiting for? Code right now, guys! :)

    Tuesday, January 20, 2015

    Current state of Visual Studio releases [January 2015]

    Hi my blog readers!

    Begin with this date, I will post Visual Studio updates every 2 months: January, March, May, July, and so the next 2 months.

    The update from me will always be released on every 19th or 20th bimonthly.

    On 19th January 2015, these are the updates of Visual Studio (from the latest in January 2015 goes back to December 2014):

    • Visual Studio 2015 CTP 5
    • Visual Studio 2013 Update 5 CTP 1

    Overview of the updates


    Visual Studio 2015 CTP 5

    This is the 5th CTP release of Visual Studio 2015. Reference:

    The updates on this release are new features and bug fixes. These are the new features:

    1. XAML Language Service
    2. Timeline tool (for WPF and Windows Store 8.1 application)
    3. Diagnostic tool
    4. ASP.NET

    There are bug fixes (for bugs reported in earlier version of Visual Studio 2015 CTP/Preview): http://support2.microsoft.com/kb/2967191

    For more information about VS 2015 CTP 5, visit this page: http://www.visualstudio.com/news/vs2015-vs

    Visual Studio 2013 Update 5 CTP 1

    Yes, there will be another update for Visual Studio 2013! Personally, I thought Visual Studio 2013 Update 4 was the last update and I was wrong.

    Visual Studio 2013 Update 5 CTP 1 brings only two updates:

    1. Technological improvements on debugging for DirectX 9 PS 3 depth support (DirectX 9.0c) on Windows Phones
    2. Bug fix on notification hubs

    For #2, the bug (and also the fix) is described as:

    FIX: You cannot dismiss developer license notifications in Visual Studio 2013 Update 4

    Let me elaborate more on this bug. This bug is available since Visual Studio 2013 Update 4. After you successfully install Visual Studio 2013 Update 4 (either standalone update or as included installation of fresh installation of Visual Studio), a notification about acquiring developer license would always appear, even after you dismiss it and open another project.

    For full explanation about this bug, here is the original MS KB article: http://support.microsoft.com/kb/3018885

    For more information about Visual Studio 2013 Update 5 CTP 1, visit this MS KB: http://support.microsoft.com/kb/3021976

    See you again in two months Smile