Connect2015 – keynote from the room

#Connect2015Connect2015 – this was bigger than Build: the number of announcements, the number of demos, the number of speakers and partners were close to jeopardize the bigger brother conference. Hence, I'm trying to cover the event – as it was little (?) overwhelming, I'm not trying to nicely structure it despite my plan to do that 🙂

Connect2015 day 1 started with being seated on time – big achievement compared to previous events! (I have to admit; the nice white cushioned sofas seemed to be rather comfortable at that time; however 3 hours later were rather a torture device). In the first few seconds we were greeted by no other than Steven Hawking, and ACAT was announced – http://01.org/acat – adaptive fine-tuning of learning capabilities. How unprepared were we for the rest of the day – more than 60 announcements packed into just three hours really took its toll. In a few minutes we got the Scott overload (S. Guthrie and S. Hanselman), and learned that ASP.NET 5 RC1 is out with .NET Core and has a Go Live License – meaning we can go to prod with asp.net 5 on windows OR linux and Microsoft AND RedHat will support you. Easiest to acquire is through http://get.asp.net – try to visit it from your mobile device 🙂 http://docs.asp.net got refurbished as well – hosted and built at ReadTheDocs using Python and Sphinx and managed as source in GitHub using reStructuredText.

#Connect2015In the next 5 minutes of the keynote we were able to tick out "publish to a Linux docker container in azure to run asp.net 5" from our todo list app (see Azure SDK 2.8 and support for Docker Tools for Visual Studio, Windows Containers, and Service Fabric) – and we learned "This is when you applaud". We seen Node.js Tools 1.1 for Visual Studio updated (works with the free visual studio for community version!), the python support updated (turns out that the VS.NET brand do resonate well outside Microsoft community as well and the usage along Python developers is growing), with R support in both IDE and SQL Server coming – music for my ears. If Visual Studio is mentioned, I cannot go along without mentioning that Visual Studio Code is now Open Source (we saw Erich ‘Eclipse' Gamma opensourcing it on stage) and a new Beta that supports extensions is out now, with TextMate bundle support. Also, extensions are asked to well behave and to isolate well on both code and full studio – this is a good news, supported through open sourced extensions that can be mined for best practices.  And Visual Studio news are still on: PHP support with navigation, minimal install option, open folder support, personalized install based on previous install (configuration stored in cloud), all these part of VS VNext which would come through one of the channels around you – and yes, the unified installer giving you option to select whether you want to go the ‘fast' or the ‘slow' channel and also giving you option to go VSCode, bringing the install experience to be leaner, faster, smaller. Btw, with S. Hanselman ("developers got a new super power: cloud!") it did get personal – we saw what real IoT is: it's not about an accelerometer or measuring temperature, rather based on the Nightscout Open Source CGM Project and many actual physical components we could see Scott's sugar level live ("you are normally sugared people"), while getting alerts on the band, on the phone, on the website, on the cloud, using C#, Javascript, C++ ("People wearing suite – this is C++"), all using coherent VS.NET experience. Also, instead of doing another ‘Contoso' we could see ‘connected Health Clinic', pulling data from simulated bands, showing service fabric, micro services, azure machine learning, and to see who is the number ONE Hanselman Stress Index cause. I have to mention, I did know about the ‘glimpse' open source project (next to application insights and browserlink), but the level of integration we saw was very nice!

We learned about C# as well from Anders Hejlsberg – we could see how pattern matching, overloaded switch/case, etc. could be implemented in the language. And of course it was all about TypeScript – watches, breakpoints, debug console, AND: PASCAL ON STAGE! Child hood memories.

