events

QCon conferences – real experts experience exchange

QCon Beijing - speakers

Earlier this year I attended QCon Beijing and QCon Sao Paulo conferences. I really like QCon, because there is no marketing, just real experts exchange of experience. After my first QCon (Shanghai in 2016) I was very excited to come back this year!

QCon Beijing

Cognitive Search

I delivered talk about Building web apps with Cloud and AI. I showed how to build intelligent web apps with Azure Search and Cognitive Services (Azure Machine Learning APIs). We call this approach Cognitive Search. In my demo I showcased how you can determine which crypto currencies to buy using sentiment analysis on tweets. I streamed tweets to Event Hub, which triggers Azure Function that calls Text Analytics API to calculate sentiment of tweet. I store tweets and its sentiments in SQL Database. I also created Azure Search index to be able to effectively search through tweets. This index is being syncronized with SQL DB through integrated change tracking, and Azure Search indexer that runs on schedule.

Cognitive Search architecture

I built UI using AzSearch.js (UI generation tool for Azure Search indexes), ASP.NET Core and TypeScript (BTW: there is a lot of cool stuff in TypeScript these days!).

Crypto Search UI

In addition to search interface I also created aggregation chart comparing sentiments between different cryptos:

crypto charts

Source code is on github: crypto-search.

Video from my talk:

My talk was very well received. Attendees were assessing talks with green (great talk), yellow (ok talk) and red (bad talk) cards. I got 117 green, 9 yellows and 0 reds.

Conference

I had a great opportunity to meet a lot of engineers and architects from leading tech companies from around the World.

