TypeScript

Ignite Australia 2017

Microsoft Ignite Australia 2017

This month I had a pleasure to speak at Microsoft Ignite conference in Australia.

My talks

I updated my talk about the Azure Portal with more performance tips & tricks, and one of the most important thing I learned while working with the Azure Portal Team: the Data Driven Approach for making decisions and improving product.

I got very positive outcome during and after my session:

Azure Portal talk recommendation

 

Azure Portal - performance tricks

 

Azure Portal - Future Stack

 

I also updated my TypeScript talk with yarn (faster and better npm), and webpack (module bundler that can also compile TypeScript to JavaScript, minify it, optimize it and much more).

 

After my talks I’ve been interviewed by Duncan Hunter on Azure Portal and Building Large Scale Web Apps with TypeScript:

Recommended sessions

I personally attended, and watched later (after the conference), a few good talks. From what I’ve seen I would strongly recommend (in addition to my sessions of course):

The Technical Debt Prevention Clinic (Richard Banks) – great talk on distinguishing technical debt from bad code, and strategies to avoid bad code
Microservices, Docker, .NET, Windows, Linux, Azure. Oh, My! (Richard Banks) – awesome intro to Docker+Azure (if you haven’t check Docker yet)
Applied Azure: Building a Large Scale Real World Application on a Coffee Budget (Troy Hunt) – nice overview of different Azure’s offerings (did you know that New Relic is free with Azure App Service?)
Ten Things Every Expert Xamarin Developer Should Know (Glenn Stephens, Kym Phillpotts) – 10 good to know things if you are building apps with Xamarin
Building Azure Connected Mobile Client Apps (Glenn Stephens) – high level overview of building Xamarin apps with Azure
CQRS Secrets: How to Support Scalability and Performance (Richard Banks) – great intro to CQRS, from why to how
Blockchain 101 & Azure Blockchain as a Service (David Burela) – new hot thing from Azure
Blockchain Development on Azure Blockchain as a Service (David Burela & Chris Zhong) – deeper dive
30 Terrible Habits of Server and Cloud Administrators¬†(Orin Thomas) – BEST VOTED SESSION OF THE CONFERENCE, title says all, and it also relates to developers’ habits

Summary

Microsoft Ignite Australia was very well organized conference. I had a pleasure to meet a lot of passionate and curious people there. If you are a speaker or developer looking for a good conference, I strongly recommend you to go. If you are not from Australia, don’t forget to take melatonin for 14h+ flight ūüôā Oh, and the location is great too!

Gold Coast, Australia


The taste of Netherlands: Tech Days NL in Amsterdam

TechDaysNL 2016

Earlier this month I had a pleasure to attend Tech Days NL conference in Amsterdam. It was very well organized conference.

I had opportunity to meet with many passionate developers. I met Bart de Smet. He is a C# Ninja who works for Microsoft at Bing Team, but he also C# compiler contributor. If you are C# passionate, like I am, I really recommend you to check out his talks. I also met¬†Gil Cleeren (author of a few awesome Pluralsight courses about Xamarin, and organizer of Techorama conference), Roy Corneliasen (Xamarin MVP who is building mobile apps while working for Xpirit), and Mike Martin (Azure MVP). Check out their sessions as well! I’m looking forward to meet them again at MVP summit in Redmond this November!

Third time this year I spoke about the Azure Portal Architecture. I had to shorten my VSLive session from 1:15h to 45 mins. So if the VSLive session was too long, and too much of commitment for you, check out my Tech Days session ūüėČ I gave a high-level overview of our architecture, technologies we are using, our deployment approach, and lessons learned over last 2 years: performance tips & tricks, how to avoid regressions, and how to handle them when¬†they happen.


Compiling TypeScript files on Azure Web Apps

Your TypeScript project shouldn’t have JavaScript files in the repository. It may be problematic when you want to deploy your site from¬†git repo¬†on Azure Web Apps. You may consider adding some custom scripts, but there is a better way: use npm postinstall.

I have created a simple TypeScript project, put it on github, and deployed to tscpostinstall.azurewebsites.net

You can check out how to deploy Azure Web App from github in one of my Azure Tips & Tricks videos:


Azure Portal – the largest Single Page App in the World

Azure Portal - dashboard

Last week I had a pleasure to attend and present the Azure Portal insights at the Visual Studio Live conference in Redmond.

Throughout the conference, 5 sessions were being presented simultaneously, and 1 session was being streamed live. My session was chosen to be streamed live, and is now available on channel9:


I updated this session since the last time when I presented it at NDC London. I restructured it, added more demos, and new section with performance tips&tricks that you can apply in your project. I encourage you to check it out!

I received a lot of great feedback after my session:

Visual Studio Live session feedback (Hanselman)

Visual Studio Live session feedback

Now, I am waiting for YOUR feedback. Leave it in comments or tweet me at @JakubJedryszek. What did you like, what did you not like, what would you like to see that I haven’t show?

You can also check out other recorded sessions from VSLive at channel9.

I really enjoyed this conference. I had opportunity to meet many interesting people with passion in Software Development. From marketing people, through Software Developers, to CEOs and CTOs.

Interesting fact I learned from two gentlemen working as Software Engineers at Panama Canal: it cost hundreds of thousands of dollars to cross the Panama Canal once!

Panama Canal


ConnectJS and All Things Open

Last month I had a pleasure to speak at ConnectJS and All Things Open conferences.

ConnectJS

ConnectJS 2015