One of the upcoming demos brought together Jules Kremer, Anders and Scott Guthrie – geekfactor overload, Google on the stage at a Microsoft venue! We saw the tons of extensions for VSCode as mentioned above – Chef, F#, Jasmine, React, Go – you just name it. And another Visual Studio member – Online – just got renamed – it's rather hard to keep up with all the announcements (grokking cloud code, anyone?)! It's coming with android and ios pipelines, MacInCloud support: build, deploy and test in the cloud (MacinCloud VS Team Services agent plan)! The plan is currently in preview at $30/month per agent with *no* limits on build hours. You'll still need Apple Developer Program to obtain certificates and the provisioning profiles to build and release your app, but a MacInCloud agent can be used with the *free* tier of Visual Studio Team Services through its one complementary "private" agent slot. Also, IntelliJ support for the new VSTS services, support for different git flows, JMeter support etc. So, as I saw – Visual Studio Team Services DevOps story: flexible, simple, but strong! Cloning environments, assigning approvers, Jenkins support – Donovan is in his best even in the 4th quarter! And – another edition of the Visual Studio goodies, but this time with license for Parallels, Azure credit and more – Visual Studio Dev Essentials, and it's free! And what if I need the full Visual Studio but for only a month? New cloud subscription options available. And another new related announcement – Extension gallery was converted into Visual Studio Marketplace! With not only addons for Visual Studio, but also languages, linters, color themes, snippets, debuggers and more for VSCode and bunch of plugins, build steps, etc. for Visual Studio Team Services (previously Online). Lost in the free offers? Go to https://www.visualstudio.com/products/free-developer-offers-vs and learn 🙂

Next Kevin Gallo was on stage: Multi channel, multi screen app delivery is the important message – with JavaScript (through Cordova) and with C# (through Xamarin) and with C++ (through Airspace). Sharing 80% of code between devices – despite seeing continuum demos from time to time, still Kevin's continuum demo left everyone speechless. We could get a glimpse of edit & continue for UWPs, with the XAML editing coming later. We got confirmation for Visual Studio 2015 Update 1 coming on 11/30 – just a few more days for some of the goodies! What about TFS? With Team Foundation Server, new features include dashboards that provide visibility to a team's progress of work, code, tests and builds, Git and Team Foundation Version Control in the same team project, the ability to query Kanban columns and SonarQube Analysis build tasks work with on-premises and hosted agents. Brian Harry will let you know all about TFS 2015 Update 1 on his blog also on November 30th – sneak preview was http://tfs-timetracker.com which can run in TFS and on VSTS, and realtime kanban editing and process customization experience.

Microsoft were also excited to announce that Visual Studio 2015 Update 1 will include Xamarin 4 support, providing an end-to-end solution to build, test, and monitor native mobile apps at scale with Visual Studio. It includes updates to Xamarin Platform, notably rebuilt support for developing iOS apps in VS, making it more convenient to build, debug, and deploy Xamarin.iOS projects from Visual Studio. It now uses the new SSH-based connection to simplify the Visual Studio-to-Mac network connection and provide a faster, more reliable connection over a well-known port. It is a rather big release, with the Xamarin team investing hundreds of hours to improving the performance and stability of mobile development in C#.

I don't remember exactly when, but sometime along the line also Microsoft Graph was released http://graph.microsoft.com, along with extension to debug native code on devices with the free Visual Studio GDB Debugger Extension, also coupled with http://visualgdb.com for Raspberry PI, Android native and Linux kernel debugging, and with http://www.visualmicro.com which is for Arduino boards and similar. Free Azure Storage Explorer at storageexplorer.com that runs on all Oss, the Azure Service Fabric and the Azure Dev/Test Labs both available in public preview – did you know there are 28 Azure regions, more than Google or AWS? And now we have country operated regions, like ‘Germany' meaning that it's operated by the relevant authorities meaning no softie is on ground there ever? Also, seen the number of pledges from authorities, they were in the multi dozens.

Amanda Silver did steal the show (after it was stolen by Scott, Paula and Donovan) showing UI adaptation between Android, iOS, Windows phone, desktop, Apple watch, Microsoft Band, just wow. iOS and Android designers? Storyboard support?? Support for SpriteKit, Ionic, having support for Xamarin Mac agent? Overwhelming. Plugin support through nuget, bower, npm, cordova – you just name it. InTune plugin and push support plugin for cordova demoed on stage – very tightly packed demo. Than came the ‘Microsoft tech to build Android app on a Mac' point (Visual Studio Emulator for Android for Mac, on similar topic, Marshmallow (api 23) support would be added to the windows version) – which company's event I'm at, again? And than came: a chrome plugin for perfecto mobile for visual studio team services to reproduce issues on the physical device in the cloud? Mindboggling. We saw HockeyApp from Donovan, very nicely integrated into the overall experience.

