by Giulio De Donato - The last few years have been incredible for PHP, the community, thanks to best practices emerged from the Medieval period. The talk shows the best of the PHP Renaissance, combining concepts and approaches of different philosophies and languages in order to let you create the perfect PHP application. Take part in the Renaissance, today! Warning: - Vintage concepts as Object Oriented Design will be administered to attendees - Violent scenes against monolithic culture, will be shown during the talk - Some practices will be stolen from: SOLID princ., DDD, SOA - You will take PHP seriously.
This slides explains how we develop our Mercari app globally.
It shows:
- The difference between the US and Japan
- Our product team
- Developing flow and localization
- Tools we use for communication
This document profiles Ahmed Abu Eldahab, a Google Developer Expert in Flutter and Dart. It provides information on Flutter and Dart, including that Flutter is Google's mobile UI framework that allows building native iOS and Android apps from a single codebase. It also summarizes recent updates and improvements to Flutter and Dart in 2021 related to performance, productivity, and support.
Lorin Beer's presentation from the SF PhoneGap Meetup on November 28, 2012. Pender is a cross platform library which offers hardware accelerated graphics through a Canvas API on mobile devices.
Setting up your development environmentRobert Deutz
This presentation is a snapshot how I have setup my development environment. I am constantly evaluating, so this presentation is constantly changing. It gives developers and people that are planning to start with development practical tips, I am presenting in some way best practicals. Because it is my view and what I have found it is also questionable. I am talking about coding styles, Editors, IDE, build tools like phing, git and all that stuff.
This presentation is an introduction to the Joomla!Platform, what is the platform, what are the ideas behind it, why we have this separation between CMS and platform. I am speaking about the pro and cons, briefly ;-) A big part are real live examples how I or others have used the platform, when it makes sense to use the platform and when it doesn't makes sense. I do explain how to contribute to the platform and to the project at all. PHP knowledge is not necessary.
PhoneGap Day US 2013 - Chrome Packaged AppsPhoneGap
The document discusses building packaged Chrome apps and compares them to web apps. Packaged apps can run offline by default, access hardware capabilities, and provide a richer experience than web apps. They can also be distributed and updated through the Chrome Web Store. The document outlines the process of converting a web app into a packaged app by modifying the app structure and code to include things like a manifest file and background services.
The document discusses various topics related to becoming a better developer such as choosing the right programming language, following coding standards, writing code for humans, creating goals, and whether to focus on web or mobile development. It also touches on native vs. cross-platform mobile development and some challenges of learning programming like the fact that learning never finishes and "no pain, no gain". The author introduces himself as having 22 years of experience writing code and founding a software company.
by Giulio De Donato - The last few years have been incredible for PHP, the community, thanks to best practices emerged from the Medieval period. The talk shows the best of the PHP Renaissance, combining concepts and approaches of different philosophies and languages in order to let you create the perfect PHP application. Take part in the Renaissance, today! Warning: - Vintage concepts as Object Oriented Design will be administered to attendees - Violent scenes against monolithic culture, will be shown during the talk - Some practices will be stolen from: SOLID princ., DDD, SOA - You will take PHP seriously.
This slides explains how we develop our Mercari app globally.
It shows:
- The difference between the US and Japan
- Our product team
- Developing flow and localization
- Tools we use for communication
This document profiles Ahmed Abu Eldahab, a Google Developer Expert in Flutter and Dart. It provides information on Flutter and Dart, including that Flutter is Google's mobile UI framework that allows building native iOS and Android apps from a single codebase. It also summarizes recent updates and improvements to Flutter and Dart in 2021 related to performance, productivity, and support.
Lorin Beer's presentation from the SF PhoneGap Meetup on November 28, 2012. Pender is a cross platform library which offers hardware accelerated graphics through a Canvas API on mobile devices.
Setting up your development environmentRobert Deutz
This presentation is a snapshot how I have setup my development environment. I am constantly evaluating, so this presentation is constantly changing. It gives developers and people that are planning to start with development practical tips, I am presenting in some way best practicals. Because it is my view and what I have found it is also questionable. I am talking about coding styles, Editors, IDE, build tools like phing, git and all that stuff.
This presentation is an introduction to the Joomla!Platform, what is the platform, what are the ideas behind it, why we have this separation between CMS and platform. I am speaking about the pro and cons, briefly ;-) A big part are real live examples how I or others have used the platform, when it makes sense to use the platform and when it doesn't makes sense. I do explain how to contribute to the platform and to the project at all. PHP knowledge is not necessary.
PhoneGap Day US 2013 - Chrome Packaged AppsPhoneGap
The document discusses building packaged Chrome apps and compares them to web apps. Packaged apps can run offline by default, access hardware capabilities, and provide a richer experience than web apps. They can also be distributed and updated through the Chrome Web Store. The document outlines the process of converting a web app into a packaged app by modifying the app structure and code to include things like a manifest file and background services.
The document discusses various topics related to becoming a better developer such as choosing the right programming language, following coding standards, writing code for humans, creating goals, and whether to focus on web or mobile development. It also touches on native vs. cross-platform mobile development and some challenges of learning programming like the fact that learning never finishes and "no pain, no gain". The author introduces himself as having 22 years of experience writing code and founding a software company.
The document discusses mobile app development tools and platforms in 2018. It introduces Ahmed Abu Eldahab, a mobile app developer with over 15 years of experience. It then covers various mobile development platforms like iOS, Android, and approaches like mobile web vs native apps. The document serves as an introduction to the different tools, platforms, and techniques available for building mobile apps.
Flutter is Google's mobile app SDK that allows building high quality iOS and Android apps using one codebase. It offers fast development of expressive and beautiful UIs using its modern reactive framework while providing access to native features and SDKs. The main benefits are writing one code for both platforms and very fast development. However, it requires learning a new language, Dart, and there is no widget GUI builder. Third party Java libraries cannot be used cross-platform. Tutorials are provided to help learn Flutter.
Tetsuya Matsuzawa from RareJob Inc. gave a talk on the Microsoft Bot Framework. The framework allows bots to be built and tested using an emulator and integrated with Language Understanding Intelligent Service for natural language capabilities. While the framework currently only supports C# and Node.js for development and remains in beta, its strengths include an easy to use emulator and simple collaboration with LUIS for natural language.
The document discusses creating multilingual Android applications. It defines key concepts like globalization, internationalization and localization. It then provides guidance on identifying localizable items, separating them from code, performing development, translating content, and integrating different languages into the app. The document recommends using resource folders to organize localized assets and strings. It also offers tips for ensuring high quality localization, including being politically correct and evaluating translation needs.
Go Programming Language - Learning The Go Lang wayIndicThreads
The document summarizes a presentation on the Go programming language. It covers the basics of Go including that it is open source, has no semicolons, uses namespaces and the "main" keyword. It then walks through examples of printing multiplication tables, using arrays and slices, testing code, concurrency using goroutines and channels, working with structs and interfaces. The presentation highlights Go's simplicity, reliability and efficiency and provides a GitHub link for the example code.
Backend development focuses on the server-side of web applications, including databases, data storage and retrieval, security, and APIs. The key skills required for backend development are proficiency in server-side programming languages like JavaScript, Python, Java, and C#, as well as knowledge of database technologies like MySQL, MongoDB, and SQL Server. Backend developers are responsible for designing effective backend solutions, storing and securing user data access across devices through APIs and version control systems.
Software Craftsmanship Journeyman Tour (2013)Peter Kofler
Peter Kofler is a software developer and "code cop" who is passionate about code quality. He has a Ph.D in applied mathematics and 14 years of industry experience. Kofler is embarking on a "Journeyman Tour" to pair program with developers, teach skills like test-driven development and clean code, and learn new techniques and technologies from others. During the tour, he will pair with developers for a few days, teaching and learning from each other, and blog about his experiences to help others improve their craft. Kofler invites attendees to learn from his teachings on software craftsmanship.
LogiLogicless UI prototyping with Node.js | SuperSpeaker@CodeCamp Iasi, 2014Endava
The document introduces Logicless Prototypr, a Node.js-based prototyping tool that uses Express and Handlebars. It allows creating high-fidelity prototypes through HTML, CSS, and JavaScript with mock data and server-side services. Some advantages are that it is easy to use, extendable, iterable, and decouples backend logic from presentation logic while mocking business logic. The creator argues it is better than other prototyping options as it brings prototyping closer to production. The future may include mocking more advanced features and improving documentation.
The document discusses clean code practices such as using meaningful names, small and focused functions, and avoiding null values and duplicate code. It also discusses bad code smells like no separation of concerns. The presenter advocates for refactoring, code reviews, and using tools like PHPLOC and PHPCodeSniffer to maintain clean code. He welcomes questions and feedback on topics like WTF as a metric, comments, and error handling best practices.
A full-stack developer is someone who can take a project from conception to a finished product, handling both front-end and back-end development. They have a wide range of skills across the stack rather than deep expertise in one area. Full-stack developers are well-suited for small startups but may face more scaling challenges in larger companies with more specialized roles. The document discusses technologies used in full-stack development and tips for learning new skills like contributing to open source projects.
Being a great engineer is about more than the code you write - working to your strengths and learning from other specialists in your team is what can make you truly shine.
What is a Full stack developer? - Tech talk Bui Hai An
This document discusses full-stack developers and debunks myths about what they are. A full-stack developer is defined as someone with familiarity or mastery across front-end, back-end, and other layers of software development who enjoys learning new technologies. It is presented that full-stack developer is more of a mindset of being open-minded and willing to learn rather than a job title. The document provides advice on how to become a full-stack developer by expanding one's skill set through online courses and personal projects. Examples are given of how full-stack developers have benefited a product development lab in Vietnam called Silicon Straits Saigon.
This document discusses developing apps for Chrome OS and describes the different types of apps that can be built, including Chrome Apps, Chrome Packaged Apps, and Native Clients. It outlines the app lifecycle and key parts like the manifest and background scripts. Native Clients are recommended for resource-intensive apps like 3D games, multimedia editors, CAD modeling, data analytics, and simulations.
The document discusses new features in C# 6.0, including auto property initializers, expression bodied function members, the null conditional operator, string interpolation, and exception filters. It was written by Senthil Kumar B, a Microsoft MVP in Windows Platform Development, and provides an overview of C# versions from 1.0 to 5.0 before focusing on features introduced in C# 6.0. It also explains that Visual Studio 2015 Preview can be used to try out C# 6.0 features.
The document discusses using Second Life for application prototyping and testing. It describes how a company called ItOnlyTakes1 developed visualization tools and moved from 2D and 3D versions to using Second Life to prototype and test applications. The document outlines the initial issues with the move to Second Life, both the good and bad unexpected results, how preparation was optimized, and the positive results of using Second Life. It is intended for educators, programmers and product developers inside and outside of Second Life.
This document outlines an agenda for a coderetreat event focused on practicing software development skills. The event will involve pairing programmers who will practice test-driven development and object-oriented design principles by implementing Conway's Game of Life using various programming language and problem constraints. Presenters will discuss techniques for improving code quality through deliberate practice and emphasize learning through collaboration.
API design for gem authors (and users)
Ruby applications are becoming more complex and unwieldy (think MonoRails). An increasing number of us are trying to address this by separating our apps into gems without knowing best practices on how to write APIs or how to manage dependencies and versioning. The discussion we often have around good APIs should not stop with Ruby OO design, but should also consider the public APIs of gems.
This talk is intended for gem authors and users. It will share though many practical examples using the Ruby driver to MongoDB 1) Principles of good gem API design, 2) How to make your gem API optimal for users and how to best use the API of a gem, 3) Guidelines for introducing and anticipating gem API changes and managing dependencies.
Tara Ojo - Junior.next() - Codemotion Berlin 2018Codemotion
Life as a "junior" developer can be intense, overwhelming, but rewarding. How can juniors move on to the next level? And, what can managers, tech leads and teams do to support the the next generation of developers?
Tara Ojo - Junior.next() - Codemotion Berlin 2018Codemotion
Life as a "junior" developer can be intense, overwhelming, but rewarding. How can juniors move on to the next level? And, what can managers, tech leads and teams do to support the the next generation of developers?
Boca Raton Android Developers meetup kick off talk. Being the very first meetup meeting, I thought it a good idea to talk about all the opportunities open to Android Developers and shared some developer resources
User-Experience (UX) focuses on understanding what users' needs and value, and provide practical products or services. This human-computer interaction acts the same when the users are developers. This talk focuses on Developer-Experience (DX), to establish a good relationship between developers and platform or API providers.
[#DevRelAsia Keynote 2020] Developer Centric Design for Better ExperienceTomomi Imura
Tomomi Imura talks about improving the developer experience of technical content & docs and her own experiences from the most recent project at Microsoft and her previous work at Slack.
The document discusses mobile app development tools and platforms in 2018. It introduces Ahmed Abu Eldahab, a mobile app developer with over 15 years of experience. It then covers various mobile development platforms like iOS, Android, and approaches like mobile web vs native apps. The document serves as an introduction to the different tools, platforms, and techniques available for building mobile apps.
Flutter is Google's mobile app SDK that allows building high quality iOS and Android apps using one codebase. It offers fast development of expressive and beautiful UIs using its modern reactive framework while providing access to native features and SDKs. The main benefits are writing one code for both platforms and very fast development. However, it requires learning a new language, Dart, and there is no widget GUI builder. Third party Java libraries cannot be used cross-platform. Tutorials are provided to help learn Flutter.
Tetsuya Matsuzawa from RareJob Inc. gave a talk on the Microsoft Bot Framework. The framework allows bots to be built and tested using an emulator and integrated with Language Understanding Intelligent Service for natural language capabilities. While the framework currently only supports C# and Node.js for development and remains in beta, its strengths include an easy to use emulator and simple collaboration with LUIS for natural language.
The document discusses creating multilingual Android applications. It defines key concepts like globalization, internationalization and localization. It then provides guidance on identifying localizable items, separating them from code, performing development, translating content, and integrating different languages into the app. The document recommends using resource folders to organize localized assets and strings. It also offers tips for ensuring high quality localization, including being politically correct and evaluating translation needs.
Go Programming Language - Learning The Go Lang wayIndicThreads
The document summarizes a presentation on the Go programming language. It covers the basics of Go including that it is open source, has no semicolons, uses namespaces and the "main" keyword. It then walks through examples of printing multiplication tables, using arrays and slices, testing code, concurrency using goroutines and channels, working with structs and interfaces. The presentation highlights Go's simplicity, reliability and efficiency and provides a GitHub link for the example code.
Backend development focuses on the server-side of web applications, including databases, data storage and retrieval, security, and APIs. The key skills required for backend development are proficiency in server-side programming languages like JavaScript, Python, Java, and C#, as well as knowledge of database technologies like MySQL, MongoDB, and SQL Server. Backend developers are responsible for designing effective backend solutions, storing and securing user data access across devices through APIs and version control systems.
Software Craftsmanship Journeyman Tour (2013)Peter Kofler
Peter Kofler is a software developer and "code cop" who is passionate about code quality. He has a Ph.D in applied mathematics and 14 years of industry experience. Kofler is embarking on a "Journeyman Tour" to pair program with developers, teach skills like test-driven development and clean code, and learn new techniques and technologies from others. During the tour, he will pair with developers for a few days, teaching and learning from each other, and blog about his experiences to help others improve their craft. Kofler invites attendees to learn from his teachings on software craftsmanship.
LogiLogicless UI prototyping with Node.js | SuperSpeaker@CodeCamp Iasi, 2014Endava
The document introduces Logicless Prototypr, a Node.js-based prototyping tool that uses Express and Handlebars. It allows creating high-fidelity prototypes through HTML, CSS, and JavaScript with mock data and server-side services. Some advantages are that it is easy to use, extendable, iterable, and decouples backend logic from presentation logic while mocking business logic. The creator argues it is better than other prototyping options as it brings prototyping closer to production. The future may include mocking more advanced features and improving documentation.
The document discusses clean code practices such as using meaningful names, small and focused functions, and avoiding null values and duplicate code. It also discusses bad code smells like no separation of concerns. The presenter advocates for refactoring, code reviews, and using tools like PHPLOC and PHPCodeSniffer to maintain clean code. He welcomes questions and feedback on topics like WTF as a metric, comments, and error handling best practices.
A full-stack developer is someone who can take a project from conception to a finished product, handling both front-end and back-end development. They have a wide range of skills across the stack rather than deep expertise in one area. Full-stack developers are well-suited for small startups but may face more scaling challenges in larger companies with more specialized roles. The document discusses technologies used in full-stack development and tips for learning new skills like contributing to open source projects.
Being a great engineer is about more than the code you write - working to your strengths and learning from other specialists in your team is what can make you truly shine.
What is a Full stack developer? - Tech talk Bui Hai An
This document discusses full-stack developers and debunks myths about what they are. A full-stack developer is defined as someone with familiarity or mastery across front-end, back-end, and other layers of software development who enjoys learning new technologies. It is presented that full-stack developer is more of a mindset of being open-minded and willing to learn rather than a job title. The document provides advice on how to become a full-stack developer by expanding one's skill set through online courses and personal projects. Examples are given of how full-stack developers have benefited a product development lab in Vietnam called Silicon Straits Saigon.
This document discusses developing apps for Chrome OS and describes the different types of apps that can be built, including Chrome Apps, Chrome Packaged Apps, and Native Clients. It outlines the app lifecycle and key parts like the manifest and background scripts. Native Clients are recommended for resource-intensive apps like 3D games, multimedia editors, CAD modeling, data analytics, and simulations.
The document discusses new features in C# 6.0, including auto property initializers, expression bodied function members, the null conditional operator, string interpolation, and exception filters. It was written by Senthil Kumar B, a Microsoft MVP in Windows Platform Development, and provides an overview of C# versions from 1.0 to 5.0 before focusing on features introduced in C# 6.0. It also explains that Visual Studio 2015 Preview can be used to try out C# 6.0 features.
The document discusses using Second Life for application prototyping and testing. It describes how a company called ItOnlyTakes1 developed visualization tools and moved from 2D and 3D versions to using Second Life to prototype and test applications. The document outlines the initial issues with the move to Second Life, both the good and bad unexpected results, how preparation was optimized, and the positive results of using Second Life. It is intended for educators, programmers and product developers inside and outside of Second Life.
This document outlines an agenda for a coderetreat event focused on practicing software development skills. The event will involve pairing programmers who will practice test-driven development and object-oriented design principles by implementing Conway's Game of Life using various programming language and problem constraints. Presenters will discuss techniques for improving code quality through deliberate practice and emphasize learning through collaboration.
API design for gem authors (and users)
Ruby applications are becoming more complex and unwieldy (think MonoRails). An increasing number of us are trying to address this by separating our apps into gems without knowing best practices on how to write APIs or how to manage dependencies and versioning. The discussion we often have around good APIs should not stop with Ruby OO design, but should also consider the public APIs of gems.
This talk is intended for gem authors and users. It will share though many practical examples using the Ruby driver to MongoDB 1) Principles of good gem API design, 2) How to make your gem API optimal for users and how to best use the API of a gem, 3) Guidelines for introducing and anticipating gem API changes and managing dependencies.
Tara Ojo - Junior.next() - Codemotion Berlin 2018Codemotion
Life as a "junior" developer can be intense, overwhelming, but rewarding. How can juniors move on to the next level? And, what can managers, tech leads and teams do to support the the next generation of developers?
Tara Ojo - Junior.next() - Codemotion Berlin 2018Codemotion
Life as a "junior" developer can be intense, overwhelming, but rewarding. How can juniors move on to the next level? And, what can managers, tech leads and teams do to support the the next generation of developers?
Boca Raton Android Developers meetup kick off talk. Being the very first meetup meeting, I thought it a good idea to talk about all the opportunities open to Android Developers and shared some developer resources
User-Experience (UX) focuses on understanding what users' needs and value, and provide practical products or services. This human-computer interaction acts the same when the users are developers. This talk focuses on Developer-Experience (DX), to establish a good relationship between developers and platform or API providers.
[#DevRelAsia Keynote 2020] Developer Centric Design for Better ExperienceTomomi Imura
Tomomi Imura talks about improving the developer experience of technical content & docs and her own experiences from the most recent project at Microsoft and her previous work at Slack.
[DevRelCon Tokyo 2017] Creative Technical Content for Better Developer Experi...Tomomi Imura
Let’s say, you are searching certain frameworks, or APIs to satisfy your new project- what if you stumble on some awesome-sounding shiny website, but it comes with very poor documentations. Do you want to try it out, or keep searching something else? Or when you see a GitHub project with no README, how do you feel? I think this developer experience is one of big key factors for you to decide what technologies to use.
User-Experience (UX) focuses on understanding what users' need and value, and provide practical products or services. This human-computer interaction acts the same when the users are developers. The ideas of “Developer Experiences” is to establish a good relationship between developers and platform providers.
So, as a developer evangelist, what can we do to improve DX to get developers' interests?
In this talk, Tomomi Imura will talk about her experiences, and how I create developer-centric contents and docs to drive the community and acquired new developers and customers.
[DevRel Summit 2018] Because we all learn things differentlyTomomi Imura
Tomomi Imura gave a presentation on supporting diverse developers by providing learning materials in different formats. She discussed how people have different learning styles, such as visual, auditory, reading/writing, and kinesthetic. Effective elements were provided for each style, such as diagrams and videos for visual learners. She also emphasized the importance of considering diverse audiences in terms of gender, background and language. Providing content in multiple languages can help reach broader communities.
really really really awesome php application with bdd behat and iterfacesGiulio De Donato
The document discusses PHP and programming languages. It notes that while PHP may have flaws, many large companies still use it. It emphasizes that talented programmers can write great code in any language and that the best way to improve is to engage in test-driven development, contribute to open source projects, and live in a community of developers.
Ike Ellis gave a presentation on the 14 habits of great SQL developers. Some of the key habits discussed included having strong testing practices like using mocking frameworks and testing that code runs correctly; always automating processes and never directly changing objects in production; questioning assumptions and re-evaluating decisions; understanding the true goal is to deliver value rather than just writing code; treating software development as a team sport through practices like code reviews and knowledge sharing; and constantly improving code quality by refactoring and fixing issues. The presentation emphasized habits like these can help developers increase their value.
How to create/improve OSS product and its community (revised)SATOSHI TAGOMORI
1) The document discusses how to create and improve open source software (OSS) projects and their communities. It addresses questions around the purpose of the OSS, languages used, versioning, and community engagement.
2) Key recommendations for building community include using English, being open to contributions, demonstrating stability and maintenance, and having a pluggable architecture.
3) The document debates tradeoffs like clean code vs quick contributions, focused vs feature-rich software, and localized vs global development and highlights the need to choose approaches given limitations. Overall it stresses continuous improvement over time.
It is easy contributing to Open Source - ECLIPSE CON 2020César Hernández
The problem developers new to open source have is joining the community, starting to contribute, and using common open source tools. In this session, attendees will learn how to contribute and become valuable a part of any open source community. Attendees will learn soft and hard skills based on two case studies: Eclipse MicroProfile and Apache TomEE projects. Attendees will learn to access the culture of open source projects, expected behavior and attitude toward new contributors; how to start small, take risks, ask lots of questions; and how to get started with common open source tools like Maven, Git, and JIRA. Students will leave this workshop the soft skills and the hard skills required to make meaningful contributions.
These are the slides I've prepared for presenting at CampSmalltalkVI2014 flow, a full-stack smalltalk framework for doing Single Page Applications.
tl;dr: it's Smalltalk for startups.
In a nutshell: flow is Amber frontend, Pharo backend and Mapless for networking objects in JSON and uncomplicated MongoDB persistence.
MIT license
[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...DevDay Da Nang
In this topic, Phat will show what high quality mindset is, how important it is. He will try to bring as many examples as possible – not theory, but lesson-learned ones. His expectation is that he could encourage developers to have or refresh a mindset about doing high quality software.
Lessons Learned from Revamping Our Doc SitePronovix
Learn what went well and what didn’t, when Ilona, a technical writer, and Prabhjot, a software engineer, share the story of revamping the developer documentation website at Twitch. Some hints: getting it done required more than just engineering, content, and design. Together they learned how to “manage up” and that the whole project went better because they worked so well as a team.
Ike Ellis gave a presentation on the 14 habits of great SQL developers. Some of the most important habits discussed were using source control, extensive testing, questioning assumptions, and fighting dependencies. Great SQL developers also work as a team, code for resiliency, and constantly improve code quality before moving on to new tasks. The goal is to deliver value and leave applications better organized and more maintainable than when development began.
Its easy! contributing to open source - Devnexus 2020César Hernández
The problem developers new to open source have is joining the community, starting to contribute, and using common open source tools. In this session, attendees will learn how to contribute and become valuable a part of any open source community. Attendees will learn soft and hard skills based on two case studies: Eclipse MicroProfile and Apache TomEE projects. Attendees will learn to access the culture of open source projects, expected behavior and attitude toward new contributors; how to start small, take risks, ask lots of questions; and how to get started with common open source tools like Maven, Git, and JIRA. Students will leave this workshop the soft skills and the hard skills required to make meaningful contributions.
It is easy contributing to open source - JCON 2020César Hernández
The problem developers new to open source have is joining the community, starting to contribute, and using common open source tools. In this session, attendees will learn how to contribute and become valuable a part of any open source community. Attendees will learn soft and hard skills based on two case studies: Eclipse MicroProfile and Apache TomEE projects. Attendees will learn to access the culture of open source projects, expected behavior and attitude toward new contributors; how to start small, take risks, ask lots of questions; and how to get started with common open source tools like Maven, Git, and JIRA. Students will leave this workshop the soft skills and the hard skills required to make meaningful contributions.
This document discusses ways to improve how web developers learn best practices through browser and tooling improvements. It suggests that linting and inline insights directly in code editors could help prevent mistakes by flagging issues early. A tool called webhint is highlighted that provides one-stop checking and explanations of hints related to performance, accessibility, security and more. The document advocates for customizing hints based on a project's specific needs and environment. Overall, it argues for accelerated learning through context-sensitive, customizable best practices integrated into development workflows.
Why do mobile projects (still) fail - September 2014 editionIndiginox
My talk around the reasons mobile projects fail and what you can do to prevent some of the pitfalls. This talk doesn't talk about code or deep dive technical development - but about the "other" problems that can befall a mobile project - especially in large organizations.
API Workshop: Deep dive into code samplesTom Johnson
See http://idratherbewriting.com for more details. This was the third slidedeck I used in my presentation. Most of these slides repeat what I presented as a soap! conference webinar in Poland.
GDSC USICT organized an “INFO SESSION”. In this event the leads of all the teams introduced themselves to all the students and informed them about the benefits of joining GDSC. Leads gave students a broad idea about the technologies they would be working on and how it would help the students to solve real-life problems of society and to grow themselves.
Similar a [DevRelCon Tokyo 2019] Developer Experience Matters (20)
ECMeowScript - What's New in JavaScript Explained with Cats (August 14th, 2020)Tomomi Imura
That's what the title says! I am explaining ECMAScript 6 (ES 2015) to ES2020 with cats.
This talk was given at Web Directions Code://Remote conference in 2020 in Sydney, but I presented remotely from San Francisco. Damn you, COVID!
Visual Studio Code はエンジニアのみなさんでしたら、とても馴染み深い印象をもたれているのではないでしょうか?現在、私はマイクロソフト社で Developer Advocate として VS Code 開発チームとも一緒に働いています。今回は Developer Experience の観点から、マイクロソフトの開発者たちと試みた取り組みに関してご紹介します。今回の試みでは、開発者の体験をより良いものにし、モチベーションを上げるために、開発者ならば誰もが好きな VS Code のエクステンションを使ったアイデアを実施しました。また、技術的な観点から VS Code の新機能や、これからの取り組みについてもお話ししたいと思っています。
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!Tomomi Imura
Teams アプリ制作ツールである Visual Studio Code エクステンション、Teams Toolkit が バージョン4 をもってついに GA (正規版) リリースとなりました🎉 ですので今回は Teams Toolkit の紹介と新機能の使い方を説明したいと思います。
- Teams プラットフォームの基本
- Teams Toolkit for VS Code の紹介
- Teams Toolkit for VS Code 使い方ステップ・バイ・ステップ
#TinySpec2019 Slack Dev Meetup in Osaka & Tokyo (in Japanese)Tomomi Imura
Slack 開発者向け meetup スライド(このPDF 版は大阪と東京で使われたスライドを編集してアップしています)
Slack platform features recap & new features (This is a combined / modified version of the slide deck used in both Osaka and Tokyo)
The document describes a chatbot workflow that allows a user to click a button to send a message stating their interest, have that message transcribed, make a phone call to an agent, and update the button state. It involves using various Slack APIs and libraries, capturing the user's message, making an API request to transcribe and send the message, initiating a phone call via the <dial> tag, and updating the button on the UI.
[2019 Serverless Summit] Building Serverless Slack Chatbot on IBM Cloud Func...Tomomi Imura
This document discusses building a conversational chatbot for Slack using IBM Cloud Functions and Watson Assistant. It begins with an overview of bots and conversational interfaces. It then demonstrates how to create a basic bot that responds to "Hi" messages using the Slack API. The document explains that Watson Assistant can be used to make the bot smarter by integrating natural language processing. It shows how to create an IBM Cloud Function action, expose an API endpoint, and configure a Slack app to receive events and send responses. The source code is provided on GitHub for a serverless Slack chatbot using IBM Cloud Functions and Watson Assistant.
[2019 south bay meetup] Building more contextual message with Block KitTomomi Imura
South Bay Meetup talk about Block Kit, a UI framework that enables you to build rich and interactive experiences in Slack, also how to build a slash command using Block Kit & its demo.
[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...Tomomi Imura
Using voice commands has been pretty ubiquitous nowadays, as more mobile phone users use voice assistants like Siri and Cortana, as well as devices like Amazon Echo and Google Home have been invading our living rooms. You can interact with the intelligent assistant without leaving your couch. At the same time, chatbots have been insanely popular, and services like Slack and Facebook Messenger let you achieve multiple tasks without leaving the client- you can schedule a meeting, order some pizza, call a taxi, etc.
Historically in web development, we have been relying on various UI elements to interact with your users. Now with the new technologies, you can develop rich applications with natural user interactions with a minimal visual interface. This enables countless use cases for richer and more accessible web applications.
In this talk, Tomomi Imura will talk about the examples of the conversational interface, and what and how you can build with JavaScript in a browser using the Speech API, the open web standard, also with Node.js to work with the 3rd party platforms!
Building a Bot with Slack Platform and IBM WatsonTomomi Imura
[IBM Watson Online Meetup - April 17, 2019]
In this interactive workshop, Tomomi Imura from Slack and David Nugent from IBM Developer SF City Team will walk you through building a bot using Slack's API and Block Kit, and making it smarter using IBM Watson.
Tomomi will walk you through how to build a Slack bot with Slack API using Node SDK, and improve the bot with Slack’s new Block Kit Builder. She will also cover how to make the bot smarter using IBM Watson.
This session uses Node.js, however, you should be able to follow if you have a general understanding in any programming language. All you need is a Chrome browser to try out the sample code.
[DevRelCon July 2018] Because we all learn things differentlyTomomi Imura
1. The document discusses the author's experience in developer relations roles at various companies including Slack, Nexmo, HTML5, Windows Phone, webOS, and PubNub promoting their APIs.
2. It outlines the author's career path from engineering to developer relations in 2010 and mentions traveling internationally for their work.
3. The rest of the document provides information on strategies for developer relations including understanding different learning styles, approaches for visual, auditory, reading/writing, and kinesthetic learners, and tips for documentation, videos, workshops and more.
Future of the Web with Conversational InterfaceTomomi Imura
Using voice commands has been ubiquitous nowadays, as more mobile phone users use voice assistants like Siri, as well as devices like Amazon Echo and Google Home have been invading our living rooms. You can interact with the intelligent assistant without leaving your couch. At the same time, chatbots have gained popularity, and services like Slack and Facebook Messenger let you achieve tasks without leaving the client- you can schedule a meeting, order some pizza, call a taxi, etc.
Historically in web development, we have been relying on various UI elements to interact with users. Now with the new technologies, you can develop rich applications with the natural user interactions with a minimal visual interface. This enables countless use cases for richer and more accessible web applications.
In this talk, Tomomi Imura talks about the trend of the conversational interface, and what and how you can build with JavaScript.
The talk is given at:
- TokyoJS (shorter ver) July 28, 2017
- ModernWeb Taiwan Aug 10, 2017
Notice Me, Senpai! Get Discovered with Creative Technical ContentTomomi Imura
"Notice me, Senpai!" - well, in this case, Senpai = developers.
Developer acquisition and adoption don't go proportionally to the quality of your platform, APIs, dev tools etc. If developers out there have never heard of your products, you fail no matter how awesome your developer offerings are. You must be discovered first, and getting discovered is not so easy.
In this talk, Tomomi Imura will share her experiences at various companies, including large corporates to start-ups and how she created developer-centric contents and docs to drive the community and acquire new developers.
[SF HTML5] Responsive Cross-Device Development with Web Standards (2013)Tomomi Imura
This document discusses cross-device development using web standards. It covers the concepts of adaptive design, responsive design, fluid layouts, media queries and responsive images. For layouts, it discusses moving from fixed tables and floats to newer CSS techniques like flexible boxes, multi-column layouts, and CSS grids. It provides examples of fluid layouts using these techniques. It also covers media queries in depth, including using them for breakpoints, device characteristics like orientation and resolution. The document discusses challenges and solutions for responsive images, including resolution switching, art direction, high DPI images, and emerging standards like srcset and the picture element.
[JS Kongress 2016] KittyCam.js - Raspberry Pi Camera w/ Cat Facial DetectionTomomi Imura
The document describes a KittyCam project that uses a Raspberry Pi, camera, and PIR motion sensor to detect when a cat is in view of the camera and take a photo. It uses Node.js and several frameworks like Johnny-Five and KittyDar. When motion is detected, it takes a photo using Raspistill, detects if a cat face is present using KittyDar, and if so uploads the photo to Cloudinary and sends a text with the image link. It provides details on the hardware components, software stack including Node.js, and implementation of the various functions.
Hacking with Nexmo - at EmojiCon HackathonTomomi Imura
Tomomi Imura, a developer advocate at Nexmo, discusses Nexmo which is a cloud communications platform providing APIs for voice, text, messaging, and phone verification. Nexmo has APIs for messaging, verifying phone numbers, connecting IoT devices, voice calls, and more. Examples are provided of how to send SMS messages and communicate anonymously using Nexmo's APIs. Sign up is encouraged to try the APIs for free.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfflufftailshop
When it comes to unit testing in the .NET ecosystem, developers have a wide range of options available. Among the most popular choices are NUnit, XUnit, and MSTest. These unit testing frameworks provide essential tools and features to help ensure the quality and reliability of code. However, understanding the differences between these frameworks is crucial for selecting the most suitable one for your projects.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
11. 11
@girlie_mac
11
Bad UX: User Reactions
When a person tries to [pour a cup of coffee at 7-Eleven]:
1. Confused
2. Trial & error
3. Frustrated
4. Repeat 2 - 3
5. Totally pissed off
12. 12
@girlie_mac
12
Bad DX: Developer Reactions
When a dev tries [API with poorly written docs / No code samples]:
1. Confused
2. Trial & error
3. Frustrated
4. Repeat 2 - 3
5. Totally pissed off
14. 14
@girlie_mac
14
Bad DX Examples: APIs
● Badly designed APIs
○ Bad naming conventions
○ Inconsistent names, methods, etc.
○ Non-verbose error messages
● Poor documentation
● Operational problems
○ Unstable - 5xx errors
15. 15
@girlie_mac
15
Bad DX Examples: Docs & Tuts
● No documentation
● Bad browsing experience, no ref links
● No diagrams, screenshots, pictures etc.
● Too complex
● Outdated materials
● Too much marketing content
● PDF everything (Docs != Whitepaper)
18. 18
@girlie_mac
18
L10N & I18N
“English is the universal language. Developers should
learn English”
- said, ex-Big Co. Dev Advocate
ARE YOU F’ING SERIOUS!?
20. 20
@girlie_mac
20
Know Your Developers
★ Get stats / Analytics
○ Where are they?
○ Which OS? etc.
★ Language? Programming lang & Spoken lang
★ Listen to devs in person & online
★ Conduct surveys
★ Read feedbacks (Tweets, Support)
★ Use the data & brainstorm ideas