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


My notes from The Passionate Programmer

Chad Fowler - The Passionate Programmer

It’s been a while since I read Chad Fowler’s The Passionate Programmer.

Recently I found notes I did during reading it. I thought I would share them with you. It is tl;dr of every one of 53 chapters of the book.

1. Keep on radar bleeding edge technologies vs sunset technologies.
2. Follow job market requirements.
3. Understand business.
4. Be the Worst in the team so you can learn from others.
5. Learn/know different type programming languages (C#, C, python, prolog…).
6. Avoid fear-driven career choice.
7. Keep on radar known tech/platforms vs unknown(to learn).
8. Learn what is under abstraction layer of your programming language.
9. Use different technologies.
10. Log your excitement level over days.
11. Everyday learn something new about tech/tools you are using.
12. Learn how business work.
13. Have/find a mentor.
14. Be a Mentor.
15. Practice (Google Code Jam, Project Euler, Code Katas).
16. Know/learn Software Development Methodologies.
17. Read other’s code (and criticize it).
18. Automate tasks.
19. Do it now!
20. Predict the future – possible requested features (make it easy to implement it).
21. Make daily review (problems, processes to improve).
22. Understand your manager/company goals.
23. Set goals for you current job (long term).
24. Make boring tasks fun!
25. How much are you worth?
26. Share you areas of knowledge in job (implemented modules, deployment process etc.). Make documentation.
27. Measure (by metrics), improve, measure.
28. Work as hard as you can (no fb, twitter etc.).
29. Learn how to fail.
30. Say ‘No’ when you know you cannot do something.
31. Don’t panic.
32. Say It, Do It, Show It.
33. Be aware what others think about you (managers, team mates etc.).
34. Don’t make people afraid of you.
35. Track you decisions and analyze them (diary).
36. In person communication over email/Skype.
37. Have elevator pitch (business benefits of your recent work).
38. Have the mission!
39. Be present on-line (blog, twitter, LinkedIn).
40. Care about your brand (google yourself).
41. Contribute to open source!
42. Be remarkable (do something what will take a week in one day).
43. Propose changes/features to software you are using (mail author).
44. Be up to date with current/new tech.
45. Try to do your job as you are your manager.
46. Path is more important than destination.
47. Create map of your past, current and future career (and what your learn, when you lost time).
48. Try to be alpha geek (or follow some of them).
49. Ask your coworkers for feedback.
50. Avoid monkey traps (do not be too confident in some things, or review them from time to time; know your enemy – play with technology you don’t like).
51. Avoid Waterfall career planning.
52. Be better every day.
53. Try to go independent (e.g. 2 hours/day after work hours) – how much did you earn?

This book helped me to drive my career, and I am sure it will help you with your career!

Have you read this book? What do you think? Maybe you know some other books you would recommend?


[HockeyApp + VSTS] Generate release notes from last git commit message

Continuous Integration and Continuous delivery for Xamarin apps with VSTS and HockeyApp is awesome!

I blogged about setting up CI/CD pipeline with VSTS+HockeyApp a few weeks ago.

If you want to add release notes to HockeyApp release you have two options:

  1. Add release notes manually, by setting ‘Release Notes’ property, and update them before every build (AKA – option that sucks)
  2. Add path to release notes file, by setting ‘Release Notes (file)’ property, and update it before every git push (AKA – option that sucks less)
  3. Add path to release notes file, by setting ‘Release Notes (file)’ property, and generate release notes from last git commit message on every build (AKA – option that rocks)

Applying options 1 and 2 is easy.

To make option 3 happen you need to add script that will get last git commit message, and output it to the file that you specified in ‘Release Notes (file)’ property. This script should be executed before ‘Deploy to HockeyApp’ step (of course).

For Xamarin.iOS you need to add ‘Shell Script’ task that can look like this:

echo "last commit: $BUILD_SOURCEVERSIONMESSAGE" > commit.txt

*it will output file to the same directory where shell script is located

For Xamarin.Droid and Windows builds, you can create PowerShell script.


Predicting future with F# and Azure Machine Learning

Earlier this year I blogged about StockEstimator – my side project for predicting future stock prices. Recently in addition to F# module, which estimates future prices, I added Web Service that takes advantage of Azure Machine Learning to do the same much faster.

Last month I talked about my project at .NET Developers Association Meetup in Redmond and in Seattle. I streamed both session with YouTube live, and recordings are already available:

Both videos cover the same topics. Not sure, which one is better. However, there was one gentleman who went to both my talks and he said that the second one was better 🙂

In both presentations I do a quick intro to F#, an overview of Machine Learning, and how I took advantage of both to predict future stock prices.

If you are interested in F# I recommend you to check my Getting started with F#.

Presentation slides are available here (you can find there a lot of references to materials about F#, Machine Learning and Azure Machine Learning).

StockEstimator project is open source and available on github.

I’m not going to stop here. As you can see on my slides, and at the end of my presentations I have future plans to evolve this overnight project 🙂


Azure Portal Tips & Tricks – 23. Download invoice

Azure Portal Tips & Tricks is a series of short videos where I am showing various features of the Azure Portal and how you can take advantage of them to be more productive.

In this video I am showing how to download invoices from the Azure Portal.

You can follow the series by subscribing to my channel or going directly to Azure Portal Tips & Tricks playlist:

If you have any suggestions or questions about the Azure Portal, or there is something in particular that you would like to see in this series, tweet me at @JakubJedryszek or leave a comment.