What does the keynote mean? It means that you do build basically whatever you want, however you want, whenever you want. You can use your favorite tools (you dig VSCode or vim?), the OS you like (Mac, Linux, even Windows 🙂 ), and the languages you like (Pascal anyone?). VSCode on a Mac doing Node and deploying to Azure, compiling the android app on the Mac? You can do it! ASP.NET 5 with C# to Docker Containers in a bunch of VMs created in Azure and managed with Microsoft Operations Manager? You can do it! And on and on. Node.js on VSCode or VS, C to Raspberry Pi's in C(++) in VS, whatever you like.

In a one liner summary: It's a different Microsoft now!

I'll continue with a second post covering the Developer panel and another covering FSI DEVCONNECT which was another Microsoft event yesterday. 

What kept me busy recently #4

I used to make a summary of some of the happenings around me from time to time – especially when I have a hiatus in this blog. The reason for the hiatus? Good amount of work 🙂

So, what actually kept me busy in the last month?

  • Work to get screenshots and information out for the Microsoft Build Conference 2014 (grows on click)
    Microsoft Build Conference 2014 slidedeck 
  •  Hiring people in various regions – still there are openings 🙂
  •  Helping the (re)forming of the multi-channel delivery of the coherent UI platform that covers different technologies and media – just as mentioned in Merging of UI strategies

Merging of UI strategies

Haven’t written to the blog for a while (just posting links to the facebook page) – reason is the best worst: work 🙂 But indeed, this is a good kind of work. Recently, as part of a streamlining step, my team was repointed to work inside a larger organization – namely Client Platform Engineering. So, what does such a merge allows us – me – to do? What is (a) Client Platform, indeed?

Let’s dream big (I like doing that – dreaming of platforms and architectures generally makes you happy). You are developing applications for clients. You are developing a platform for building such said applications. You make it easy to comprehend but hard to cope, trying to cover all flavors – from mobile to tablet to desktop to desktops and in-between. You want to provide best of the breed in terms of performance and flexibility and nativeness; but indeed you want to keep up the good developer productivity. So what you come up with? A multi-flavored beast in my case. The product I’m maintaining is actively being developed, being backward compatible with dozen+ existing platforms, multiple form factors, and still look classy (look’n’feel is not everything but it’s something that makes sell things easier – old saying but does apply). Sometimes we are bending hard to bring in existing (legacy) codebases with ease (ease from the side of providing the backward compatibility to bring them over and the automatic live conversions to make it look and behave like the rest of the modern application pieces we have), but the flexibility we achieve on being able to bind together message buses from different platforms transparently pays off very quickly. If you are interested in participating on dreaming up such a platform, don’t hesitate – the career site awaits you 🙂

C++, Optimus, Bjarne, …

Bjarne StroustrupHad rather pleasent experience in the last few days – C++14 and C++17 session with Bjarne (who could introduce C++ in 4 slides, amazing skill), and a session about Optimus, which is a global project within my group to develop a new, cutting edge solution for applications across all areas of the firm, and as such it covers a number of technologies including object stores, bitemporal data representation, graph processing, query languages and UI.

Conferences on a diet?

I haven't been to many physical conferences recently – reason is, why should I go there? I can watch the session from a far more convenient place – my PC, my tablet, my couch. I can stop, rewind, get closed caption, take a snapshot. If it's a modern conference, I get realtime discussions, feedback, some cases can even post questions to the presenter if watching realtime. So, what do I miss if I'm watching from home? Yes, I miss the food, the clinking glasses. Yes, I miss the collaboration possibility as well. But yeah, if I'm on a conference, I'd not spend time collaborating, as I paid for it. As some of you might know, I'm planning to resurrect Architecture Forum in Hungary, and I'm struggling, in which format should I do it (btw, if you do have capacity to help in sitebuilding the design for the site, don't hesitate to contact me). So, how would your dream conference look like? Does it have many parallel sessions (like the PGSQL conference where Scott (who is my mate here) is keynoting)? Is it a virtual one? Does it have designated time and place for discussions? Or is that interweaved? Is it an unconference without long presentations (more like a meetup)?

