Independent Italian TypeScript Conference

TSconf 2019

October 25th, Desenzano del Garda, Italy

Speakers

More speakers to come, STAY TUNED!

Federico Feroldi

TypeScript, Open Source and the Government: the birth of IO.italia.it

I'll talk about what is probably one of the biggest open source projects written entirely in TypeScript: IO.italia.it, an app and a platform API that helps people interact with the national and local Government.

We started working on IO at the beginning of 2017, in two and half years we've written almost 60K lines (and counting) of TypeScript code between the mobile app (React Native) and the backend (Express and Azure Functions). I'll talk about the history of the project, the technical and architectural choices we made, the libraries and the tools we use and we contributed to the community and how TypeScript helps us to write better, more solid and more secure code.
Federico Feroldi

I've written my first web app a little more than 20 years ago (in Perl) and since then I've never stopped enjoying building digital products.
I've worked for small startups, big megacorporates and I've also co-founded a few startups, giving me the chance to live and work in Italy, UK, US and Germany and have the opportunity to work with quality teams and exceptional people.
I love writing as much as reading other people's code, if you'd like a feedback just send me a code review request on github :)

Follow Federico —


Vojta Prikryl

Migrating large codebase to TypeScript

As a growing startup with large JavaScript codebase we’ve made the transition to TypeScript and survived to tell the tale! It wasn’t easy to make the decision but only half year later we feel like the investment already paid off. We looked back and identified many Dos and Don’ts to talk about.

It’s 2019 and TypeScript is the obvious choice for every new project. But if your codebase is JavaScript how do you make the switch? Facing a quarter million lines of code – a messy mixture of untyped or poorly flow-typed JavaScript – our team of 15 at productboard absolutely knew we wanted to make the switch, but the barrier to entry looked very high. A half a year later, 85% of the codebase is strictly typed TypeScript and our confidence over the code has increased tremendously. In this talk I’d like to share our experience and answer the following questions:
  • How we convinced management it was worth the effort?
  • How we approached the migration and how we phase it?
  • How we learned to best collaborate as a team?
  • What we’d do differently next time?
  • We learned a lot along the way and are eager to share it with all the other teams, because we believe everyone deserves TypeScript!
Vojta Prikryl

"I am Frontend developer at productboard, helping various companies around the globe with building better products. As a developer I always try to go one step further towards excellence. The best feeling is when even my designer is surprised about the result. I like delightful UIs and my most favourite interaction is Drag and Drop."

Follow Vojta —


Giovanni Gonzaga

Full-stack type safety with TypeScript and io-ts

Ever wondered what going full-stack TypeScript means for your day-to-day workflow? In this talk we’ll see how to exploit the TS type system and the io-ts library to provide a “full-stack type-safe” development experience for a project comprising a Node.js HTTP API and a single page web application.

In this talk we’ll see how developing on the same language and technologies full-stack can lead to a smooth developer experience with strong assurances of correctness at build-time. I’ll present the awesome io-ts library by Giulio Canti and a few key concepts of the TS type-system, and we’ll build upon these to live-code a custom solution to meet our needs. We’ll also briefly discuss other related topics, such as JSON (de)serialization and API error handling, and compare what we obtained with other available solutions.
Giovanni Gonzaga

Giovanni works at Buildo as technical lead on areas related to frontend development and TypeScript. He gained experience working as a freelancer in Italy and the US for several years. Passionate about next-generation web technologies, programming languages, functional programming and aviation. Before co-founding buildo, he founded a consultancy agency in Italy and has been research assistant at UIC, where he focused on security related to compilers and operating systems. He graduated from UIC with a Master’s in Computer Science and from Politecnico di Milano with a Master’s in Computer Engineering.

Follow Giovanni —


Daniel Ostrovsky

Fall in Love With TS Decorators

Decorators is one of the most underrated features in TS. At the same time is one of the most life changing features. Once you get it your, life will never be the same. We will start from basics definitions and go all the way to advanced real life examples and use cases.

Decorators are incredibly cool. They allow you to describe meta data directly in the class declaration, grouping everything in one place and avoiding duplication. Terribly addictive. Once having tried, you will use it forever However the decorators in TypeScript are not as simple as we would like. Working with them requires some skills.
In this talk we will try to cover:
  • Prologue
    • Decorators in TC39 stage 2. meaning and when to expect.
    • Babel
    • Frameworks uses decorators (Angular, NestJS, MobiX…)
  • Intro
    • Descriptor and why it’s matter
    • Simple logger decorator (livecoding)
  • Method decorator
    • Run time
    • Validators (livecoding)
    • memoize (livecoding)
  • Method’s param decorator
    • Why it’s so cool
    • Real life examples (livecoding)
  • Class Decorators (livecoding)
    • Class Composition
    • Class mixing
  • Advances (optionally)
    • Reflection, metadata
    • Use cases and examples (livecoding)
  • A coding is worth a thousand words….
Daniel Ostrovsky

Web development (Full Cycle) expert and teams manager with over twenty years of experience in the industry. Contact & coordination with many people/groups worldwide: R&D, Marketing, QA, Customer Support. R&D Management, managing the outsourced development teams. Demonstrated success in motivating, coaching, and leading technical design teams to achieve results. Design, development, testing, and maintenance of complex web-based software systems; hands-on in various WEB technologies. I’m passionate about family, about my gorgeous wife and my adorable kids. In my free time, I’m “The Best Developer in The World” based on my wife’s ranking.

