Before the next St.Petersburg conference NEXT left to go literally a couple of weeks Today I will do the traditional review of the reports.Or rather, half of them. We’ll go on a timeline, progressing through the program from
fence opening to lunch.
10:00 – 10:25 a.m. – Opening of the conference
Our traditional conference format begins with an "opening ceremony." The organizers (usually me and real_ales , rarely jetliner ) welcome the participants (you) and outline the basics: the format of the conference, the structure of the venue, what to expect from whom and what to hope for.
After our five minutes, the floor goes to the sponsors, who talk about how cool they are and
, most puzzling to me, why they sponsor .NEXT. Basically, it’s pretty clear what they’re all about. Mikhail Samarin from Finnish Futurice will talk briefly about how cool it is to work for the biggest global brands at their place in Helsinki, and the guys from JetBrains (usually the mezastel ) will add a few words about their wonderful tules to the career story.
10:30 – 11:20: Dino Esposito – The Courage of Knowing Things (and not being a geek)
Some abstracts from the announcement :
- What are the criteria for a product being obsolete?
- What is "being a geek" and what is "acting like a geek"?
- What gives a developer a broad outlook?
- What useful advice can a Dino grandmother give us?
I have my own thoughts on who is a good developer, who is a geek, etc., and I’ve shared them many times on hubra. I’m wildly interested in what Dino thinks about it, so I’ll definitely go to the opening keynote.
It’s important to understand that a keynote is a keynote, especially from Dino. Someone will probably once again swear that "just water, no specifics". Don’t worry, there will be so much more of this stuff in the future.
Let’s move to the first slot with reports : 10:30 – 11:20
Dmitry Ivanov, JetBrains – Tales of premature optimization
There is a popular thesis that premature optimization is the root of all evils. Nevertheless, all I heard from the guys at Resharper during the last .NEXT was: performance, performance, and performance. Sometimes you get the feeling that all they think about is performance.
Discussing this problem a month ago with Dima Ivanov, we came to the conclusion that we can draw a certain discriminatory line and distinguish, on the one hand, some classes of optimizations that can be done immediately, and on the other hand, those classes of optimizations whose benefits must be checked specifically in runtime. And the report itself, respectively, is largely about finding some balance between these two extremes.
Roman Zdebsky, Microsoft – In the footsteps of BUILD 2015 – the .NET platform of today and tomorrow
Three weeks ago, BUILD, Microsoft’s annual development conference, was held in California. And of course, most of it was devoted to the present and future of .NET technologies. In his report, Roman will talk about the innovations in the world of .NET, about the directions in which the .NET ecosystem is developing and the trends in each of these directions.
Denis Tsvettsikh, AstroSoft Roslyn API: SyntaxTree vs. CodeDom, SemanticTree vs. Reflection
While working on a client code generation task for SOAP service on Windows Phone 8.1, Denis and his colleagues tried two bundles for code analysis and generation:
- Reflection + CodeDom
- SemanticTree + SyntaxTree
In the talk, Denis will compare these approaches and share his conclusions about which is better and how to deal with the shortcomings of each approach. And here’s by the way. link to githab projects.
This is the first in a series of papers at this conference with Roslyn in the title in one way or another. And it is one of the major trends of our conference. If a few months ago we couldn’t find a Roslyn speaker, now we have received about 6 requests for Roslyn papers, half of which we had to reject so as not to turn .NEXT into a Roslyn conference.
After a half-hour coffee break, participants will disperse to report to the next slot : 12:50 – 13:40
Andrew DreamWalker Akinshin, Enterra – Talk about micro-optimization of .NET applications
Andrei is a famous writer on hubs, a researcher of dotnet rantimes and a picker of compilers. The talk, respectively, is aimed at the same direction: a lot of low-level stuff, assembler, differences in the code generated by different JIT-comilers and other blood and guts stuff. For the sweet stuff, a talk about right and wrong benchmarks. Hey, Shipilyov, come to us in Peter and troll Akinshin, huh?
Julia Fast, CUSTIS – A breakdown of some of the technical points of the new .NET
In her review Julia will touch upon several new products, including: VS 2015, new features in GC, EF7 and the new ASP.NET. As Julia writes, the report contains a lot of small and not very "plush" of the new world of .NET and is designed for those who want to, but do not have time to follow all the news.
Pavel Avsenin, DevExpress – Roslyn: use in a large project using CodeRush as an example
Fans of "practice" and opponents of "water" are dedicated. A report on the intricacies of moving a large project to Roslyn: what, how, why, what problems we got. An overview of what Roslyn can and can’t give us plus lots of examples of how to use it in a variety of fiches.
And finally, the last slot in today’s review 13:50 -14:40
Dmitry mezastel Nesteruk, JetBrains – Codogeneration : what, how, why
In this report Dima will try to dispel current myths about codogeneration. In the first part he will give some overview of the current state of things in the industry, and towards the end he will dream with the audience about the bright (or maybe dark?) future when programs are written by robots.
More specifically, students will learn about how code generation is used in the modern world, and about the typical tasks that code generation solves. It will be shown how and what code generators are created for, what approaches to this task exist, and how deep the rabbit hole goes in terms of the "nested realities" of code generation. As they say, people are divided into two types : those who know what recursion is and those who know that people are divided into two types…
Mikhail Samarin, Futurice – Universal apps for Windows 10
Microsoft has long been moving toward some unification of everything they do in dotnet. And says that Win10 and the new .NET really help write universal code.
But can a C# programmer really cover all Windows 10 platforms with one code? Michael will use practical examples to look at Microsoft’s "One" promise: "One package, One binary, One API surface, One Platform" and, together with the audience, try to conclude when this is true and when it is not.
Mikhail Scherbakov, Cezurity – Exceptionally simple AppSec .NET practice
I strongly believe that today’s programmers pay less attention to the security of the applications they develop than they should. Such is the industry, such are modern tools, approaches and principles. And it is much more pleasant to see a report about Application Security in our program.
The talk will deal with the practical part of Application Security for .NET developers. We will consider numerous code samples showing weaknesses that allow attackers to compromise systems through different types of attacks: XSS, CSRF, Session Fixation, attacks on business logic vulnerabilities, etc.
How to make sure that these flaws don’t appear in your code and eliminate existing ones, why Entity Framework doesn’t protect from SQL Injection attacks, query validation – from XSS, and XmlReader from XML-specific attacks? Answers to these and many other questions will be given during this report.
That’s all for today. The full grid and detailed descriptions of the reports can be found at the conference website