My ideal one is a composite of all of this. Having some prerecorded sessions a few days before, have a relevant keynote. Break into 3-4 streams, each doing 15 min sessions, and probably one full hour near the end. Than give a space and time (and tools) for people to self-organize themselves. And what is yours?

Reddit meltdown and the agnostic cloud

Today's reddit meltdown did spawn some funny comments (like this), but did brought my attention to the fact (especially taking into account statements like this) – how much we do depend on the cloud provider? Is it fair to say, that the cloud is the new single point of failure?

I think – yes. The question is not AWS vs Azure vs Rackspace vs my own. The question is how I do balance the loss of one or more of these – yes, I'm speaking about cloud lock-in. So, take IoC to the next level – inject cloud specific implementations based on which cloud you run in. And on the how to manage this – who is watching the watchers? Let's take granted, that you trust the DNS (there is a reason why you need two servers in two subnets…), so it comes back to watching the capacity, the health of the cloud, the health of the other watchers, and the ability to switch quickly.

Is it easy to build such a thing? There are specific solutions for specific usecases, like GreenButton for MPI/Parallel/Map-Reduce cases, Dell Cloud Manager for managing VMs, but – and waiting for suggestions in the comments; do you know a good cloud agnostic solution?

Xamarin – it’s just amazing

Yes, one of the promise of .NET was that write once, run everywhere. Yes, Java has managed to actually pull this out. Than comes Xamarin. These guys (with Miguel Icaza, who I happen to know in person since 2001 probably – I still has his business card from that time :D) are just AMAZING. Write once as a portable library, and run as a windows store app, a wpf app, a web app, a windows phone app, an iphone app, an android app, a mac app – possibilities are just endless.

So come Nokia, creating Nokai X, which happens to be an Android phone, but with windows phonish UX, and with Xamarin that means… I can run C# on Nokia X, and port my windows phone app to Nokia X like a breeze. So, would I buy a Nokia X, X+ or XL? I don't know, but the possibility is there.

Links I posted No. 1

Posted the following links to https://www.facebook.com/MountGellert :

 

Interviews with a glint in the eye

Just recently did I (re)start doing interviews for the positions we have open (from java to C++ to Scala etc.), but I already started enjoying them. Whenever it's a junior position – a grad, an intern – or a lateral, senior position, usually after the first two minutes I can tell whether someone would fit to my group – it's not a particular question or topic. It's more the presence of a given glint in the eye that tells the candidate is a kind that likes to look under the hood, does not accept an answer without an explanation – e.g. she/he is someone that would fit the team. Recently I came across a link on mashable about a few questions to ask yourself before accepting a job; here is my view on the topic:

"Are serious goals being sacrificed?" – my goals were having a team, but still code as nuts; use cutting and bleeding edge technologies but do have a safe net (startups not being the safest nest while having family to take care). By having extensive possibilities to do flexible work arrangements, overall I do see a strong overlap between what I aim for vs what I get. And yes, career is moving forward as well 🙂

"Is there an opportunity to expand your skills and experience?" – wow, so many things I learned, and as far as I see will do in the future as well: whether it's about designing database engines and schedulers, language design or creating a new mashup technology – I'm always supported to try out the newest and greatest. And to fail early and often if I'm on a bad track 🙂

"Does it meet most needs?" – fits my lifestyle, supports family; what else would I long for?

"Imagine working for the company" – before I joined my employer, I could hardly imagine myself working there. It wasn't the dress code, the culture or anything specific. It was the lack of knowledge on what is there. So next time someone wants to introduce you her/his company, listen!