Mads Torgersen (the architect of C# language) shared future plans for C#. It was surprising for me how few people attended his talk. Sisie Xia and Chris Coleman from LinkedIn delivered a great talk about facing challenge of growth, and how they tackle it using their in-house tool Redliner. Julius Volz shared insights about Prometheus monitoring system.

Majority of talks were in Chinese. I went to Peng Xing‘s talk about how they develop Progressive Web Apps at Baidu. I was able to gather 60% of content, but got the essence by talking to him directly. I spent most of my time talking to people in the hallways. It was very eye opening to meet engineers from Chinese cloud giants. China cloud market is dominated by Alibaba Cloud (AliCloud), Baidu and Tencent. Azure and AWS have small market share. Google does not exists in China at all. Alibaba (largest online retailer in China) has even ambitions to overtake AWS in near future. It is worth to notice that Alibaba is Chinese equivalent of Amazon. At the same time people consider Baidu being Chinese Google, and Tencent (who owns WeChat) to be like Facebook. I had an opportunity to chat with Lu from Alibaba Cloud and Wang Yao (Head of IaaS at Baidu). After talking to them, and other engineers I would describe both companies’ stack in 3 Words: MacBook, Java and Go. This might be ignorant generalization, but almost every other engineer from big 3 (AliCloud, Baidu, Tencent) that I talked to was either writing code in Java or golang (using Mac of course). I also learned about Alibaba’s Search as a Service: OpenSearch. Something to keep eye on when they will be expanding to USA and Europe market.

The most popular track was of course Blockchain. Room was overflowed for the entire day:

QCon Beijing - blockchain track

China Tech

Every time when I visit China I am impressed by their progress. Highways superior to US interstates, fast trains between all major cities, and now – mobile payments adoption everywhere. Today, in China, most people use WeChat or AliPay. Sometimes cashier can get mad at you if you want to pay cash or credit card, because you cause inconvenience. Scanning QR code is 10x faster! You can even tip a waiter with your mobile phone!

Tipping in China

Last year in Seattle we had three bike-sharing companies, and everybody here thinks that we are at the edge of innovation. By the end of 2017 Beijing had 60 bike-sharing companies. Many of them started in 2016. During my visit I learned that China have engineers dominated government. Maybe this explains their progress?

If you are going to China, it is useful to have these 3 apps:
1. WeChat – Chinese facebook, for communication with other Chinese people, and exchanging contacts
2. DiDi – Chinese Uber
3. AliPay – for mobile payments (currently WeChat payments requires Chinese ID and account in Chinese Bank)

It was also great to meet China division of Cognitive Services team!

Cognitive Services - China team

Trip to China inspired me to read a book comparing Chinese and Western culture in the World of innovation and progress:

From the Great Wall to Wall Street

There is a lot of things that these two Worlds can learn from each other.

QCon Sao Paulo

Cognitive Search

Two days before my talk in Brazil, we officially announced Cognitive Search built in into Azure Search. You do not have to create Cognitive Service anymore. You do not have to write code that orchestrate processing data, and calling API. We do it for you. All what you have to do is to check the checkbox. More details here.

Cognitive Search

I extended my demo of crypto analysis based on tweets by adding sentiment analysis on news articles. A while ago we put news on Azure Search index. We filtered out news related to cryptos, and put it on Azure Blob storage. We also improved our JFK files demo, and now you can deploy it by yourself by following instructions in this github repo.

Usually during my talk I ask if somebody ever deployed ElasticSearch and how long did it take. In China one guy said it was ~2 weeks. In Brazil there was one guy who said: 6 months(!) 🙂 That’s why you don’t want this to be your problem. Azure Search takes care of deployment, availability and upgrades for you.

My talk was pretty well received in Brazil as well. I got 148 green, 15 yellow and 0 red cards.

Conference

QCon Sao Paulo had very diverse mix of experts from all around the World. Starting with Aaron Stannard (co-founder of AKKA.NET), Nicholas Matsakis (from Rust core team), and Rodrigo Kumpera (architect and top contributor of mono project), through Michelle Casbon (now Engineer in Google Cloud Platform focused on machine learning and big data tools), Ben Lesh (RxJS Lead at Google), and Martin Spier (performance engineer at Netflix) to Soups Ranjan (Director of Data Science at Coinbase*), Amanda Casari (Data Scientist at SAP Concur), and Piper Niehaus (Elm lang passionate).

The most interesting thing I learned at QCon Sao Paulo was how different companies struggle with monitoring, telemetry and system malfunction detection. They all have very sophisticated automation, but it is still not enough in today’s World complexity. As systems we build have more, and more complex architecture, we need to build even better monitoring software to maintain them.

In Azure Search we are using OData standard. However, recently GraphQL is gaining popularity. Dan McGhan shared this article about comparing GraphQL and OData: REST API Industry Debate: OData vs GraphQL vs ORDS. Interesting read!

Brazil

May is almost winter in Brazil, but it’s also the best time to visit. Not too hot, not too cold. Perfect weather for enjoying your time!

I like that every bar and restaurant in Brazil have TV on soccer channel 🙂 As a long standing fan of Brazil national football team (since Ronaldo Luiz Nazario de Lima times) I enjoyed it a lot!

Sao Paulo, the largest city in Brazil (21 million people) and financial center of the country, is also the largest tech-hub in south America. Most of tech-companies are there (Microsoft, Google, Amazon).

If you ever go to Brazil, remember to visit Sugarloaf to watch the sunset and after the sunset view 🙂

View from Sugarloaf after night

Summary

Speaking at QCons and connecting with engineers from different backgrounds is very valuable experience. Being able to learn about other cultures is a plus as well. Sharing with other work that you do everyday can also give you different perspective, and notice things that you would never think about.

If you want to learn more about Azure Search check out our getting started docs. To create intelligent search pipelines check out my Cognitive Search blog post. For more details we have quickstart and more comprehensive API overview.

Questions? Find me on twitter!

*Soups did not tell me what is the next coin coming to CoinBase 🙁


Wroc# – developer conference worth attending

Wroc# - audience

Earlier this year I had a pleasure to speak at Wroc# conference in Poland. It was very well organized event that was almost free for attendees. The only cost was required donation to charity: PLN 150 (~$50).

There was only 1 track with awesome speakers lineup! I finally had an opportunity to meet Roy Osherove in person. I learned about unit testing from his book The Art of Unit testing. I’m currently reading his another book: Elastic Leadership – a lot of useful tips not only for team leaders! Among other speakers there were Scott Helme (Security Researcher) that uncovered some things about web security I have never heard about! Zan Kavtaskin gave great overview about building apps on Azure Cloud, Glenn Henriksen showed how on server-less computing works in Real-World, and Sander Hoogendoorn together with Kim van Wilgen shared their perspective on over-engineering development processes.

The conference venue was great. I would say it was the best setup I’ve even seen! There was one big room, divided into 3 parts: stage, chairs for audience and Mix&Mingle zone (AKA M&M). You could talk (in the Mix&Mingle zone), and still be able to follow presentations. Speakers’ room was on the upper floor, but it was more like a balcony, from where you could listen to talks and overlook entire venue.

I delivered talk about building mobile apps with Xamarin. I shared what we have learned while building Azure Mobile App, which started as hackathon project, and later turned into official Microsoft product. The app got announced on the stage of //build conference last year. Along the way we learned how to properly architect Xamarin project for multiple platforms, where to do not take shortcuts, does and don’ts for CI/CD and testing.

There was a guy who put a nice summary of my talk:

Wroc# - building mobile apps with Xamarin

At the end of the conference there was speaker’s panel where we were answering and discussing questions from the audience. We had good discussion about different aspects of software development from estimating project cost to writing unit tests. Almost every speaker had different background, and this made it even more interesting!

Wroc# - speakers panel

If you haven’t been to Poland before: Wroclaw is an amazing city, and many of my foreign friends says it’s their favorite city in Poland. Wroclaw is often refereed as WrocLove 😉

WrocLove

Last, but not least: thank you for everyone who made this conference happen!

Wroc# - organizers


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


QCon Shanghai

QCon

Last month I had a pleasure to visit China and attend QCon conference in Shanghai.

I gave a talk about building large scale web apps with TypeScript where I updated my talk from last year to TypeScript 2.0, I showed TypeScript boilerplate project created by Remo Jansen, and using TypeScript with Aurelia Framework.

QCon

//video-coming-soon

QCon

I had a great turnout. Room overflow with over 150 people. I also got a great feedback. People could vote green(awesome), yellow(ok), red(bad), and I received 128 green, only 10 yellow and 1 red, which gives over 92% extremely satisfied attendees.

QCon

QCon has the best of the best from the industry. In Shanghai I met Jaime Levy (famous UX strategist from LA), Kinshuk Mishra (Director of Engineering at Spotify), Pete Soderling (successful entrepreneur from New York and Silicon Valley, founder of Hakka Labs & DataEngConf), Sid Anand (former Cloud Data Architect at Netflix who implemented Netflix migration to the cloud that Adrian Cockcroft later on told the World about, former Tech Lead at LinkedIn where he implemented typeahead search, currently Data Architect at Agari – company that provides fraud detection services), Wesley Reisz (Solutions Architect at HP and University Professor), and Igor Marvić (Software Engineer at Spotify).

China is very interesting place for developers, especially because of its scale. They have over 700 million Internet users! One developer from alibaba.com – largest online store in China – told me that during Singles’ Day (Guanggun Jie), which is equivalent of Black Friday in USA, they had over 400 million customers online at the same time. This is more than entire population of the United States (~325 million). They also sold more than $1 billion in merchandise in first 8 minutes! This is SCALE!

While I was in China I was using WeChat (their Facebook equivalent). People don’t use Facebook and twitter, as they are blocked by China Firewall. You can workaround it using VPN, but sometimes it works very slow, or not at all. Thus, it is much easier to just use WeChat. When I am in USA I use Facebook, messenger and twitter everyday. However, I noticed that on my iPhone 5S, WeChat works much better than all mentioned apps. It doesn’t crash, it’s fast, and it has many cool features. Want to add somebody to friends? Just scan they QRCode. You can also shake your phone, and WeChat will try to find closest person who is also shaking their phone, and show on your phone their profile, and on their phone your profile.

Besides the conference, which was very well organized, I was very impressed by how modern the city of Shanghai is. The skyline looks almost like New York City! Shanghai Tower (2,073 ft / 632 m) is the second tallest building in the WorldShanghai World Financial Center (1,614 ft / 492 m) is number 9 on the same list, which contains only 1 American building – One World Trade Center (number 6 – 1,776 ft / 541 m).

Shanghai - skyline

It was a great journey, and all Chinese people were very nice for me. I look forward to come back to China in near future!


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