ConnectJS was not only about JavaScript, but about web development in general. There was even track dedicated for UI Design and User eXperience. The most popular during the conference were talks about ES6/ES2015 and React.

I delivered two sessions:

TDD with TypeScript, AngularJS and Node.js

// video coming soon

Code

Aurelia – the next generation Framework you will love

// video coming soon

Code

I addition to my talks I attended the following sessions:

Everything I Needed to Know, I Learned in Rabbinical School (Yitzchok Willroth) – this session was about sharing knowledge, and cooperation between developers. One thing I noticed, not only at conferences, but also at local meetups in Seattle area is that many people would like to go and speak at the conferences, but “they aren’t doing anything interesting in day-to-day job and they are not expert in anything”. They should have been at this session. Yitzchok was explaining how you can help others, and engage in Open Source. Moreover, he emphasized one, simple truth: every developer has something interesting to share.

Building Web Sites that Work Everywhere (Doris Chen) – very useful overview of web compatibility problems, and recommendation of tools that can help with that, like Autoprefixer. I also liked the quote from Patrick Lauke: “The userAgent property is ever-growing pack of lies”. Doris recommended that¬†we should prefer feature detection over relying on userAgent strings.

Re-evaluating Front-end Performance Best Practices (Ben Vinegar) – the most important lesson learned at this session is the fact that whatever you find in JavaScript books written 2+ years ago might be already obsolete. Moreover, whatever you learn today, might be obsolete tomorrow. This is definitely not a good news for developers, but we need to deal with that and when reading anything on the web – thinking for ourselves.

Video killed the Telephone Star (Ben Klang) – WebRTC is coming to the browser. In this talk Ben demonstrated web app that allows to do a video conference (his implementation of Google Hangouts in Rails).

Lessons learned with TypeScript and ES2015 (Dylan Schiemann) – it was an overview of TypeScript and ES6 based on experience working on Dojo 2 Framework – the second largest application written in TypeScript (after Azure Portal). After this presentation I talked to Dylan, and he showed me another projects his company SitePen is working on: Intern – very flexible and powerful testing framework, and Mayhem – JS Framework written in TypeScript (still under development).

Functional Programming Basics in ES6 (Jeremy Fairbank) – tips&tricks you can do in JavaScript(ES6), but you cannot in OO strongly typed languages like C# or Java.

Lessons from Open Source @ Scale (Christine Abernathy) – Facebook has over 300 repos in github (after this talk I checked how many Microsoft have – almost 300). Christine explained how they help community by delivering Open Source, and how community helps them by contributing to their software.

Introducing Trix (Javan Makhmali, Sam Stephenson) – Javan and Sam created web based text editor, and they open sourced it right after this talk.

The rise of “API” first applications (Travis Tidwell) – this talk was about Micro Services, and modern applications architecture where we have multiple, independent endpoints responsible for one functionality each.

It Was Like That When I Got Here (Paul M. Jones) – it was a great talk about approaching legacy applications, and refactoring techniques. I enjoyed it even despite the fact that Paul was using PHP examples…I actually felt a bit sentimental as PHP was a language that get me started with Web Development when I was back in middle/high school ūüôā

All Things Open

All Things Open 2015

All Things Open is one of the largest Open Source conferences in the United States. This year there was over 1700 attendees, and 13 tracks!

I gave a talk about TDD with TypeScript, AngularJS, and Node.js – the same as at ConnectJS.

On a¬†day before the conference there¬†was 5k run/sightseeing event at the evening. It was exactly what I needed before 2 days of seating. Kudos for organizers ūüôā

Most of my¬†time during the conference I spent in the room with front-end related sessions. Carina C. Zona explained problems with artificial intelligence and machine learning¬†–¬†Consequences of an Insightful Algorithm. Seth Vargo made an overview of Vargant – product that allows to create¬†and configure universal development environment for every developer in the team.¬†Christian Heilmann was¬†encouraging people to learn JavaScript, ECMAScript 6, and¬†to stop supporting old browsers, such as IE8, that has security vulnerabilities.¬†Yehuda Katz explained how he and other contributors¬†of Ember.js created version 2 without breaking a lot of APIs from version 1, and thus allowing developers for a smooth transition. I also liked the session about Netflix architecture by Andrew Spyker. I wish Andrew had more time to explain details more¬†deeply. The surprising takeaway is that Netflix has 3x of everything. Which means – for every server, service and¬†API¬†they have additional 2 redundant.

The most widely commented session at the conference was keynote by Mark Russinovich. I was pretty surprised that people were surprised by¬†Microsoft doing so much Open Source. For me this is a known fact for a few years now, but it seems that the rest of the World doesn’t know yet, and still see Microsoft as closed-source corporation that want to lock you in their technology.Well…that’s not true anymore. I also had a pleasure to met Christian Heilmann¬†– former Evangelist of Mozilla who joined Microsoft with one mission: kill the Internet Explorer. I really enjoyed his session on ES6, and keynote.

At the speaker dinner I had a pleasure to seat at the table with Andrew Spyker from Netflix, Michael Laing of New York Times, Christine Abernathy from Facebook, and Eric Martindale Рentrepreneur from Silicon Valley. We had interesting conversation of the future of Netflix, Internet Television, bitcoin, and digital newspapers. I also learned that New York Times is the only news paper that is profitable in the transition from paper to electronic.

At All Things Open I finally got awesome Ninja Cat stickers:

ThinkPad X1 stickers