Follow Daniel —


Massimiliano Mantione

Gianluca Carucci

The Cost of Abstractions

As programmers we use abstractions all the time, but do we ever care about their costs? In this talk we’ll benchmark several implementations of a small but significant piece of code, using different abstractions to make it “better” but also measuring their cost in several dimensions.

In this talk we’ll focus on the cost of abstractions, and how they impact the quality of the resulting code.
We’ll consider the following costs:
  • computational complexity (CPU resources used)
  • code size (including eventual dependencies)
  • eventually memory usage
  • code complexity and maintainability (they should get better using abstractions)
  • cognitive overhead (how hard it is to understand the abstraction)
The piece of code we’ll use is small enough to be understood by the audience in a minute, but it is realistic and could be used in production both in a front end and in a back end.
As abstractions we’ll gradually introduce types and functional constructs. Then we’ll also show a Rust implementation using the same abstractions (this is significant because the language claims to support “zero cost abstractions”), running both as native code and as a WASM module, and compare it to the Typescript one. Finally we’ll also investigate how AssemblyScript influences the costs.
Massimiliano Mantione

I am a software engineer, mostly interested in programming languages and compilers. I started as a Javascript hater but this changed after I worked in the V8 team in Google for about one year and half, and now I am using Typescript regularly to make JS “bearable”. Currently I am working on a virtual reality system for business events on the web: Hyperfair.

Follow Massimiliano —

Gianluca Carucci

I am seasoned IT professionist with a degree in Computer Science and over 15 years experience in a wide variety of high availability and large scale systems, eager to solve real-life technical problems by using a mixture of innovation and proven methodologies to enable people to be more productive, making their lives easier and more enjoyable. Over the past few years I have been focusing on improving my functional programming skills, in particular with Scala and Clojure. As appreciative of Agile methodologies I'm particularly keen on Scrum and Extreme Programming practices to continuously increase customers' return of investment. Experience working closely to UX teams has taught me how starting from user experience design is the key to success for a software product. Last but not least I have been a water polo player since 1986.

Follow Gianluca —


Andrea Valentini

Building Infrastructure as a Code with Typescript and AWS CDK

The AWS CDK is a software development framework to define cloud infrastructure as code and provision it through CloudFormation. The CDK integrates fully with AWS services and offers a higher-level object-oriented abstraction to define AWS resources imperatively. The CDK improves your end-to-end development experience because you get to use the power of modern programming languages to define your AWS infrastructure in a predictable and efficient manner.” You can build test and deploy a true Infrastructure as a Code architecture using Typescript. make Reusable code and enjoy the code completion feature of IDE’s to create your cloud Infrastructure.
Andrea Valentini

I am a Full Stack Engineer and Solution Architect, with expertise in web technologies. I have experience in creating mobile and web applications using JavaScript libraries and frameworks such as Angular or React and making Serverless applications using Amazon Web Services and Google Cloud Platform. I joined several workshops on Javascript, NodeJS, HTML5, Cloud Architectures and latest tools as speaker on code organization and best practices. Next steps: continuous updating on new technologies and have fun! Interested in challenging technical roles in scaling distributed web applications.

Follow Andrea —


Orta Therox

Start Betting on TypeScript

How did TypeScript get to be so popular and does it have sticking power? We'll look through the way in which TypeScript has changed the JavaScript ecosystems and how the underlaying tools like tsserver, playgrounds and tsc come together to help more than just TypeScript users.
Orta Therox

An Engineer on the TypeScript team in Microsoft. He has a decade of open source contributions ranging across many eco-systems, helps maintain a dependency manager for iOS, built Danger in many languages, contributes to working groups like GraphQL and in core teams like Jest and React Native. You've probably seen his open source design work, and is currently working on improving documentation for TypeScript.

Follow Orta —


Tickets

You can find our tickets available on Eventbrite

Sponsors

Gold

Image
Image

Silver

Image
Image

Media Partner

Brewbox
Python Italia
Do It Better
GRUSP
CremaWeb
Bologna JS
Accademia Santa Giulia

Code of conduct

TS-Conf IT is a community conference intended for networking and collaboration in the developer community. We value the participation of each member of the community and want all attendees to have an enjoyable and fulfilling experience. Accordingly, all attendees are expected to show respect and courtesy to other attendees throughout the conference and at all conference events, whether officially sponsored by TS-Conf IT or not.

To make clear what is expected, all delegates/attendees, speakers, exhibitors, organizers and volunteers at any TS-Conf IT event are required to conform to the following Code of Conduct. Organizers will enforce this code throughout the event.

TS-Conf IT is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, or religion. We do not tolerate harassment of conference participants in any form.

All communication should be appropriate for a professional audience including people of many different backgrounds. Sexual language and imagery is not appropriate for any conference venue, including talks.

Be kind to others. Do not insult or put down other attendees. Behave professionally. Remember that harassment and sexist, racist, or exclusionary jokes are not appropriate for TS-Conf IT.

Attendees violating these rules may be asked to leave the conference without a refund at the sole discretion of the conference organizers.

Thank you for helping make this a welcoming, friendly event for all.

Contact information

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff.

Conference staff will be wearing “Staff” badges.

You may also contact hotel staff and ask to be put in touch with the conference chair.

If the matter is especially urgent, please contact us via our email address info@ts-conf.it.

Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.

Location

Hotel Desenzano, Viale Cavour 40/42, Desenzano del Garda (BS) – Italy