Save 10% off ANY FITC event with discount code 'slideshare'
See our upcoming events at www.fitc.ca
Node.js: The What, The How and The When
with Richard Nieuwenhuis
Has the traditional intro to event looped servers (thanks Ryan!) with a couple of examples of why I think node.js is particularly exciting today. Code for the demos can be found at https://github.com/davidpadbury/node-intro.
My Node.js workshop from Sela's Developer Conference 2015.
In the Workshop we covered The basics Node.js api's and the express web application framework.
Node.js and How JavaScript is Changing Server Programming Tom Croucher
Node.js is a highly concurrent JavaScript server written on top of the V8 JavaScript runtime. This is awesome for a number of reasons. Firstly Node.js has re-architected some of the core module of V8 to create a server implementation that is non-blocking (similar to other event driven frameworks like Ruby’s Event Machine or Python’s Twisted). Event driven architectures are a natural fit for JavaScript developers because it’s already how the browser works. By using an event driven framework Node is not only intuitive to use but also highly scalable. Tests have shown Node instances running tens of thousands of simultaneous users.
This session will explore the architectural basics of Node.js and how it’s different from blocking server implementations such as PHP, Rail or Java Servlets. We’ll explore some basic examples of creating a simple server, dealing with HTTP requests, etc.
The bigger question is once we have this awesome programming environment, what do we do with it? Node already has a really vibrant collection of modules which provide a range of functionality. Demystifying what’s available is pretty important to actually getting stuff done with Node. Since Node itself is very low level, lot’s of things people expect in web servers aren’t automatically there (for example, request routing). In order to help ease people into using Node this session will look at a range of the best modules for Node.js.
Has the traditional intro to event looped servers (thanks Ryan!) with a couple of examples of why I think node.js is particularly exciting today. Code for the demos can be found at https://github.com/davidpadbury/node-intro.
My Node.js workshop from Sela's Developer Conference 2015.
In the Workshop we covered The basics Node.js api's and the express web application framework.
Node.js and How JavaScript is Changing Server Programming Tom Croucher
Node.js is a highly concurrent JavaScript server written on top of the V8 JavaScript runtime. This is awesome for a number of reasons. Firstly Node.js has re-architected some of the core module of V8 to create a server implementation that is non-blocking (similar to other event driven frameworks like Ruby’s Event Machine or Python’s Twisted). Event driven architectures are a natural fit for JavaScript developers because it’s already how the browser works. By using an event driven framework Node is not only intuitive to use but also highly scalable. Tests have shown Node instances running tens of thousands of simultaneous users.
This session will explore the architectural basics of Node.js and how it’s different from blocking server implementations such as PHP, Rail or Java Servlets. We’ll explore some basic examples of creating a simple server, dealing with HTTP requests, etc.
The bigger question is once we have this awesome programming environment, what do we do with it? Node already has a really vibrant collection of modules which provide a range of functionality. Demystifying what’s available is pretty important to actually getting stuff done with Node. Since Node itself is very low level, lot’s of things people expect in web servers aren’t automatically there (for example, request routing). In order to help ease people into using Node this session will look at a range of the best modules for Node.js.
Slides from my talk "Node.js Patterns for Discerning Developers" given at Pittsburgh TechFest 2013. This talk detailed common design pattern for Node.js, as well as common anti-patterns to avoid.
A language for the Internet: Why JavaScript and Node.js is right for Internet...Tom Croucher
Increasingly we want to do more with the web and Internet applications we build. We have more features, more data, more users, more devices and all of it needs to be in real-time. With all of these demands how can we keep up? The answer is choosing a language and a platform that are optimized for the kind of architecture Internet and web applications really have. The traditional approach prioritises computation, assigning server resources before they are actually needed. JavaScript and Node.js both take an event driven approach only assigning resources to events as they happen. This allows us to make dramatic gains in performance and resource utilization while still having an environment which is fun and easy to program.
Original slides from Ryan Dahl's NodeJs intro talkAarti Parikh
These are the original slides from the nodejs talk. I was surprised not find them on slideshare so adding them. The video link is here https://www.youtube.com/watch?v=ztspvPYybIY
Rising from non-existence a few short years ago, Node.js is already attracting the accolades and disdain enjoyed and endured by the Ruby and Rails community just a short time ago. It overtook Rails as the most popular Github repository in 2011 and was selected by InfoWorld for the Technology of the Year Award in 2012. This presentation explains the basic theory and programming model central to Node's approach and will help you understand the resulting benefits and challenges it presents. You can also watch this presentation at http://bit.ly/1362UGA
Introduction to Node.js: perspectives from a Drupal devmcantelon
I gave a talk on November 25, 2010, on Node.js, and related technologies, to the Vancouver Drupal Users Group. The talk ran through why node.js is useful for realtime web apps, how to get it and Express up and running, and how to access data from Drupal and MongoDB.
Rapid API development examples for Impress Application Server / Node.js (jsfw...Timur Shemsedinov
Application code and the server configuration examples with file-system access, RAM state, database access and parallel asynchronous processing of different resource types by stateful and stateless API requests.
It’s Not Enough To Be Brilliant – You Have To Be Convincing, Too. with Lanny...FITC
Might van Gogh have kept his ear if he could’ve won over his critics?
Clients and audiences are tough to crack, being able to present your ideas in the right way can make all the difference between winning approvals or doing the walk of shame out of your client’s office. It’s time to discuss the magical arts of how to present your work, win over skeptical clients, and build a lasting relationship (…and keep both ears).
Slides from my talk "Node.js Patterns for Discerning Developers" given at Pittsburgh TechFest 2013. This talk detailed common design pattern for Node.js, as well as common anti-patterns to avoid.
A language for the Internet: Why JavaScript and Node.js is right for Internet...Tom Croucher
Increasingly we want to do more with the web and Internet applications we build. We have more features, more data, more users, more devices and all of it needs to be in real-time. With all of these demands how can we keep up? The answer is choosing a language and a platform that are optimized for the kind of architecture Internet and web applications really have. The traditional approach prioritises computation, assigning server resources before they are actually needed. JavaScript and Node.js both take an event driven approach only assigning resources to events as they happen. This allows us to make dramatic gains in performance and resource utilization while still having an environment which is fun and easy to program.
Original slides from Ryan Dahl's NodeJs intro talkAarti Parikh
These are the original slides from the nodejs talk. I was surprised not find them on slideshare so adding them. The video link is here https://www.youtube.com/watch?v=ztspvPYybIY
Rising from non-existence a few short years ago, Node.js is already attracting the accolades and disdain enjoyed and endured by the Ruby and Rails community just a short time ago. It overtook Rails as the most popular Github repository in 2011 and was selected by InfoWorld for the Technology of the Year Award in 2012. This presentation explains the basic theory and programming model central to Node's approach and will help you understand the resulting benefits and challenges it presents. You can also watch this presentation at http://bit.ly/1362UGA
Introduction to Node.js: perspectives from a Drupal devmcantelon
I gave a talk on November 25, 2010, on Node.js, and related technologies, to the Vancouver Drupal Users Group. The talk ran through why node.js is useful for realtime web apps, how to get it and Express up and running, and how to access data from Drupal and MongoDB.
Rapid API development examples for Impress Application Server / Node.js (jsfw...Timur Shemsedinov
Application code and the server configuration examples with file-system access, RAM state, database access and parallel asynchronous processing of different resource types by stateful and stateless API requests.
It’s Not Enough To Be Brilliant – You Have To Be Convincing, Too. with Lanny...FITC
Might van Gogh have kept his ear if he could’ve won over his critics?
Clients and audiences are tough to crack, being able to present your ideas in the right way can make all the difference between winning approvals or doing the walk of shame out of your client’s office. It’s time to discuss the magical arts of how to present your work, win over skeptical clients, and build a lasting relationship (…and keep both ears).
Node.js 101 with Rami Sayar
Presented on September 18 2014 at
FITC's Web Unleashed Toronto 2014 Conference
More info at www.fitc.ca
OVERVIEW
Node.js is a runtime environment and library for running JavaScript applications outside the browser. Node.js is mostly used to run real-time server applications and shines through its performance using non-blocking I/O and asynchronous events. This talk will introduce you to Node.js by showcasing the environment and its two most popular libraries: express and socket.io.
TARGET AUDIENCE
Beginner web developers
ASSUMED AUDIENCE KNOWLEDGE
Working knowledge of JavaScript and HTML5.
OBJECTIVE
Learn how to build a chat engine using Node.js and WebSockets.
FIVE THINGS AUDIENCE MEMBERS WILL LEARN
Node.js environment and basics
Node Package Manager overview
Web Framework, express, basics
WebSockets and Socket.io basics
Building a chat engine using Node.js
Save 10% off ANY FITC event with discount code 'slideshare' - http://www.fitc.ca
OVERVIEW
Node.js is a runtime environment and library for running JavaScript applications outside the browser. Node.js is mostly used to run real-time server applications and shines through its performance using non-blocking I/O and asynchronous events. This talk will introduce you to Node.js by showcasing the environment and its two most popular libraries: express and socket.io.
TARGET AUDIENCE
Beginner web developers
ASSUMED AUDIENCE KNOWLEDGE
Working knowledge of JavaScript and HTML5.
OBJECTIVE
Learn how to build a chat engine using Node.js and WebSockets.
FIVE THINGS AUDIENCE MEMBERS WILL LEARN
Node.js environment and basics
Node Package Manager overview
Web Framework, express, basics
WebSockets and Socket.io basics
Building a chat engine using Node.js
Talk given at Javascript.MN meetup 8/25/2011 by Derek Anderson.
A basic overview of NodeJS (Yet Another NodeJS Intro) ... All anyone knows is the basics it seems ;-)
I talk about Node, show some LOLCats, demo a LOLChat (lolcat translation realtime chat app: https://github.com/mediaupstream/LOLChat)
and a realtime drawing app: (http://draw.mediaupstream.com)
HUZZAH!
Mathilde Lemée & Romain Maton
La théorie, c’est bien, la pratique … aussi !
Venez nous rejoindre pour découvrir les profondeurs de Node.js !
Nous nous servirons d’un exemple pratique pour vous permettre d’avoir une premiere experience complete autour de Node.js et de vous permettre de vous forger un avis sur ce serveur Javascript qui fait parler de lui !
http://soft-shake.ch/2011/conference/sessions/incubator/2011/09/01/hands-on-nodejs.html
Slides from my workshop about node.js which I conducted in Girl Geek Dinner Bangalore. More details at http://sudarmuthu.com/blog/introduction-to-node-js-at-yahoo-girl-geek-dinner
Intro to node.js - Ran Mizrahi (27/8/2014)Ran Mizrahi
Node.js is a platform built on Chrome V8 javascript runtime engine for building fast and scalable, non-blocking, real-time and network applications. In this session Ran will introduce node.js and how to develop large code bases using it. He'll cover the following aspects:
• What is node.js?
• Apache vs. Nginx performance (One thread per connection vs. event loop) and what it has to do with node.js.
• Why node was written in Javascript?
• Main tools and frameworks (Express, socket.io, mongoose etc.)
• TDD/BDD with node.js using mocha and Chai.
Ran Mizrahi, Founder of CoCycles, Passionate entrepreneur and software engineer who loves to continuously innovate and deliver meaningful products while having true fun with the right team.
Varun Vachhar
rangle.io
Overview
JavaScript frameworks allow us to build innovative and delightful experiences for our users. A common approach adopted with these modern tools is to combine all required JavaScript into one large bundle. Therefore, causing the loading performance to suffer. Especially on older devices or devices with low memory and processing power.
An alternative approach is to split your code into various smaller chunks which you can then be loaded on demand — allowing you to reduce the load time drastically.
In this session, Varun will demonstrate how you can adopt the practice of code-splitting when building applications with frameworks such as React and Vue.
Objective
Learn how to use code-splitting to improve the loading performance of Javascript heavy applications.
Target Audience
Front-end developers who build JavaScript heavy applications
Assumed Audience Knowledge
Basic understanding of web development and some familiarity with frameworks such as React, Angular or Vue.
Level
Intermediate
Five Things Audience Members Will Learn
What is code-splitting?
Different types of code-splitting
How to split a React or Vue application
How to “lazy-load” parts of the application
Removing duplicate code from chunksa
Presented at Web Unleashed 2019
More info at www.fitc.ca/webu
Andréa Crofts
League
Overview
Examining our responsibility as creators to design for disconnection.
The “restore connection” alert isn’t just for devices– it applies to people too. And it’s more important now than ever before.
Digital creators, we need to talk. The rise in mental health as a result of situational stress is a prevailing theme in today’s society, and some of the products we’re building are the root cause. But we have the power to change this. As creators of digital products, how might we enable our users to be more present in their lives? How might we invest in features like Instagram’s activity timer, despite the fact that they’re fundamentally counterintuitive to the usage metrics most behemoth tech companies are driving towards?
We have a responsibility as creators of digital products to enable others to disconnect …and re-connect with themselves, physically and mentally. This intersection is an emerging category Andrea likes to call digital health, and it’s something we can create together.
Objective
To share actionable strategies, principles and considerations for designing with digital health top of mind. Andrea will get into some #realtalk about how we can collectively create more balance and presence for the humans using our products.
Target Audience
Designers and digital creators of all kinds – especially those building digital products at scale!
Level
Open to audience members of any skill level (this is a more high-level talk)
Five Things Audience Members Will Learn
Tips and best-in-class examples of designing for digital health
Design guidelines and principles for designing with digital health in mind
Evidence-based practices to ground your future design decisions
Strategies for re-framing the success metrics of digital products
Design ethics resources
Presented at Web Unleashed 2019
More info at www.fitc.ca/webu
Luke DeWitt
REDspace
Overview
JavaScript’s popularity has exploded over the last decade, taking it from a laughable scripting language to one that powers much of the web today. Because it’s so flexible and so easy to learn, it’s extremely popular with new developers looking to cut their teeth in programming. However, these strengths are also weaknesses, as it’s incredibly easy to write bad JavaScript without even knowing it.
A lot of these newer developers jump from “Hello, World!”, to TodoMVC in order to find the library that makes their life easier. By doing this, they skip over some of the important details of not only how JavaScript works, but also how to optimize its performance to ensure the best user experience.
The Chrome profiler is a very handy tool that not a lot of developers have experience with. In this talk, we’ll take a beginner’s look at the profiler tool and examine how to use it to best improve your web application, and identify bottlenecks in your code without having to rely only on console.log statements.
Objective
To help developers understand how to better make use of the JavaScript profiler.
Target Audience
Any JavaScript developers
Assumed Audience Knowledge
Basic JavaScript
Level
Beginner / intermediate
Five Things Audience Members Will Learn
Javascript inner-workings
Profiling concepts
Identifying bottlenecks
Profiling node applications
Tooling
presented at Web Unleashed 2019
For more info see https://fitc.ca/event/webu19/
Kevin Daly RBC Ventures
Every developer has faced the difficult choice of deciding what tech stack they should use for a new project. Should you use the latest tech or something that everyone knows? Which framework is the best for your team? To survive your tech stack, developers must make trade-offs with developing on new tech stacks and the ability to maintain and scale their applications.
In this presentation, you’ll learn how to evaluate your tech stack and understand the pros and cons of using bleeding edge technology. Using his past experiences, Kevin will also share his lessons learned and how his team tackles managing their tech stack today.
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Bushra Mahmood
Unity Technologies
Overview
In this talk, Bushra Mahmood will explain how to articulate and pitch augmented reality as a viable medium to help solve problems. Learn about what makes an AR application come together on both mobile devices and headsets. Uncover different tools and methodologies for problem-solving and making a compelling story.
By properly understanding this technology and its parts, creatives can take an active role in shaping and defining this new space in computing.
Objective
Learn the tools and techniques required to pitch an augmented reality project.
Target Audience
Designers, product managers, product stakeholders.
Assumed Audience Knowledge
An understanding of product design and an awareness of AR
Five Things Audience Members Will Learn
The right language to use when explaining ‘spatial’ design
The different requirements and considerations for scoping an AR project
The tools that are currently available for AR authoring
Insights into what the near and far future will hold for this medium.
An example of an AR application pitch
Start by Understanding the Problem, Not by Delivering the AnswerFITC
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Karri Ojanen
RBC Royal Bank of Canada
Overview
Over the past number of years companies have adopted the idea of customer-centricity. People across functions can fluently talk about the importance of paying special attention to end-user needs and overall customer experience.
But innovation and forward-thinking ideas that connect both customer and business needs can’t simply be squeezed out of brainstorm sessions and sticky notes if the organization doesn’t learn how to effectively look outside of its own silos. In this session, Karri will show how to move from jumping to solutions to driving innovation by understanding the question first.
Target Audience
Designers, researchers, strategists, product managers, and technology leads
Three Things Audience Members Will Learn
Methodologies and tools to form insights out of a holistic understanding of customer challenges
How to synthesize data to form a vision of the better future
How to break the vision into manageable chunks that drive value for the business and the customer at every launch
Cocaine to Carrots: The Art of Telling Someone Else’s StoryFITC
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Alan Williams
Imaginary Forces
Overview
During dailies as an intern at Imaginary Forces, Alan’s director, Karin Fong, would follow her animation feedback with one of the scariest and empowering questions of his career, “what do you think?” Over the last eight years, Alan’s transition from technician to creative director came from a dramatic shift in how he approached and answered that question. By examining larger conceptual principles to practical application in commercial and tv/film design, such as HBO’s Vinyl and Netflix’s Anne with an E, he will share hard-learned lessons that can empower you, whether in Photoshop, behind a camera, or pitching to clients, in developing and selling your creative voice.
Target Audience
Visual communicators eager to become more evocative storytellers
Five Things Audience Members Will Learn
‘Method branding’ in a selfie culture
O.C.D. (observe, collect, dissect) & the imagination
The resuscitating power of rearrangement
Pertinence vs pipeline: the crippling cage of routine
Less pitching, more poetry
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Carl Sziebert
Google
Overview
Innovation is defined as the process of making an idea into a good or service that creates value by meeting a need or solving a problem at scale. This talk explores ways to find inspiration from everyday sources, invest in skills that foster collaboration, and identify opportunities for impact. While leveraging the core principles of and learnings from designing products for real people, Carl will examine a number methods for building creativity and innovation into our everyday work.
Target Audience
For individual contributors looking to cultivate opportunities for impact and find the right time, space, and tools to innovate in our everyday work.
Five Things Audience Members Will Learn
A bottom-up approach to framing innovation within your daily work
Identify and validate opportunities that make an impact
Prioritize, prototype, and build understanding of the problems you are solving
Collaborate locally and globally
Seek, give, and apply feedback often
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Chris Zacharias
imgix
Overview
The average website loads over 1.5MBs of content per page, making over 75 requests. Many popular websites are serving over 5MBs just to load their homepages. And these numbers represent measurements taken AFTER compression is applied. The full weight of many popular websites is pushing 20+ MBs these days. In an era where performance truly matters to the end user experience, web developers need techniques to help curtail this bloat in data down the wire.
No matter how well you optimize, there is no better way to than to delete things you do not need. How does one determine what is essential to the user experience and what is not? One answer Chris posits is to develop a hyper-lightweight version of your website which will provide critical insights into your specific performance priorities. This is a process that he has leveraged on many projects, in particular at YouTube to reduce the size of the video watch page from 1.5MBs to 100KBs. In this talk, Chris will take real-world web pages and show techniques for dramatically reducing their page weight and for identifying areas to optimize, while outlining the key steps to doing this well.
Objective
Learn a process for building a hyper-lightweight version of your website for establishing reasonable performance budgets, grounded in reality, to work from.
Target Audience
Web developers
Assumed Audience Knowledge
HTML, CSS, Javascript, some server-side awareness.
Level
Intermediate
Five Things Audience Members Will Learn
How to analyze a web page for performance issues
A holistic approach to deconstructing an existing website
A clear process for building a hyper-lightweight version of your website
Translating your findings into real performance priorities
Establishing a realistic performance budget
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Michael Fullman
VT Pro Design
Overview
An exploration of the process of creation. We live in a time where technology and inspiration are more readily available and accessible than ever before. That being said we also live in a time that mostly highlights the successes of projects and process. In this particular talk Michael wants to touch on the process of creation with technology at VT Pro, to further explore a full circle approach to inspiration and creation where often times our next project is inspired by something learned in the process of creating something else.
By exploring what went wrong and what went right in a number of different projects he’s created, Michael will touch on points where inspiration can be found in this world of seemingly endless technology; the importance of collaboration; what can be learned from the moments that don’t necessarily go as planned; and how often projects come close to failure than the audience ever knows. Lastly he wants to touch on the process of finding personal inspiration to inspire an audience, and the momentum to push further that comes from their energy.
Objective
Things often don’t go as planned, but often that’s the fun part.
Target Audience
Creative technologists and experience designers
Five Things Audience Members Will Learn
Collaborative process
Giving personality to a piece of technology
How to learn from the unexpected
We all start somewhere (the journey is just as important as the destination)
Everything is possible now
Post-Earth Visions: Designing for Space and the Future HumanFITC
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Sands Fish
MIT Media Lab
Overview
Today, the environments that humans occupy in space are designed for survival. Humans are carefully shuttled to and from space, and during their relatively short stays, they are provided with minimum supplies to remain alive and able to perform experiments. As we begin to plan less for short visits and more for life in space (such as a six to eight month trip to Mars and beyond) the question becomes: What does human culture look like in space?
This talk will explore how human culture, design, and creativity might evolve as we begin to live in space, and the unique environmental conditions that might guide us in certain directions, just as the environment on Earth has. It will discuss space tourism, living in zero gravity, and some experiments in art and design that hint at future aesthetics.
Objective
Convey what opportunities exist at the outset of a more democratized New Space age, and call out the aesthetics, ethics, and cultural frontiers we find ourselves faced with at the end of the second decade of this century.
Target Audience
Those interested in the future of human life in space
Five Things Audience Members Will Learn
The history of human culture in space
Unique design constraints and considerations when designing for zero gravity
The experience of flying in a zero-g flight
The aesthetics at play in human spacefaring — (what has been)
New forms, new materials, new ideas — (what might be)
The Rise of the Creative Social Influencer (and How to Become One)FITC
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Lindsay Munro
Adobe XD
Overview
Your social network could be more valuable than the work you’re doing today, because it could (and should) lead to the opportunities you get tomorrow. Your next post could result in your next recommendation, job, collaboration, exhibit, and next level experience.
In this session, you’ll learn how to hone and build your online social media presence to attract brands and engage in the modern-day endorsement deal. Get a behind-the-scenes perspective on the things brands look for in creative profiles and the rules of engagement.
Objective
Teach the ins and outs of what it means to be a creative social influencer.
Target Audience
Creatives looking to up level their social media presence and strike brand partnerships.
Things Audience Members Will Learn
How to set yourself up for “success” on social media
The importance of working with the right brands
Figuring out compensation and negotiating contracts
The ins and outs of disclosure and liability
How to not mess it up
Presented at FITC Toronto 2019
More info at www.fitc.ca/toronto
Amelie Rosser
Jam3
Overview
For the past two years Jam3 worked alongside Joy Kogawa and the NFB to create East of the Rockies, an augmented reality storytelling experience.
East of the Rockies is the first interactive AR game of its kind. The story takes users through a piece of Canadian history where Japanese Canadians were forced to leave their homes and live at internment camps during WWII.
This talk will cover the creation of the game: from concept and storyboarding, to the development process in Unity and various challenges and questions to consider from a creator’s perspective.
Objective
To let the audience in on the behind the scenes of developing an AR experience like East of the Rockies.
Target Audience
For those interested in Augmented Reality storytelling and game development.
Five Things Audience Members Will Learn
AR techniques using Unity
Storytelling in AR
Prototyping interactions in AR
Game state management using Unidux
Game optimization techniques in Unity
The Knowledge Society: Three Talks About the Future
Futurism Innovation Science
Isabella Grandic
The Knowledge Society
Overview
Join three incredible, young, and brilliant minds as they present their findings on topics that we’ll all have to deal with in the not so distant future. This series of talks will explore how exponential technologies like synthetic farming, nanotechnology, and quantum computing can be used to solve some of the world’s most difficult problems.
The speakers are all students of The Knowledge Society (TKS), a human accelerator for high school students designed to help them impact billions. TKS encourages students to take risks and think big.
Ayaan Esmail‘s talk will cover creating a proactive healthcare system
World Transformation: The Secret Agenda of Product DesignFITC
R.C. Woodmass
Crescendo
Overview
The reports are in: how we relate to technology directly affects how we relate to other humans, to our environments, and to ourselves. Are we headed for a technological dystopia, where robots are in charge and empathy is just a word for the history books? Not necessarily! Learn how the interfaces we interact with can teach us how to be better communicators, increase our understanding of each other, and how product design might be the key to building a positive future for all.
Objective
Directly address fear and skepticism about technology, inspiring all who design and build tech to think more empathetically when building UX and UI.
Target Audience
Product designers, HR specialists, and anyone skeptical about technology
Three Things Audience Members Will Learn
How to create user interfaces that are flexible enough to include everyone, even if they can’t keep up with all the different identities and new labels that people are using
What is conversation design, and how it has the power to teach people how to communicate
How AI has the potential to be more inclusive than previous data analysis systems, if we leverage its weaknesses to the human advantage
Matt Swoboda
Notch
Overview
The adoption of real-time technologies and workflows for content creation is a seismic shift in the world of video/graphics. It has a fundamental effect on not just on render times but on the entire creative process. In this session hear from someone who has been using realtime graphics for creative work for almost 20 years, and his experiences in applying it to productions such as the Ed Sheeran world tour and Cirque du Soleil.
Objective
Give the audience an overview of what really is capable in a real-time workflow today, and where things are headed.
Target Audience
Anyone who wants to take confident steps in the direction of real-time motion graphics, especially within the live, installation and AR fields.
Five Things Audience Members Will Learn
How does real-time change the creative and production process
Limitations – where does it work, where doesn’t it make sense
What real-time graphics are capable of today
What happens on a rock’n’roll tour bus
What DOESN’T happen on a rock’n’roll tour bus
Hasan Ahmad
Aquent DEV6
Overview
PWAs are a newly emerging delivery format for web, desktop apps. The fact that they can be installed on a client device and behave like natively installed apps means that special care should be taken when designing and building these types of apps, above and beyond a typical browser-only web application. One of the most important (potential) differentiators in the user experience of a PWA app vs a traditional web app is the ability to provide a high-performance UI because of their ability to do things like cache resources offline, including entire pieces of Web UI code, and the use of background services. In this talk we are going to do an exhaustive overview of the entire landscape of building PWAs from a performance-first perspective.
Target Audience
Web development teams
Assumed Audience Knowledge
Web Development fundamentals
Objective
Large enterprise applications
Five Things Audience Members Will Learn
Why PWA’s require performance engineering
What tools are available to measure performance metrics
Offline caching strategies
Host device considerations: desktop and mobile
Taking advantage of background code: Service Workers
Bhavana Srinivas
Netlify
Overview
A new web stack has emerged. A stack powered by modern browsers, API economy and Git based workflows. A stack that is not tied to specific technologies. A stack that takes into account both developer experience while building the application, and user experience when interacting with the application. A stack that delivers better performance, higher security, and lower cost of scaling for web applications.
In this talk, Bhavana will dive more into the architecture and best practices for building performant web applications using the JAMstack
Objective
Educate the audience about the JAMstack and why it powers performant sites
Target Audience
Web stakeholders who want fast, secure and performant websites
Assumed Audience Knowledge
Built a website/interacted with sites
Five Things Audience Members Will Learn
What is the JAMstack
The ecosystem around the JAMstack
How to improve the performance of your site built on the JAMstack
Example sites built on this architecture
Resources and best practices
From Closed to Open: A Journey of Self DiscoveryFITC
Midge “Mantissa” Sinnaeve
Mantissa
Overview
Midge will be speaking about his experience of switching to open source applications for his freelance work. From ditching expensive software subscriptions to going down the linux rabbit hole, he’ll take you along for the ride and show you some cool stuff along the way.
It’s an in-depth look at what happens when your digital tools become an extension of yourself and how that can in turn inspire you to get better as an artist and find your style.
Objective
Taking a critical look at how you work and why.
Target Audience
(Motion) designers, 3D & VFX artists
Four Things Audience Members Will Learn
Open Source Design Tools
Self-criticism
Inspiration
Letting go
Studio Macouno has been realizing post industrial projects for two decades. Though they’re very busy doing things like creating generative shavers for Philips and designing life size 3D printed petition elephants, those are but a fraction of what they would like to do.
In this talk Dolf will explore the projects they just don’t have time for. The things the studio would love to do but can’t do on it’s own. The things that are way out there… Those that don’t seem possible, or are just too much work. The dreams that they think are a bit too much, but they just might do anyway.
Objective
Finding, funding and founding cooperatives for creative futurist projects.
Target Audience
People interested in making things today that seem ideas for tomorrow.
Five Things Audience Members Will Learn
Some about generative design
3d printing
Art
Running projects
And making things happen
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
2. WHO AM I?
•
Richard Nieuwenhuis
•
32 years old
•
MediaMonks
•
7 years a Monk
•
Lead of Operations / Head of
development
3.
4. Overview
•
What is Node.js
•
Some small examples
•
Asynchrony here, asynchrony there
•
Some (popular) Node.js modules
•
Socket.io
•
High performance examples
•
Some tips & tricks
5. When and by whom?
•
First made public in 2009
•
Ryan Lienhart Dahl
•
Currently at version 0.10.25*
•
“Why is a progress bar so difficult?”
•
•
“Why the heck are we polling???”
This sheet was created 17-2-2014
6. What nodejs.org says
•
“Node.js is a platform built on Chrome's JavaScript runtime for
easily building fast, scalable network applications. Node.js uses
an event-driven, non-blocking I/O model that makes it lightweight
and efficient, perfect for data-intensive real-time applications that
run across distributed devices.”
7. In short how many people see it
•
Server side JavaScript!
9. Where to begin?
•
Download & Install Node.js
•
•
Use your favorite IDE
Node.js API/Modules:
•
•
Sort of API‟s which expose Node functions
•
Allows the Node.js community to extend Node.js
•
•
Built-in
Super lightweight
Add-ons
•
Quite a big community
•
The NPM (Node Package Manager)
10. Some Node.js APIs/Modules
•
http
•
•
Provides basic functions for creating a server and handling requests
https
•
•
For setting up a secured server
assert
•
•
For creating unit tests for your code (NodeTDD!)
fs
•
For doing stuff with the File System
12. Let‟s build something simple
•
Simple server
•
Every “Hello World” Example starts with this.
•
Read the files of a folder.
•
Print the file names in the browser in sorted fashion.
•
PS. Examples show Node specifics and are to illustrate points and are by no
means “elegant, save” etc :-)
13. Create our own module: sorterservice.js
function sortFileNames(fileNames){
return fileNames.sort();
}
exports.sortFileNames = sortFileNames;
-
a module can be a single file
a module can be a folder
exports is a special object to define properties
-
Can be any type: function, strings, etc
14. Requiring needed modules
//require the needed modules
var http = require('http');
var fs
= require('fs');
var sorter = require('./sorterservice');
15. Create server and verify requests
http.createServer(function(req, res){
switch(req.method){
case 'POST':
console.log('This is a post request');
break;
case 'GET':
switch(req.url){
case '/':
readFileNames(res);
break;
case '/showfiles„:
readFileNames(res);
break;
case '/favicon.ico„:
break;
}
break;
default:
res.setHeader('Content-Type', 'text/plain');
res.end("This method I simply do not know");
}
16. Let‟s read the file names
function readFileNames(res){
var dirName = './files';
var html = '';
var fileNames
= fs.readdirSync(dirName);
var sortedFileNames = sorter.sortFileNames(fileNames);
html += '<ol>';
for(var index in sortedFileNames){
html += '<li>' + sortedFileNames[index] + '</li>';
}
html += '</ol>';
sendFileNames(res, html);
}
17. One last thing & Does it work?
function sendFileNames(res, html){
res.setHeader('Content-Type', 'text/html');
res.end(html);
}
18. Two big things not OK here
Which are also two important Node aspects
1)
Error handling
2)
A-synchronous architecture
19. Main problem 1
function readFileNames(res){
var dirName = './files';
var html = '';
var fileNames = [];
fileNames
= fs.readdirSync(dirName);
var sortedFileNames = sorter.sortFileNames(fileNames);
html += '<ol>';
for(var index in sortedFileNames){
html += '<li>' + sortedFileNames[index] + '</li>';
}
html += '</ol>';
sendFileNames(res, html);
}
20. What did we see?
•
The server crashed and Node stopped running
•
A lot less forgiving than PHP for example
•
Not OK during a super bowl commercial where millions of Dollars are spend
;-)
Tip: Look at the Node.js module forever
21. In this case a simple
if (fs.existsSync(dirName)){
fileNames = fs.readdirSync(dirName);
}
Would suffice….
•
Defensive programming is super important in Node
•
Verify everything!
•
Valid user input
•
Expect the unexpected (even if you expect otherwise)
•
Act on any error that may occur (and log it)
•
Have a process in place to restart node just to be sure (forever module)
23. Synchronous development
•
Blocking/Synchronous requests are bad
•
•
It will “block” the continuation of your logic for the amount of time the
blocking request is active (requesting a JSON file for example)
On the server you basically have the same problems
•
•
But it will affect all visitors immediately when one request is stalling
Can ultimately lead to a crashing server
25. Continued
Pffff, I need to
return 200K
rows?
Request
Cpu to r2: Sorry, I
am doing nothing,
but the DB is
sooooo slowww
Request 2
Going to take
me a while!
doQuery()
CPU
processData()
Cpu
time
DB
26. The Event Loop
Take this event
loop!:
doQuery(cb)
Pffff, I need to
return 200K
rows?
Going to take me
a while!
Request
CPU to r2: thanks
man! I am
processing your
request
Request 2
CPU
processData()
E
loop
callback
DB
27. A-Synchronous Node development
A lot of Node functions have a-synchronous versions.
fs.readdir(dirName, function(err, data){
if (err){
console.log();
}
var sortedFileNames = sorter.sortFileNames(data);
//The other code
--------------------------http.createServer(function(req, res){……
28. A-Synchronous Node development
•
A-synchronize as much as possible to keep the main process as “free” as
possible.
•
•
Much more necessary when it is a high-performance environment
It is not the holy grail! Keep the Big O in mind: for (var x = 0; x < 25.5Billion;
x++)
•
Sequencing & parallel
•
Can become quite messy and unreadable
29. A highly unlikely hypothetical situation
•
Read the files from Dir A
•
Merge the content of all files of Dir A into one file
•
Read the files from Dir B
•
Append the content of step 1 to all files in Dir B
•
Store these results in the Database
30. Would look something like this
aSynReadDir('A/', function(files) {
mergeFiles(files, function(fileContents) {
aSynReadDir('B/', function(files) {
appendFiles(fileContents, files, function(appendedFiles) {
insertIntoDatabase(appendedFiles, function() {
});
});
});
});
});
31. Useful Node Modules: Socket.io
•
Latest browsers support Web sockets
•
IE10+
•
Chrome
•
FireFox
•
“Weirdly” on Android only starting from 4.4…
•
Socket.io leverages the Web socket technology for bi-directional
communication between clients & servers:
•
With degradability in place for the “older” browsers!
32. Socket.io continued
•
Very nice for real time applications with a lot of concurrent users.
•
Browser based games where you mobile is the controller
•
Second screen applications
•
Updating the client:
•
Chat
•
Real time statistics
•
News updates
•
Etc
33. Small example (Server)
var server = http.createServer(function(req, res){
//code here
});
var io = socketio.listen(server);
function sendRandomMessage(){
var index = Math.floor((Math.random()*4));
io.sockets.send(words[index]);
}
34. Small example (Client)
var socket = io.connect();
socket.on('message', function (message) {
console.log(„I received the message ' + message);
var m = document.createElement('p');
m.innerText = message;
document.getElementById('text').appendChild(m);
});
36. Other Useful Node Modules
"dependencies": {
"express": "3.4.7", // Web Framework
"express-validator": "1.0.1",
"request": "2.25.0", //
"redis": "0.10.0", //Redis: High performance in memory DB
"hiredis": "0.1.16", // To make Redis even faster with C written stuff
"redis-sentinel": "0.0.5", // Redis failover
"http-auth": "*", //for authentication
"openid": "0.5.5", //Open ID client
"statsd-client": "*", //NodeJS deamon for logging request s
tatistics
"facebook-node-sdk": "0.2.0",
"librato-metrics": "0.0.7",
"statsd-client": "0.0.15"
}
38. KLM
CLAIM YOUR
PLACE IN SPACE
Are you ready to win the ultimate journey
of inspiration? Claim your spot in space
Produced for DDB & Tribal Amsterdam
Case
Video
39. THE VOICE
OF HOLLAND
Talpa
This season you can be a
coach at home. Show your
coaching qualities with The
Voice of Holland Thuiscoach
app.
Case
Video
40. THANK YOU!
•
We are looking for new awesome
developers!
•
Questions: richard@mediamonks.com
Editor's Notes
Like MediaMonks on Facebook: https://www.facebook.com/mediamonksMore information about MediaMonks: http://www.mediamonks.com/
Share your participation!Facebook share moment: “I am participating in the 2nd screen presentation of @MediaMonks @FITC”Twitter share moment: “I am participating in the 2nd screen presentation of @MediaMonks @FITC”
Text: “This is Ryan Dahl”{Image of Ryan Dahl}
Text: “Yep, literally copy pasted it”
Text: “Nothing to say here”
Text:“V8 powers the Google Chrome browser”“More information on V8: https://code.google.com/p/v8/”
Text: “Download Node.js here: http://nodejs.org/”Text: “Currently around 60.000 3rd Party modules! See: https://www.npmjs.org/”
Question: “What JavaScript engine is Node.js using?”v2 rocketV8V7 v18Correct answer = b
Text:A closer look on your phone:“{ protocol: 'http:', slashes: true, auth: null, host: 'www.mediamonks.com', port: null, hostname: 'www.mediamonks.com', hash: null, search: '?who=richard&location=fitc', query: 'who=richard&location=fitc', pathname: '/', path: '/?who=richard&location=fitc',href: 'http://www.mediamonks.com/?who=richard&location=fitc' }“Note for myself:Do a repl demonstration of the following code: “require(‘url’).parse(‘http://www.mediamonks.com/?who=richard&location=fitc’)”
Image (ugly_code.jpg)
Text: “Nothing to say here”
Text: “Share moment”Facebook share: “Looking at some Node.js Code @FITC”Twitter share: “Looking at some Node.js Code @FITC”
Text:“Nothing to say here”
Text: “Bored? Answer the following question:”Script Language = JavaScriptWhat is the value of Y at the end of the following code snippet:var x = 7;var y = ‘’;if (x++ == 8) y = 'The Terminator';else y = 'Robocop';‘’The TerminatorRobocopError, syntax errorCorrect answer = c
Text: “That was freaking awesome!”Richard notes: Show them the amazing website
Image: arnold.jpg
Question: What do you think is the underlying technology of this application on your mobile?PollingStored in JavaScriptSockets (and fallbacks)Correct answer: CRichard notes: show them what happens when the dir name is changed
Question: “Which Node.js module did I use for reading the files?”httpnetfsnsCorrect answer = c
Answer the following question:What sentencewill be printed?function justWaitAMinute(cb){setTimeout(function(){cb(); }, 60000);}var text = ‘Future’;justWaitAMinute(function(){ console.log(‘What?: ‘ + text );});var text = ‘Creativity’;What?: CreativityWoot?: CreativityWhat?: FutureCorrect answer = A
Text: “Nothing to say here”Node has cluster setup
Text: “You might think, DUH! ”
@Richard: show them it blocks by using the slowserver.jsQuestion:Which of the following is not an HTTP methodPOSTGETHEADUPDATEDELETECorrect answer: D
Text: “The important thing here is that the main process is waiting for the database to return its result, while basically doing nothing resource wise. It prevents other request of being accepted”
Text: “The important thing here is that the main Node process lets the Event Loop wait for all the IO call backs. This means that the main process can continue handling request for example”
Text: For if you wanted to see the rest of ht code:if (err){ console.log('Crap, dir does not exist :-('); }if (typeof data != 'undefined'){varsortedFileNames = sorter.sortFileNames(data); }html += '<ol>';for(var index in sortedFileNames){ html += '<li>' + sortedFileNames[index] + '</li>'; }html += '</ol>';sendFileNames(res, html); });
Text: “See node.js documentation here: http://nodejs.org/api/. Make sure to use the A-Synchronous variants of the functions”
Question: What is the Big O of the following pseudo code snippet?data = [1 , 2, …, ………];data2 = [1, 2, …, …..];for(var x = 0; x < data.length; x++){ for (var y = 0; y < data2.length; y++){ //do something }}n2n3nn^3n^2Answer is e
Text: “Nesting happens a lot!”
People’s Choice of the Year: Adidas Nitro charge uses Socket.ioDesktop: http://www.nitrochargeyourgame.com/Image: nitro.jpg
Share moment:FB & Twitter share “Socket.io for the win @FITC”
Text: “Nothing to say here”
Text: For more information on Socket.io: http://socket.io/
Text ‘Nothing to say here’
Text: “This is a package.json file in which you can specify module dependancies”