We are obsessed with coding and creating automated workflows and optimisations. And yet our final products aren't making it easy for people to use them. Somewhere, we lost empathy for our end users and other developers. Maybe it is time to change that. Here are some ideas.
This document provides an introduction to web development training through Thinkful. It outlines Thinkful's mentorship and project-based learning approach. Sections cover HTML, CSS, building a website starter code, and learning resources. Testimonials from graduates highlight their portfolio and capstone projects. A survey link is included for feedback on Thinkful events.
Thinkful is a coding bootcamp that trains web developers and data scientists through 1-on-1 mentorship and project-based learning. They offer a two-week free trial of their Full Stack Flex online program which teaches HTML, CSS, JavaScript, and allows for unlimited Q&A sessions and access to a student Slack community. The document provides links to starters codes and drills to help students learn the basics of HTML, CSS, and building a website. It also shares portfolios from Thinkful graduates to showcase the types of projects and skills students gain in the program.
This document provides an overview of a frontend crash course on HTML and CSS. It includes details about the instructor, learning objectives, agenda, and how to continue learning after the course. The agenda covers key concepts of HTML, CSS, and how the web works. Assignments are provided to practice the skills learned. Real-world examples and troubleshooting tips are also discussed to help students learn and feel supported.
This document discusses architecture and design patterns for Python applications. It begins with an introduction by the presenter, dhilipsiva, who is a tech lead and full-stack developer at Appknox. The presentation then provides an overview of Appknox, describing the technologies in its stack including Django, PostgreSQL, RabbitMQ, and Kubernetes. It also outlines Appknox's microservices architecture, which includes components like API servers, scanners, tasks, and a device farm. The document concludes by promising to explain Appknox's deployment process and inviting questions.
This document provides an overview of building WordPress plugins, including when code should be placed in functions.php versus a plugin, basic plugin structure, adding custom features like shortcodes and upload types, and tips for testing and getting help. It encourages experimenting with code snippets but knowing your limits, and consulting developers when examples are complex. The goal is to help people get started writing simple plugins.
This document discusses Holacracy, an alternative organizational structure to traditional hierarchies. It notes that current management structures were designed for factories, while Holacracy is designed for humans. Holacracy eliminates hierarchies and instead focuses on clearly defined roles and circles within an organization. It aims to embrace autonomy through separating people from roles and having roles, not managers, make decisions. While challenging to implement due to issues of power, some companies have adopted aspects of Holacracy.
The Frontend Developer Landscape Explained and the Rise of Advanced Frontend ...
Over the past several years, as the role of the browser has grown, rich desktop-like apps have emerged built entirely in the browser. To enable this movement, a new generation of powerful JavaScript frameworks have emerged including EmberJS, AngularJS, BackboneJS, and React. In this 30 minute crash course on front end frameworks, Bloc co-founder and CTO Dave Paola will cover the history of front end web development, the recent emergence of these new Javascript frameworks, and go over some of the pros and cons for learning them.
We'll hear from Bloc co-founder and CTO Dave Paola and Bloc Developer Christian Schlensker. Prior to Bloc, Dave was a developer at Kontagent, has over 15 years of software development experience, and has founded numerous other companies. Christian comes to Bloc from Pinchit and TAG where he was a developer. Prior to that, Christian was also a graphic designer.
In our experience, beginners are often overwhelmed by buzz words like "HTML5," "JavaScript," and "Ruby." Without an experienced guide, they can spend months going down rabbit-holes drilling into specific languages, and emerge frustrated that they can't build a real website. Dave will start by helping you visualize the front end web development landscape.
Comparing Angular, Ember, Backbone, and React
2
Once you understand the landscape, Dave will introduce the four major front end frameworks that have emerged over the past two years. He'll discuss the pros and cons of learning each one, from the point of view of a beginner. These four frameworks are: AngularJS, EmberJS, BackboneJS, and ReactJS.
The document provides advice and encouragement for someone starting out with JavaScript development. It discusses how JavaScript can be used in many environments like browsers, apps, and servers. It recommends resources like MDN and tools like linting to help avoid mistakes. It emphasizes that this is an exciting time for JavaScript and advises setting priorities and standards, being involved in the community, and bringing new voices and perspectives.
This document outlines techniques for debugging and investigating software issues like a code forensics expert. It recommends avoiding panicking and doing multiple things at once. Follow a scientific process by writing down facts, having theories, and getting a debugging partner. Use tools like observability, debug tricks, and Linux tools. Analyze code changes and previous working versions. Document investigations through post-mortems, root cause analyses, and retrospectives to prevent future issues.
The document provides five ways for JavaScript developers to be happier:
1) Concentrate on the present and focus on creating rather than worrying about the past or future.
2) Limit distractions by streamlining your development environment and using an editor like VS Code that consolidates features.
3) Make mistakes less likely by using linters to catch errors as you code.
4) Get to know your tools better like debuggers to avoid console.log and gain insights to build better solutions.
5) Give back to others in the community by being helpful rather than causing drama.
The document outlines an agenda for a frontend crash course on HTML and CSS concepts. It introduces the instructor and TAs, discusses how Thinkful helps people become developers through mentorship and projects. The agenda includes learning key HTML and CSS concepts, reviewing assignments, working on challenges with support, and next steps for continued learning. It also covers topics like how the web works, HTML structure and tags, CSS selectors/properties/values, and assignments for practicing the concepts taught.
This document discusses how the Authoring Tool Accessibility Guidelines (ATAG) and Drupal 8 aim to make it easier to create accessible content. ATAG provides guidelines for making content authoring tools accessible, while Drupal 8 seeks to incorporate these guidelines and support authors in producing accessible content. The document outlines several areas both are working to address, such as ensuring editing interfaces are operable and understandable for authors, automatically processing content for accessibility, and providing tools to assist authors in checking and repairing existing content to make it more accessible. The overall goal is to work together to simplify the process of creating accessible digital content for all.
Drupal 8 as a Drop-In Content Engine - SymfonyLive Berlin 2015
Session from Symfony Live Berlin 2015 with Campbell Vertesi:
- introducing Drupal 8--the first product of the PHP-FIG era--to the Symfony community, how it is built, how it can help developers and their clients
- Explanations of Drupal's data model and Views query builder
- advantages of a decoupled architecture
- disadvantages of a decoupled architecture
-- plugging the built in features you get by choosing Drupal 8
- a suggested, example app architecture relying on Drupal 8's native strengths
The project manager journey.
What to take care and analyze the a web design production into a WordPress Theme.
Learn the different types of content sources and administration and organice the development of that design in a way that content creator can understand how the Theme works.
It helps you to calculate the time and effort of a project.
These are the slides I was using in my HTML5 Jump Start lecture, that took place in HIT on October 9th, 2013.
More information about the Java course I deliver can be found at java.course.lifemichael.com
More information about the PHP course I deliver can be found at php.course.lifemichael.com
More information about the FED course I deliver can be found at fed.course.lifemichael.com
More information about the Scala course I deliver can be found at scala.course.lifemichael.com
More information about the Android course I deliver can be found at android.course.lifemichael.com
More information about the Kotlin course I deliver can be found at kotlin.course.lifemichael.com
More information about the Swift course I deliver can be found at swift.course.lifemichael.com
More information about the C++ course I deliver can be found at cpp.course.lifemichael.com
More information about the Go course I deliver can be found at go.course.lifemichael.com
More information about the CSS course I deliver can be found at css.course.lifemichael.com
More information about the C# course I deliver can be found at csharp.course.lifemichael.com
More information about the Python course I deliver can be found at python.course.lifemichael.com
More information about the Angular course I deliver can be found at angular.course.lifemichael.com
More information about the Node.js course I deliver can be found at nodejs.course.lifemichael.com
More information about the Fullstack Development course I deliver can be found at fullstack.course.lifemichael.com
Architecture & Engineering : Doing the non-obvious!
Diego Pacheco is a software architect, agile coach, and speaker who focuses on non-traditional approaches. Some of his views include that requirements can change and duplication is okay, tests don't always improve design or find bugs, and complexity sometimes needs abstractions but other times they add unnecessary complexity. He also believes teams will always have technical debt so it's important to prioritize fixing quick wins over deep technical issues, and that architecture is about people and enabling teams.
This document outlines the agenda for a frontend crash course workshop on HTML and CSS. It will cover key concepts of HTML and CSS like tags, elements, and selectors over 30 minutes. Then go over assignments for 10 minutes and have 30 minutes for completing challenges with support. It will also discuss continuing learning paths for 10 minutes. The workshop will be led by Robert Wilson from Thinkful and cover topics like how the web works, client-server relationships, HTML structure, CSS properties and values, and assignments to complete after the workshop.
Keynote at halfstackconf 2017 discussing the falsehood of the idea that in order to survive the automation evolution everybody needs to learn how to code. Machines can code, too.
Chimp is an online fundraising platform that allows individuals and charities to raise money. It uses a feature lifecycle process that includes problem solving through customer interviews and data analysis, designing solutions, and development. Developers are involved throughout the process to help specify problems, design solutions, and implement features. The goal is for developers to understand the problems being solved so they can make better decisions with less documentation.
Chris Heilmann gave a talk at BTConf in Munich in January 2018 about machine learning, automation worries, and coding. He discussed how coding used to refer to creative programming within technical limitations but now often refers to programming for work. He addressed common worries about new technologies and dependencies, and argued that abstractions are not inherently bad and help more people build products together through consensus. The talk focused on using tools to be more productive and enabling rather than seeing them as dangers, and creating solutions for users rather than fighting old approaches.
Building a better web with free, open technologies (no notes version)
Chris Heilmann gave a presentation about building a better web using open technologies like HTML5. He discussed new HTML5 features such as geolocation, local storage, SVG, Canvas, and video/audio. He provided many examples and resources for learning about and using these new technologies. He encouraged attendees to jump in and use the full capabilities of HTML5 to create the best user experiences and attract talent, while acknowledging there will still be challenges to overcome.
The Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
See https://www.youtube.com/watch?v=_uDzXmbiUIg for German-language talk to these slides.
What is the role of GitOps in IT strategy? This talk gives an overview and puts GitOps into the context of current challenges in IT strategy.
Main aspects are continuous delivery, policy as code, automated governance, compliant-by-default work environments, acceptable means of compliance and a comprehensive automation of all development and operations related processes with the goal of true hands-off operations.
The result places GitOps as a major building block of any modern IT strategy. GitOps helps building essential key IT capabilities. It creates the motivation to truly “fix the basics” via sustainable solutions to enable creating higher level automation solutions. With GitOps engineers can focus much more on business value and spend less effort on boring IT topics.
This document provides a brief guide to IT project management. It summarizes several studies that found a significant number of IT projects fail due to a lack of proper planning and management. The document outlines best practices for successfully managing an IT project, including having a clear target and timeline, a structured plan, communication with stakeholders, and allowing time for testing.
Culture Hacking — Subversive And Intentional Innovation Capability Building F...
My talk from the IRDG Design Thinking Conference 2018:
These days design thinking is in high demand with top leadership. But often it’s just the outcomes — the innovation — management wants, less so the organizational change that comes attached with a comprehensive methodology and mindset. Why? The former is ‘sexy’ and brings money, the latter is annoying and might need investment at the outset. So, for many innovators and intrapreneurs the question is: how can we establish a design thinking practice sustainably, even with just ‘lip-service leadership support’? Jan’s talk will look into that topic by showcasing a range of inspiring examples of deliberate and subversive (culture hack) innovation capability building.
Designing for the web is complicated. Endless screen sizes, high user expectations, and usability challenges offer up some interesting if not impossible challenges for web designers, especially when wrestling with complex functionality delivered by Drupal. Join this detailed discussion on web design and designing Drupal 8 websites.
Where to start? So often the creative process begins with a blank page. Does the approach to design change when working with Drupal? Drupal is not a blank slate. As designers and themers, we have to consider structures inherent in all Drupal sites like regions, blocks, displays and views. We’ll look at specific structures found in every Drupal 8 site and discuss approaches to design that leverage the output that Drupal provides.
With a rich medium like Drupal to work with processes have to change. We’ll explore how the design process fits into the development process. How we can make the design process more agile and how can we incorporate design into a project. We’ll discuss the difference between theming and design and their role in building out a new Drupal 8 site.
Then we’ll talk about managing all this and how the design process fits into a large development project. What are the responsibilities of the designer? What are their deliverables? We’ll propose a standard list of design deliverables and touch upon style guides, wireframes and mood boards.
Since creativity is all about invention and inspiration we’ll explore the cutting edge of web design and how future releases of Drupal 8 might shift the way we design websites and how we interact with them.
This document provides an agenda for a workshop on building your own website with HTML and CSS. The workshop will cover key concepts of HTML and CSS, reviewing starter code, building a site with support, and next steps for continuing to learn. It will be led by instructor Tanner Gill and TA Jasmine Kim from Thinkful, which helps people become developers through mentorship and project-based learning.
Killing the golden calf of coding - We are Developers keynote
The document discusses concerns about the perception and realities of coding careers. It expresses worry that coding is seen solely as a way to get a job rather than as a means of problem-solving. While coding can provide fulfilling work, the document cautions that the need for coders may decrease with automation and that the role may evolve from coding to engineering. It suggests a future where machines assist with repetitive coding tasks and people focus on delivering maintainable, secure products with attention to privacy and user experience.
Building Stuff for Fun and Profit - confessions from a life in code and cables
I love making stuff. I'm so happy that my job allows me to make stuff, and when I'm not at work, I'm making stuff anyway. Some of the stuff I've made has solved real technical and business problems; some of it I've done just to see if I can. In this talk I'll describe some of the valuable things I've built for my employer, IBM, and our clients - I'll also describe some of the ridiculous things I've made for myself.
These are slides for a talk given at BuildStuff Odessa, 2016 (http://www.buildstuff.com.ua/odessa/)
Travailler dans le présent - Chris Heilmann - Paris Web 2008
Dans cette présentation, Chris Heilmann nous parlera des problèmes liés à l'adoption de standards du web récents, et décrira des façons de contourner ces difficultés. Un exemple simple est le manque de prise en charge native de l'audio et de la vidéo, et les problèmes des implémentations actuelles.
La session illustrera concrètement comment régler des problèmes a priori sans solution en les attaquant sous un autre angle. Il s'agit essentiellement de trouver une façon pragmatique de vendre, implémenter et utiliser les standards plutôt que d'attendre que le marché adopte des technologies dont l'utilisation devrait être d'une évidence complète.
Présentation originale : http://www.slideshare.net/cheilmann/working-in-the-now-presentation/
This document provides an agenda for a workshop on building a website with HTML and CSS. The workshop will cover key concepts of HTML and CSS like tags, attributes, selectors, properties and values. It will demonstrate how to set up a starter project and build a site with support from instructors. Finally, it promotes Thinkful's free coding prep course which provides over 75 hours of curriculum and mentor support to learn HTML, CSS, and JavaScript.
Achieving Technical Excellence in Your Software Teams - from Devternity
Our industry has a problem: We are not lacking software methodologies, programming languages, tools or frameworks but we need great software engineers.
Great software engineer teams build quality-in and deliver great software on a regular basis. The technical excellence of those engineers will help you escape the "Waterfall sandwich" and make your organization a little more agile, from the inception of an idea till they go live.
I will talk about my experiences from the last 15 years, including small software delivery teams until big financial institutions.
Why would a company like to be "agile"?
How can a company achieve that?
How can you achieve Technical Excellence in your software teams?
What developer skills are more important than languages, methods or frameworks?
This will be an interactive session with a Q&A at the end.
Keynote Devops Days Amsterdam - Hacking IT, Culture over Code Bringing Devops...
The term DevOps has crossover over from a culture movement around improved IT delivery to a buzzword co-opted by headline minded journalists and companies who want to reinvent their antiquated practices by acquiring new talent. This presentation will talk about DevOps the movement, desired outcomes from DevOps practices and how to bring those practices to your organization especially those with entrenched practices that lack the agility, automation and other benefits of DevOps.
This document provides an introduction to coding and web development. It discusses HTML, CSS, and JavaScript, and how to structure them using concepts like the box model. It promotes Thinkful, an online coding bootcamp, and describes their curriculum and mentorship approach. Links are provided to free coding resources and a two-week trial for Thinkful's program. Graduates share their experiences and projects.
This document provides an introduction to coding and web development. It discusses HTML, CSS, and JavaScript, and how to structure them using concepts like the box model. It promotes Thinkful, an online coding bootcamp, and describes their curriculum and mentorship approach. Links are provided to free coding resources and a two-week trial for Thinkful's program.
- The document discusses why the Scrum framework for agile product development can be problematic. At the product level, issues include not knowing the final product, delivery timeline, or costs. Organizationally, Scrum is meant to transform organizations, not just deliver products, requiring constant change and skilled, motivated people. This leads to loss of headcount and power within organizations.
- The document proposes using an "Agile Equator" to balance the needs of agile development practices with more traditional waterfall methods through constant information sharing. This helps fulfill requirements on both sides of the "equator".
- In summary, while Scrum aims to be more agile, it can create uncertainty at the product level and require significant
This document discusses privilege in the context of social media and the internet. It acknowledges privileges like internet access, the ability to communicate, and supportive online communities. It warns that machine learning and algorithms risk creating echo chambers and guided messaging if they are not kept in check by human curation. The document advocates taking back the web for decent, thinking and loving humans and using privileges to help others gain access to learning, communication, and communities.
Artificial intelligence for humans… #AIDC2018 keynote
This document discusses artificial intelligence and how it can help humans. It covers that AI is not new, having originated in the 1950s, and is now more advanced due to increased computing power. It also discusses how AI utilizes pattern recognition and machine learning. The document then covers several applications of AI including computer vision, natural language processing, sentiment analysis, speech recognition/conversion and moderation. It notes both the benefits of AI in automating tasks and preventing errors, as well as the responsibilities of ensuring transparency and allowing people to opt-in to algorithms.
Thinkful FrontEnd Crash Course - HTML & CSSTJ Stalcup
This document provides an overview of a frontend crash course on HTML and CSS. It introduces the instructor and teaching assistants. The agenda includes learning key concepts of HTML and CSS over 30 minutes, reviewing assignments for 10 minutes, completing challenges with support for 30 minutes, and information on continuing learning for 10 minutes. The document explains how the web works with clients and servers, and provides examples of HTML tags and CSS properties to style pages. It also lists assignments for students and information on Thinkful's programming bootcamps and mentorship opportunities.
This document provides an introduction to web development training through Thinkful. It outlines Thinkful's mentorship and project-based learning approach and offers a free trial for their Full Stack Flex online program to learn HTML, CSS, JavaScript and build a website from starter code with support from a program manager and student community. Examples are given of past student projects and graduates are encouraged to provide feedback on Thinkful events through a survey.
Design is Not Subjective! Software design and Lean UX, Ux, Design Thinking are not that different after all. UML was in the right direction the problem was where we applied. In this video, I will explain why Design is not subjective. Video https://www.youtube.com/watch?v=ijGR6Tbhr54
This document provides an introduction to web development training through Thinkful. It outlines Thinkful's mentorship and project-based learning approach. Sections cover HTML, CSS, building a website starter code, and learning resources. Testimonials from graduates highlight their portfolio and capstone projects. A survey link is included for feedback on Thinkful events.
Thinkful is a coding bootcamp that trains web developers and data scientists through 1-on-1 mentorship and project-based learning. They offer a two-week free trial of their Full Stack Flex online program which teaches HTML, CSS, JavaScript, and allows for unlimited Q&A sessions and access to a student Slack community. The document provides links to starters codes and drills to help students learn the basics of HTML, CSS, and building a website. It also shares portfolios from Thinkful graduates to showcase the types of projects and skills students gain in the program.
Thinkful DC FrontEnd Crash Course - HTML & CSSTJ Stalcup
This document provides an overview of a frontend crash course on HTML and CSS. It includes details about the instructor, learning objectives, agenda, and how to continue learning after the course. The agenda covers key concepts of HTML, CSS, and how the web works. Assignments are provided to practice the skills learned. Real-world examples and troubleshooting tips are also discussed to help students learn and feel supported.
This document discusses architecture and design patterns for Python applications. It begins with an introduction by the presenter, dhilipsiva, who is a tech lead and full-stack developer at Appknox. The presentation then provides an overview of Appknox, describing the technologies in its stack including Django, PostgreSQL, RabbitMQ, and Kubernetes. It also outlines Appknox's microservices architecture, which includes components like API servers, scanners, tasks, and a device farm. The document concludes by promising to explain Appknox's deployment process and inviting questions.
This document provides an overview of building WordPress plugins, including when code should be placed in functions.php versus a plugin, basic plugin structure, adding custom features like shortcodes and upload types, and tips for testing and getting help. It encourages experimenting with code snippets but knowing your limits, and consulting developers when examples are complex. The goal is to help people get started writing simple plugins.
This document discusses Holacracy, an alternative organizational structure to traditional hierarchies. It notes that current management structures were designed for factories, while Holacracy is designed for humans. Holacracy eliminates hierarchies and instead focuses on clearly defined roles and circles within an organization. It aims to embrace autonomy through separating people from roles and having roles, not managers, make decisions. While challenging to implement due to issues of power, some companies have adopted aspects of Holacracy.
The Frontend Developer Landscape Explained and the Rise of Advanced Frontend ...Prasid Pathak
Over the past several years, as the role of the browser has grown, rich desktop-like apps have emerged built entirely in the browser. To enable this movement, a new generation of powerful JavaScript frameworks have emerged including EmberJS, AngularJS, BackboneJS, and React. In this 30 minute crash course on front end frameworks, Bloc co-founder and CTO Dave Paola will cover the history of front end web development, the recent emergence of these new Javascript frameworks, and go over some of the pros and cons for learning them.
We'll hear from Bloc co-founder and CTO Dave Paola and Bloc Developer Christian Schlensker. Prior to Bloc, Dave was a developer at Kontagent, has over 15 years of software development experience, and has founded numerous other companies. Christian comes to Bloc from Pinchit and TAG where he was a developer. Prior to that, Christian was also a graphic designer.
In our experience, beginners are often overwhelmed by buzz words like "HTML5," "JavaScript," and "Ruby." Without an experienced guide, they can spend months going down rabbit-holes drilling into specific languages, and emerge frustrated that they can't build a real website. Dave will start by helping you visualize the front end web development landscape.
Comparing Angular, Ember, Backbone, and React
2
Once you understand the landscape, Dave will introduce the four major front end frameworks that have emerged over the past two years. He'll discuss the pros and cons of learning each one, from the point of view of a beginner. These four frameworks are: AngularJS, EmberJS, BackboneJS, and ReactJS.
The document provides advice and encouragement for someone starting out with JavaScript development. It discusses how JavaScript can be used in many environments like browsers, apps, and servers. It recommends resources like MDN and tools like linting to help avoid mistakes. It emphasizes that this is an exciting time for JavaScript and advises setting priorities and standards, being involved in the community, and bringing new voices and perspectives.
This document outlines techniques for debugging and investigating software issues like a code forensics expert. It recommends avoiding panicking and doing multiple things at once. Follow a scientific process by writing down facts, having theories, and getting a debugging partner. Use tools like observability, debug tricks, and Linux tools. Analyze code changes and previous working versions. Document investigations through post-mortems, root cause analyses, and retrospectives to prevent future issues.
The document provides five ways for JavaScript developers to be happier:
1) Concentrate on the present and focus on creating rather than worrying about the past or future.
2) Limit distractions by streamlining your development environment and using an editor like VS Code that consolidates features.
3) Make mistakes less likely by using linters to catch errors as you code.
4) Get to know your tools better like debuggers to avoid console.log and gain insights to build better solutions.
5) Give back to others in the community by being helpful rather than causing drama.
The document outlines an agenda for a frontend crash course on HTML and CSS concepts. It introduces the instructor and TAs, discusses how Thinkful helps people become developers through mentorship and projects. The agenda includes learning key HTML and CSS concepts, reviewing assignments, working on challenges with support, and next steps for continued learning. It also covers topics like how the web works, HTML structure and tags, CSS selectors/properties/values, and assignments for practicing the concepts taught.
This document discusses how the Authoring Tool Accessibility Guidelines (ATAG) and Drupal 8 aim to make it easier to create accessible content. ATAG provides guidelines for making content authoring tools accessible, while Drupal 8 seeks to incorporate these guidelines and support authors in producing accessible content. The document outlines several areas both are working to address, such as ensuring editing interfaces are operable and understandable for authors, automatically processing content for accessibility, and providing tools to assist authors in checking and repairing existing content to make it more accessible. The overall goal is to work together to simplify the process of creating accessible digital content for all.
Drupal 8 as a Drop-In Content Engine - SymfonyLive Berlin 2015Jeffrey McGuire
Session from Symfony Live Berlin 2015 with Campbell Vertesi:
- introducing Drupal 8--the first product of the PHP-FIG era--to the Symfony community, how it is built, how it can help developers and their clients
- Explanations of Drupal's data model and Views query builder
- advantages of a decoupled architecture
- disadvantages of a decoupled architecture
-- plugging the built in features you get by choosing Drupal 8
- a suggested, example app architecture relying on Drupal 8's native strengths
The project manager journey.
What to take care and analyze the a web design production into a WordPress Theme.
Learn the different types of content sources and administration and organice the development of that design in a way that content creator can understand how the Theme works.
It helps you to calculate the time and effort of a project.
These are the slides I was using in my HTML5 Jump Start lecture, that took place in HIT on October 9th, 2013.
More information about the Java course I deliver can be found at java.course.lifemichael.com
More information about the PHP course I deliver can be found at php.course.lifemichael.com
More information about the FED course I deliver can be found at fed.course.lifemichael.com
More information about the Scala course I deliver can be found at scala.course.lifemichael.com
More information about the Android course I deliver can be found at android.course.lifemichael.com
More information about the Kotlin course I deliver can be found at kotlin.course.lifemichael.com
More information about the Swift course I deliver can be found at swift.course.lifemichael.com
More information about the C++ course I deliver can be found at cpp.course.lifemichael.com
More information about the Go course I deliver can be found at go.course.lifemichael.com
More information about the CSS course I deliver can be found at css.course.lifemichael.com
More information about the C# course I deliver can be found at csharp.course.lifemichael.com
More information about the Python course I deliver can be found at python.course.lifemichael.com
More information about the Angular course I deliver can be found at angular.course.lifemichael.com
More information about the Node.js course I deliver can be found at nodejs.course.lifemichael.com
More information about the Fullstack Development course I deliver can be found at fullstack.course.lifemichael.com
Architecture & Engineering : Doing the non-obvious!Diego Pacheco
Diego Pacheco is a software architect, agile coach, and speaker who focuses on non-traditional approaches. Some of his views include that requirements can change and duplication is okay, tests don't always improve design or find bugs, and complexity sometimes needs abstractions but other times they add unnecessary complexity. He also believes teams will always have technical debt so it's important to prioritize fixing quick wins over deep technical issues, and that architecture is about people and enabling teams.
This document outlines the agenda for a frontend crash course workshop on HTML and CSS. It will cover key concepts of HTML and CSS like tags, elements, and selectors over 30 minutes. Then go over assignments for 10 minutes and have 30 minutes for completing challenges with support. It will also discuss continuing learning paths for 10 minutes. The workshop will be led by Robert Wilson from Thinkful and cover topics like how the web works, client-server relationships, HTML structure, CSS properties and values, and assignments to complete after the workshop.
Keynote at halfstackconf 2017 discussing the falsehood of the idea that in order to survive the automation evolution everybody needs to learn how to code. Machines can code, too.
Chimp is an online fundraising platform that allows individuals and charities to raise money. It uses a feature lifecycle process that includes problem solving through customer interviews and data analysis, designing solutions, and development. Developers are involved throughout the process to help specify problems, design solutions, and implement features. The goal is for developers to understand the problems being solved so they can make better decisions with less documentation.
Chris Heilmann gave a talk at BTConf in Munich in January 2018 about machine learning, automation worries, and coding. He discussed how coding used to refer to creative programming within technical limitations but now often refers to programming for work. He addressed common worries about new technologies and dependencies, and argued that abstractions are not inherently bad and help more people build products together through consensus. The talk focused on using tools to be more productive and enabling rather than seeing them as dangers, and creating solutions for users rather than fighting old approaches.
Building a better web with free, open technologies (no notes version)Christian Heilmann
Chris Heilmann gave a presentation about building a better web using open technologies like HTML5. He discussed new HTML5 features such as geolocation, local storage, SVG, Canvas, and video/audio. He provided many examples and resources for learning about and using these new technologies. He encouraged attendees to jump in and use the full capabilities of HTML5 to create the best user experiences and attract talent, while acknowledging there will still be challenges to overcome.
The Role of GitOps in IT Strategy - June 2021 - Schlomo SchapiroSchlomo Schapiro
See https://www.youtube.com/watch?v=_uDzXmbiUIg for German-language talk to these slides.
What is the role of GitOps in IT strategy? This talk gives an overview and puts GitOps into the context of current challenges in IT strategy.
Main aspects are continuous delivery, policy as code, automated governance, compliant-by-default work environments, acceptable means of compliance and a comprehensive automation of all development and operations related processes with the goal of true hands-off operations.
The result places GitOps as a major building block of any modern IT strategy. GitOps helps building essential key IT capabilities. It creates the motivation to truly “fix the basics” via sustainable solutions to enable creating higher level automation solutions. With GitOps engineers can focus much more on business value and spend less effort on boring IT topics.
This document provides a brief guide to IT project management. It summarizes several studies that found a significant number of IT projects fail due to a lack of proper planning and management. The document outlines best practices for successfully managing an IT project, including having a clear target and timeline, a structured plan, communication with stakeholders, and allowing time for testing.
Culture Hacking — Subversive And Intentional Innovation Capability Building F...Jan Schmiedgen
My talk from the IRDG Design Thinking Conference 2018:
These days design thinking is in high demand with top leadership. But often it’s just the outcomes — the innovation — management wants, less so the organizational change that comes attached with a comprehensive methodology and mindset. Why? The former is ‘sexy’ and brings money, the latter is annoying and might need investment at the outset. So, for many innovators and intrapreneurs the question is: how can we establish a design thinking practice sustainably, even with just ‘lip-service leadership support’? Jan’s talk will look into that topic by showcasing a range of inspiring examples of deliberate and subversive (culture hack) innovation capability building.
Designing for the web is complicated. Endless screen sizes, high user expectations, and usability challenges offer up some interesting if not impossible challenges for web designers, especially when wrestling with complex functionality delivered by Drupal. Join this detailed discussion on web design and designing Drupal 8 websites.
Where to start? So often the creative process begins with a blank page. Does the approach to design change when working with Drupal? Drupal is not a blank slate. As designers and themers, we have to consider structures inherent in all Drupal sites like regions, blocks, displays and views. We’ll look at specific structures found in every Drupal 8 site and discuss approaches to design that leverage the output that Drupal provides.
With a rich medium like Drupal to work with processes have to change. We’ll explore how the design process fits into the development process. How we can make the design process more agile and how can we incorporate design into a project. We’ll discuss the difference between theming and design and their role in building out a new Drupal 8 site.
Then we’ll talk about managing all this and how the design process fits into a large development project. What are the responsibilities of the designer? What are their deliverables? We’ll propose a standard list of design deliverables and touch upon style guides, wireframes and mood boards.
Since creativity is all about invention and inspiration we’ll explore the cutting edge of web design and how future releases of Drupal 8 might shift the way we design websites and how we interact with them.
This document provides an agenda for a workshop on building your own website with HTML and CSS. The workshop will cover key concepts of HTML and CSS, reviewing starter code, building a site with support, and next steps for continuing to learn. It will be led by instructor Tanner Gill and TA Jasmine Kim from Thinkful, which helps people become developers through mentorship and project-based learning.
Killing the golden calf of coding - We are Developers keynoteChristian Heilmann
The document discusses concerns about the perception and realities of coding careers. It expresses worry that coding is seen solely as a way to get a job rather than as a means of problem-solving. While coding can provide fulfilling work, the document cautions that the need for coders may decrease with automation and that the role may evolve from coding to engineering. It suggests a future where machines assist with repetitive coding tasks and people focus on delivering maintainable, secure products with attention to privacy and user experience.
Building Stuff for Fun and Profit - confessions from a life in code and cablesHolly Cummins
I love making stuff. I'm so happy that my job allows me to make stuff, and when I'm not at work, I'm making stuff anyway. Some of the stuff I've made has solved real technical and business problems; some of it I've done just to see if I can. In this talk I'll describe some of the valuable things I've built for my employer, IBM, and our clients - I'll also describe some of the ridiculous things I've made for myself.
These are slides for a talk given at BuildStuff Odessa, 2016 (http://www.buildstuff.com.ua/odessa/)
Dans cette présentation, Chris Heilmann nous parlera des problèmes liés à l'adoption de standards du web récents, et décrira des façons de contourner ces difficultés. Un exemple simple est le manque de prise en charge native de l'audio et de la vidéo, et les problèmes des implémentations actuelles.
La session illustrera concrètement comment régler des problèmes a priori sans solution en les attaquant sous un autre angle. Il s'agit essentiellement de trouver une façon pragmatique de vendre, implémenter et utiliser les standards plutôt que d'attendre que le marché adopte des technologies dont l'utilisation devrait être d'une évidence complète.
Présentation originale : http://www.slideshare.net/cheilmann/working-in-the-now-presentation/
This document provides an agenda for a workshop on building a website with HTML and CSS. The workshop will cover key concepts of HTML and CSS like tags, attributes, selectors, properties and values. It will demonstrate how to set up a starter project and build a site with support from instructors. Finally, it promotes Thinkful's free coding prep course which provides over 75 hours of curriculum and mentor support to learn HTML, CSS, and JavaScript.
Achieving Technical Excellence in Your Software Teams - from Devternity Peter Gfader
Our industry has a problem: We are not lacking software methodologies, programming languages, tools or frameworks but we need great software engineers.
Great software engineer teams build quality-in and deliver great software on a regular basis. The technical excellence of those engineers will help you escape the "Waterfall sandwich" and make your organization a little more agile, from the inception of an idea till they go live.
I will talk about my experiences from the last 15 years, including small software delivery teams until big financial institutions.
Why would a company like to be "agile"?
How can a company achieve that?
How can you achieve Technical Excellence in your software teams?
What developer skills are more important than languages, methods or frameworks?
This will be an interactive session with a Q&A at the end.
Keynote Devops Days Amsterdam - Hacking IT, Culture over Code Bringing Devops...Mark Hinkle
The term DevOps has crossover over from a culture movement around improved IT delivery to a buzzword co-opted by headline minded journalists and companies who want to reinvent their antiquated practices by acquiring new talent. This presentation will talk about DevOps the movement, desired outcomes from DevOps practices and how to bring those practices to your organization especially those with entrenched practices that lack the agility, automation and other benefits of DevOps.
This document provides an introduction to coding and web development. It discusses HTML, CSS, and JavaScript, and how to structure them using concepts like the box model. It promotes Thinkful, an online coding bootcamp, and describes their curriculum and mentorship approach. Links are provided to free coding resources and a two-week trial for Thinkful's program. Graduates share their experiences and projects.
This document provides an introduction to coding and web development. It discusses HTML, CSS, and JavaScript, and how to structure them using concepts like the box model. It promotes Thinkful, an online coding bootcamp, and describes their curriculum and mentorship approach. Links are provided to free coding resources and a two-week trial for Thinkful's program.
- The document discusses why the Scrum framework for agile product development can be problematic. At the product level, issues include not knowing the final product, delivery timeline, or costs. Organizationally, Scrum is meant to transform organizations, not just deliver products, requiring constant change and skilled, motivated people. This leads to loss of headcount and power within organizations.
- The document proposes using an "Agile Equator" to balance the needs of agile development practices with more traditional waterfall methods through constant information sharing. This helps fulfill requirements on both sides of the "equator".
- In summary, while Scrum aims to be more agile, it can create uncertainty at the product level and require significant
Similar to Develop, Debug, Learn? - Dotjs2019 (20)
This document discusses privilege in the context of social media and the internet. It acknowledges privileges like internet access, the ability to communicate, and supportive online communities. It warns that machine learning and algorithms risk creating echo chambers and guided messaging if they are not kept in check by human curation. The document advocates taking back the web for decent, thinking and loving humans and using privileges to help others gain access to learning, communication, and communities.
This document discusses artificial intelligence and how it can help humans. It covers that AI is not new, having originated in the 1950s, and is now more advanced due to increased computing power. It also discusses how AI utilizes pattern recognition and machine learning. The document then covers several applications of AI including computer vision, natural language processing, sentiment analysis, speech recognition/conversion and moderation. It notes both the benefits of AI in automating tasks and preventing errors, as well as the responsibilities of ensuring transparency and allowing people to opt-in to algorithms.
PWA are a hot topic and it is important to understand that they are a different approach to apps than the traditional way of packaging something and letting the user install it. In this keynote you'll see some of the differences.
This document discusses privilege in technology and perceptions of technology workers. It acknowledges the privileges that tech workers enjoy, such as access to resources and high demand in the job market. However, it also notes problems like peer pressure, lack of work-life balance, and imposter syndrome. Both tech workers and the public have skewed perceptions of each other - tech workers feel others do not appreciate or understand their work, while the public sees tech workers as antisocial or caring only about profit. The document encourages taking small steps to improve the situation, such as being kind to oneself, considering others, sharing knowledge, and focusing on quality over quantity of work.
The document discusses progressive web apps (PWAs) and provides suggestions for improving them. It notes that while PWAs aim to have engaging, fast, integrated, and reliable experiences like native apps, they still have room for improvement in areas like speed, integration, and reliability. It emphasizes that PWAs should adhere to web best practices and provide actually useful experiences rather than just focusing on technical features. The document encourages helping the PWA effort by providing feedback, using and contributing to tools, keeping messaging up-to-date, and promoting high-quality examples.
Progressive Web Apps - Covering the best of both worlds - DevReachChristian Heilmann
Progressive Web Apps (PWAs) can provide app-like experiences through the web by making web content fast, reliable and engaging. While PWAs may not be necessary for all projects, they can help clean up and speed up current web-based projects. PWAs leverage new web capabilities like service workers to work offline, load fast, and improve the user experience without having to meet all the requirements of native apps.
Progressive Web Apps - Covering the best of both worldsChristian Heilmann
This document discusses progressive web applications (PWAs) and their advantages over traditional native mobile applications. PWAs use modern web capabilities like Service Workers to deliver native-like experiences to users. Some key benefits of PWAs include their ability to work across platforms, have smaller file sizes for faster loading, support offline use, and provide simple update mechanisms compared to native apps. While PWAs do not have full access to device capabilities like native apps, they allow delivering app-like web content to users in a more accessible and reliable manner than traditional web pages.
Progressive Web Apps - Bringing the web front and center Christian Heilmann
This document discusses progressive web apps (PWAs). It notes that PWAs aim to make web apps feel like native mobile apps by being discoverable, installable, linkable, safe, responsive and progressive. The document outlines some key characteristics of PWAs, including that they need to be served from secure origins and have app manifests. It also discusses some common misconceptions around PWAs and notes that as PWAs improve, they will continue to blur the line between web apps and native mobile apps.
This document discusses the differences between CSS and JavaScript and when each is most appropriate to use. It argues that CSS is often underestimated in favor of JavaScript solutions. CSS has advanced significantly with features like calc(), media queries, animations/transitions, flexbox, grid, variables and more. These powerful features allow many tasks to be accomplished with CSS alone without needing JavaScript. The document encourages embracing the "squishiness" of the web and considering CSS more when building interfaces.
This document contains the transcript of a presentation by Chris Heilmann on web development. Some of the key points discussed include:
- The benefits of progressive enhancement and using HTML, CSS, and JavaScript together to build robust and accessible websites.
- How limitations in early design can foster creativity.
- The importance of error handling and defensive coding practices.
- Embracing new technologies like Service Workers and Manifests to build Progressive Web Apps.
- Rethinking the idea that JavaScript is unreliable and should not be depended on, as modern browsers have made it a capable tool.
The Soul in The Machine - Developing for Humans (FrankenJS edition)Christian Heilmann
The document discusses how machines and software can help humans by doing tasks like preventing mistakes, performing repetitive tasks, filling information gaps, remembering and categorizing information, improving understanding, enabling new communication methods, and providing protection. It describes how advances in AI, APIs, cloud services, and data processing have made it possible to build useful and helpful interfaces. The conclusion encourages developers to use these capabilities to create simple, human-centric interfaces that benefit users.
“If Tetris has taught me anything, it’s that errors pile up and accomplishments disappear” is a common quote and it seems we’re living this to its full extend as web developers. We fail to celebrate the successes we have and the tools that are at our disposal but we’re never short of finding reasons why things don’t work. We also tend to pile on technology on technology to solve problems that may actually not exist and thus clog up the web. In this talk Chris Heilmann wants to remind us what we achieved and how we should celebrate it and how we should stop trying to solve problems that are simply beyond our control.
The document discusses the challenges facing the progressive web and introduces progressive web apps (PWAs) as a solution. PWAs are built using modern web standards to provide native app-like experiences through features like push notifications, offline support, and app installation. They address issues with native apps like high installation friction, lack of control for publishers, and app store policies. PWAs are gaining adoption from companies like Alibaba and Housing.com who saw increases in user engagement metrics after implementing PWAs. The document outlines the core components of PWAs and provides an overview of browser and platform support.
Microsoft has become more open in recent years by open sourcing many products, making products cross-platform, and making training materials openly available. This open approach makes business sense for Microsoft as it attracts developers, allows employees flexibility, and taps into outside skills. Examples of Microsoft's success with open source include the Edge browser, Visual Studio Code editor, TypeScript transpiler, and ChakraCore JavaScript engine. The presenter encourages attendees to help promote Microsoft's open products and projects through conference talks, writing, and contributing translations and code.
This document provides tips for becoming an effective conference presenter. It discusses finding a topic to present on, writing a proposal to submit to conferences, creating presentation materials, writing the presentation, and delivering the presentation. The key steps covered are finding an exciting topic, researching it, crafting a compelling proposal, developing slides and other visual aids to enhance the story and message, writing the presentation to have a clear structure and narrative arc, and practicing delivery techniques to engage the audience. The overall goal is to give attendees a memorable experience that leaves them feeling they learned something valuable.
The document discusses how developers have become disconnected from users as technology has advanced. It argues that developers should focus on building interfaces that are simple, human-centered, and empower users rather than just improving tools. Machine learning and AI can be used to build helpful interfaces, but developers must focus on the human experience and inclusive design. The talk aims to inspire developers to use their skills to improve people's lives rather than just profit or automation.
Suit up, bring extra oxygen Internet space explorers needed.Christian Heilmann
The document discusses the future of computing and artificial intelligence. It notes that people are both excited and fearful about technological progress, and outlines things that are going right (e.g. advances in machine learning and computer vision) as well as things that are going wrong (e.g. lack of transparency, data privacy issues). It argues that the future of computing needs people who are not afraid of technology and who will create interfaces that are simple, human, and help people communicate better. The role of technologists is to use their skills to give people a sense of data ownership and ensure technological progress improves lives rather than just making money.
The document discusses using JavaScript like a buffet, where developers should be flexible and not try to do everything with JavaScript or force their preferences on others. It encourages sharing code openly but also being considerate of different environments and users. Developers are advised to focus on quality over quantity and consider progressive enhancement over delivering all functionality at once.
How to Configure Time Off Types in Odoo 17Celine George
Now we can take look into how to configure time off types in odoo 17 through this slide. Time-off types are used to grant or request different types of leave. Only then the authorities will have a clear view or a clear understanding of what kind of leave the employee is taking.
AI Risk Management: ISO/IEC 42001, the EU AI Act, and ISO/IEC 23894PECB
As artificial intelligence continues to evolve, understanding the complexities and regulations regarding AI risk management is more crucial than ever.
Amongst others, the webinar covers:
• ISO/IEC 42001 standard, which provides guidelines for establishing, implementing, maintaining, and continually improving AI management systems within organizations
• insights into the European Union's landmark legislative proposal aimed at regulating AI
• framework and methodologies prescribed by ISO/IEC 23894 for identifying, assessing, and mitigating risks associated with AI systems
Presenters:
Miriama Podskubova - Attorney at Law
Miriama is a seasoned lawyer with over a decade of experience. She specializes in commercial law, focusing on transactions, venture capital investments, IT, digital law, and cybersecurity, areas she was drawn to through her legal practice. Alongside preparing contract and project documentation, she ensures the correct interpretation and application of European legal regulations in these fields. Beyond client projects, she frequently speaks at conferences on cybersecurity, online privacy protection, and the increasingly pertinent topic of AI regulation. As a registered advocate of Slovak bar, certified data privacy professional in the European Union (CIPP/e) and a member of the international association ELA, she helps both tech-focused startups and entrepreneurs, as well as international chains, to properly set up their business operations.
Callum Wright - Founder and Lead Consultant Founder and Lead Consultant
Callum Wright is a seasoned cybersecurity, privacy and AI governance expert. With over a decade of experience, he has dedicated his career to protecting digital assets, ensuring data privacy, and establishing ethical AI governance frameworks. His diverse background includes significant roles in security architecture, AI governance, risk consulting, and privacy management across various industries, thorough testing, and successful implementation, he has consistently delivered exceptional results.
Throughout his career, he has taken on multifaceted roles, from leading technical project management teams to owning solutions that drive operational excellence. His conscientious and proactive approach is unwavering, whether he is working independently or collaboratively within a team. His ability to connect with colleagues on a personal level underscores his commitment to fostering a harmonious and productive workplace environment.
Date: June 26, 2024
Tags: ISO/IEC 42001, Artificial Intelligence, EU AI Act, ISO/IEC 23894
-------------------------------------------------------------------------------
Find out more about ISO training and certification services
Training: ISO/IEC 42001 Artificial Intelligence Management System - EN | PECB
Webinars: https://pecb.com/webinars
Article: https://pecb.com/article
-------------------------------------------------------------------------------
Delegation Inheritance in Odoo 17 and Its Use CasesCeline George
There are 3 types of inheritance in odoo Classical, Extension, and Delegation. Delegation inheritance is used to sink other models to our custom model. And there is no change in the views. This slide will discuss delegation inheritance and its use cases in odoo 17.
Understanding and Interpreting Teachers’ TPACK for Teaching Multimodalities i...Neny Isharyanti
Presented as a plenary session in iTELL 2024 in Salatiga on 4 July 2024.
The plenary focuses on understanding and intepreting relevant TPACK competence for teachers to be adept in teaching multimodality in the digital age. It juxtaposes the results of research on multimodality with its contextual implementation in the teaching of English subject in the Indonesian Emancipated Curriculum.
No, it's not a robot: prompt writing for investigative journalismPaul Bradshaw
How to use generative AI tools like ChatGPT and Gemini to generate story ideas for investigations, identify potential sources, and help with coding and writing.
A talk from the Centre for Investigative Journalism Summer School, July 2024
Is Email Marketing Really Effective In 2024?Rakesh Jalan
Slide 1
Is Email Marketing Really Effective in 2024?
Yes, Email Marketing is still a great method for direct marketing.
Slide 2
In this article we will cover:
- What is Email Marketing?
- Pros and cons of Email Marketing.
- Tools available for Email Marketing.
- Ways to make Email Marketing effective.
Slide 3
What Is Email Marketing?
Using email to contact customers is called Email Marketing. It's a quiet and effective communication method. Mastering it can significantly boost business. In digital marketing, two long-term assets are your website and your email list. Social media apps may change, but your website and email list remain constant.
Slide 4
Types of Email Marketing:
1. Welcome Emails
2. Information Emails
3. Transactional Emails
4. Newsletter Emails
5. Lead Nurturing Emails
6. Sponsorship Emails
7. Sales Letter Emails
8. Re-Engagement Emails
9. Brand Story Emails
10. Review Request Emails
Slide 5
Advantages Of Email Marketing
1. Cost-Effective: Cheaper than other methods.
2. Easy: Simple to learn and use.
3. Targeted Audience: Reach your exact audience.
4. Detailed Messages: Convey clear, detailed messages.
5. Non-Disturbing: Less intrusive than social media.
6. Non-Irritating: Customers are less likely to get annoyed.
7. Long Format: Use detailed text, photos, and videos.
8. Easy to Unsubscribe: Customers can easily opt out.
9. Easy Tracking: Track delivery, open rates, and clicks.
10. Professional: Seen as more professional; customers read carefully.
Slide 6
Disadvantages Of Email Marketing:
1. Irrelevant Emails: Costs can rise with irrelevant emails.
2. Poor Content: Boring emails can lead to disengagement.
3. Easy Unsubscribe: Customers can easily leave your list.
Slide 7
Email Marketing Tools
Choosing a good tool involves considering:
1. Deliverability: Email delivery rate.
2. Inbox Placement: Reaching inbox, not spam or promotions.
3. Ease of Use: Simplicity of use.
4. Cost: Affordability.
5. List Maintenance: Keeping the list clean.
6. Features: Regular features like Broadcast and Sequence.
7. Automation: Better with automation.
Slide 8
Top 5 Email Marketing Tools:
1. ConvertKit
2. Get Response
3. Mailchimp
4. Active Campaign
5. Aweber
Slide 9
Email Marketing Strategy
To get good results, consider:
1. Build your own list.
2. Never buy leads.
3. Respect your customers.
4. Always provide value.
5. Don’t email just to sell.
6. Write heartfelt emails.
7. Stick to a schedule.
8. Use photos and videos.
9. Segment your list.
10. Personalize emails.
11. Ensure mobile-friendliness.
12. Optimize timing.
13. Keep designs clean.
14. Remove cold leads.
Slide 10
Uses of Email Marketing:
1. Affiliate Marketing
2. Blogging
3. Customer Relationship Management (CRM)
4. Newsletter Circulation
5. Transaction Notifications
6. Information Dissemination
7. Gathering Feedback
8. Selling Courses
9. Selling Products/Services
Read Full Article:
https://digitalsamaaj.com/is-email-marketing-effective-in-2024/
How to Handle the Separate Discount Account on Invoice in Odoo 17Celine George
In Odoo, separate discount account can be set up to accurately track and manage discounts applied on various transaction and ensure precise financial reporting and analysis
How to Show Sample Data in Tree and Kanban View in Odoo 17Celine George
In Odoo 17, sample data serves as a valuable resource for users seeking to familiarize themselves with the functionalities and capabilities of the software prior to integrating their own information. In this slide we are going to discuss about how to show sample data to a tree view and a kanban view.
How to Install Theme in the Odoo 17 ERPCeline George
With Odoo, we can select from a wide selection of attractive themes. Many excellent ones are free to use, while some require payment. Putting an Odoo theme in the Odoo module directory on our server, downloading the theme, and then installing it is a simple process.
19. Creating delight
Chris Heilmann @codepo8
want
should
must
Making full use of the
platform in a safe manner
Predict usage and prevent
simple mistakes
We obsess about coding, creating automated workflows and optimising. And yet our final products aren't making it easy for people to use them. Somewhere, we lost empathy for our end users and other developers. Maybe it is time to change that. Here are some ideas.
I’ve been doing web development for a long time. Over 20 years. When I started it was literally all fields. Interaction in web sites meant that we needed to send forms and deal with the logic on the backend.
When JavaScript came around all that changed. It enabled us to build interfaces with much higher fidelity, but that seemed not to be enough. We wanted to distinguish ourselves as something better than web developers. – a term belittled by “real programmers” back then.
We coined a lot of clever technology terms like DHTML and AJAX and touted them as "de facto standards". We also called anyone not professional for not embracing them. Over the years we kept going in circles. We kept over-relying on JavaScript and proprietary technologies. And then we told people not to do that.
Being a web developer in the past was interesting. You had to learn about the platform. But there was also a different side to it. As the platform was not standardised there was a lot of trial and error and hacking around inadequate tech support. You had to know how HTML and browsers work to get started.
WYSIWYG editors didn't result in usable web sites. It was a competitive advantage to know about browser bugs and how to work around them. Was this a professional work environment? Questionable, but it was a creative one. We developed a lot of best practices and named – for example – a lot of CSS tricks to create different designs in pretty inept browsers.
It all kind of kicked off and we learned a lot more about our job when debugging tools got better. It started with Firebug and continued into in-browser developer tools and dedicated IDEs for web work. We got insights not only that things went wrong, but also why they did. We also got visual tools to tweak settings and see what it takes to make a CSS layout work.
The differences in browsers in the past was a hindrance to quick development. That's why we built libraries and frameworks to take that workload off developers.
When this resulted in bloated and slow products, we created build processes to automate a lot of the work. We wrote more code to undo unnecessary code and untangle complex dependencies. This is natural for developers to do – we want to automate boring and repetitive tasks. But doesn't it feel a bit over-engineered? What if we didn't add too much code to start with?
These days things are different. We say we develop a lot, but we do something else much more.
We depend on third party products to develop our products. This is OK, as most dependencies are open source and shared with a community, but it also means there is an overhead. Maintainers and new people coming into the market get split into several communitities. They need to learn the abstraction and the platform and often our end users get much more code sent to their devices than necessary.
Our debugging tools are incredible these days. But they often fail to help us when the problem is the abstraction code we rely on to make it easier for us as developers.
We get excited about the dependencies. We keep losing sight on how the platform itself is developing. A plaftorm that has never been in a better state and many abstractions are not as useful as we think they are.
We seem to be caught up in our own excitement of doing things new and different rather than embracing what matured quite nicely over the years.
Maybe it is time to feel some more humbleness and realise that our job as developers is not to make it easy for us but to build products for people - all kinds of people. With bad connections, unreliable hardware and disabilities of all shades.
The products we build now are our legacy. We will be measured by how useful our products were, how inviting and how easy it was for the next generation of maintainers to take over from us.
If we want people to remember us fondly, we need to build products for people. We need to consider the effects our products have on their lives and keep them safe from harm. Harm that may be based on our arrogance or an over-reliance on third party dependencies.
In order for our products to deliver what people need they must be available in less capable and unreliable environments. They must be accessible to people of all kind of levels of physical and mentally ability. They must be secure and not allow our users to shoot themselves in the foot. And they need to be mutable to the needs of the end users. This means support for assistive technology and also to things like high contrast mode or reduced interaction mode.
Once we covered the basics we should add more nice-to-haves. These include enhanced performance by preloading next content. Extended availability with offline-first architectures. And customisability to the wants and not only the needs of our users.
Another "want" of our end users is making full use of the platform in a safe manner. Like allowing for biometric logins on on-device payment solutions. They have these devices, they know how to use them. So why do we force another interaction flow on them?
We should build interfaces that allows people to make mistakes and not throw them back at them. A telephone number with parenthesis and spaces is not a hard thing to parse in our code. Why ask people to write it in a certain way or get stuck? Using natural language processing we can allow users to enter human search queries. Let's not force them to click through complex interfaces to get a search result.
Making end users happy is by far the most important part of our work. However, developers are people, too. And demanding from them to know everything is not sensible.
People expect far too much of developers. As what we create affects the end user and everyone else in between in the process of delivery a lot of best practices assume that we have infinite time and wisdom to do everything right. And that doesn’t even include the pressure we put on one another. You encounter a lot of non-sense demands what constitutes a “professional developer” spanning from knowing different platforms by heart and understanding how every single new and hot abstraction works.
A lot of our work as developers is having faith in third party products. Frameworks, NPM packages and services is what we trust to make us more effective. These help us create more in a shorter amount of time and often we rely in them to help us with the important parts. The problem is that historically these tools don’t create accessible, secure and maintainable products. They are built for speed and convenience, not with a user centric approach in mind.
Currently if feels like we are missing out on a lot of opportunities. Developers don’t keep up with the one thing they can not demand their end users to change – the web platform. Instead we use and learn about abstractions that promise an easier way to develop. This is understandable, but often based on prejudices of more seasoned developers still suffering from bad memories of the web of old. Abstractions are a great way to build a lot in a short amount of time and – to developers – easy to maintain products. However, this is a problem when the abstractions themselves become a roadblock.
The other day someone asked me to help them with a project and take a look at a single web document. Nothing fancy, one document with a bit of text and some design. No interaction, no special ”app” needs. I looked at the page and I found a typo. Normally I'd write a report of what could be done better. But I thought I’d be a good web citizen and go to GitHub, fork the project and do the changes myself adding comments why I did so. I also thought it a sensible thing to run the project locally to see the changes.
As it turns out, the project used not markdown or HTML, but a templating engine. Building the project locally meant downloading 150 MB of dependencies. It then failed because I tried it in my Linux shell on my Windows machine. Some of the dependencies flat out expected a Mac without any information about that.
In the end, I fixed the typos directly on GitHub using the raw view. I encountered some waste of time and effort and I am OK with that. However, now imagine me being a person that just wants to help out an open source project. A non-affluent person on low-level hardware on an unreliable or expensive connection on the web. Not using the web interface of GitHub would mean I am blocked and I paid the price of downloading 150MB for it.
We should be better than this. There are lots of articles on how to make our products perform well for end users. But what about the technical, cognitive and monetary efforts we expect from contributors? Shouldn’t it be easy for anyone to participate rather than just those with the fastest computers and the best connections?
It is extraordinary to see what’s going wrong at the moment. We have users of the web who get incredible browsers. Our apps and sites have functionality that in the past was only available in apps that came on DVDs. Yet users complain about browser updates as too much work. There is also a general feeling that native apps feel more convenient and secure. The web has a bad reputation as a wild west playground.
We have developers who have great tooling and get lost in looking for the next big thing. They have no time to keep up with what’s happening. Instead there is a feeling of repetitive complaints about problems of the past. And citing these as a reason for the lack of quality when it comes to delivering great products. Far too often you hear the “but browser X doesn’t support it” argument. Most of the time browser X is an outdated version not used by anyone in the audience of the product at hand.
Newcomers to the web find the stack exciting enough. They don’t put much effort into learning it though. Which is no surprise. The people they look up to don't mention its benefits. Instead they praise libraries, frameworks and already built components as the best way to start.
It is not the fault of the technology or the platform. It is our lack of focus and a general "clever laziness" they may have gone too far.
As a whole, we’ve become a group of full stackoverflow developers. Instead of learning how things work, we apply them and hope for the best. When something goes wrong, we go to help channels like Slack, Twitter or Stackoverflow and we ask for a fix. The speed and voting nature of these platforms favour the quick and results-oriented over the explanatory. In other words, people explaining why something doesn't work and that it may even be a bad idea get downvoted. Those who give you a “copy and paste this and all will be fine” get celebrated as effective and great developers. The learning aspect is not what we want to have – we only want an answer that works.
Many things are to blame for this state of affairs. Maybe you don’t even see it as an issue. There is no denying though that we could be better. We should be a serious as a part of the job market and not a place where money is burnt. We need to become more inclusive if we want to keep growing both in size and impact. We have to find a way to make this less of a competitive rat race. I'd love the world to see software development as a place where people of all kind of backgrounds can grow in. And you grow most by learning.
So let‘s take a look at where we use up a lot of our energy and what we could do about it.
When you open developer tools in browsers you get a huge amount of options. I am pretty sure the design and marketing department woud not be happy if this were a commercial product. It is overwhelming to get this as a first experience. This is not a personal feeling. When you look at the usages stats of in-browser tooling 2-3 tools are always. All the others are only looked at on a need basis and even then only be a small group of experts. Yet we added them all and made them immediately accessible. It is the proverbial kitchen sink. It stops people from embracing advanced debugging on the web. Want proof? Ask people how often they use breakpoint debugging. Most of us still prefer a - much less superior - console.log().
We work in several contexts and keep switching them, which is bad enough. But instead of wondering how to fix this we celebrate it. We love to talk about and tweak our editors. We fight what is the best browser. We all have a pet resource to look up information. The most baffling of all is that we see the terminal still as the most professional of all environments.
Knowing about all these tools is a full-time job in itself. Jumping from one to another is a cognitive overhead we keep underestimating.
We edit a file, we jump to the browser and its developer tools to see if it worked and tweak it if needed. We fail to see why it doesn’t and we go to some documentation to find out. Once we fixed the problem we go to the terminal to do our version control and publication.
This is exhausting and feels unoptimized.
Let's rethink our tooling. We switch from one context to another to find out what went wrong. We also switch to move along on the delivery process. Wouldn’t it be better if our tools prevented us from doing things wrong in the first place?
What if we embedded the learning part into the other parts of the process? Tools should tell us what is going wrong and why it is wrong. Not only flagging up that there is something that needs fixing.
We should consider a more holistic approach to developer tools. Instead of a steep learning curve the tools should come with sensible presets. Instead of giving us the kitchen sink they should offer contextual functionality. We have these opportunities. Development tools these days aren’t black boxes we pay for. Most are open source and encourage contribution or at the very least feedback.
Editors aren’t huge, monolithic IDEs any longer that need a beefy computer to run on.
A lot of excellent editors are web based and can either run in a browser or on the computer inside an Electron shell. This means that you can hack around on the editor. Visual Studio Code, for example, is written in TypeScript. Extensions to it use a heavily documented API to build interfaces. More importantly, it also means that you can install an editor on your server and run it for your users. That means they don't need to install anything on their machines. They can open it in their browsers and start coding or tweak settings.
This also allows you to preconfigure the editor on the server. Contributors can use abstractions like TypeScript or Sass without having to install them. Online editors like JSBin, Codepen, Stackblitz, Codesandbox all do this and are a big success. They don’t only allow people to code, but also to collaborate on code and try things out without much overhead.
Browsers aren’t unknown entities created by only godlike developers either. The most used ones are based on open source projects that invite and allow contribution. The same applies to developer tools inside them. You can write extensions for developer tools in case there is something you are missing. For browser makers extensions are a great opportunity to try out new functionality.
Most browsers can also be remote controlled. This means you can automate a lot of the processes historically done by hand by testers or end users. Headless browsers allow you to open a URL, render the page, create an image of it and compare it to others. This is an excellent way to automate testing of your products. In other words, you have remote access to the browser and its inner workings. And you can also use parts of the browser in other products instead of having to re-invent them.
Documentation of web standards and browser functionality is also open these days. In the past each browser maker controlled and duplicated these efforts. These days, the Mozilla Web Docs have become a place where every big player of the web contributes. As it is an open wiki it also is easy to keep up to date. “Can I use” is another excellent resource. It gives you up-to-date information on browser support of certain features.
Both these resources are not just products on the web. They come with APIs to get the content and use it in other products.
The open nature of tools these days allows us to be flexible in how to get developers to learn their trade.
Word and other text editors put red squiggly lines under spelling mistakes. Code editors like Visual Studio Code using information from Mozilla Web Docs can do the same. The above screenshot is the webhint extension running inside the editor. Some elements have squiggly lines under them, meaning something is wrong.
For example, the extension flags up that a button element is exactly what it says. What you might not know though is that to make it work across browsers, you also need to give it a type attribute of "button". This is where "webhint":https://webhint.io complains. Now you know, you probably won't forget to add the type next time.
Webhint also knows about cross browser compatibility problems, like the output element not being supported by older versions of Internet Explorer.
The validation works live while you are typing. For example, an image without an alternative isn’t accessible, which means that when you close the img tag without adding at least an empty alt attribute, you get a squiggly line.
As both Visual Studio Code and Edge are based on Chromium, we can do something about this. Imagine you write some Sass, and switch over to the browser to see if the outcome works. You tweak some settings in the visual tools until the problems are fixed and then go back to the editor. That's where it gets tricky. You fixed the generated CSS but you still have to find out which Sass generated that. Using the the "Elements for VS Code":https://aka.ms/elements4code extension, you can embed the developer tools of the browser directly in the editor. The editor fires up an instance of the browser and hides it in the background. That way you can use both the editor and the visual tools in the same context.
Now we looked at a way to get documentation and best practices into editors. We also found ways to fix content switching even more by adding browser tools to editors. But what about the problem of the full stackoverflow approach? There seems to be no way to stop people from randomly copying and pasting code that works without considering the consequences. It is just too easy and rewarding to do.
If copying and pasting code is a thing people do, why should people do it? Computers are much better at analysing the performance of code and finding patterns. What you can see in this screencast is an experimental feature of Visual Studio Online called AI-assisted IntelliSense. What it does is use a machine learning model that has been trained on the most successful open source projects on GitHub that did similar tasks to what you’re creating. It then gives you the most likely results from that as an autocomplete option in the editor. In essence, this is copy and paste with a lot more computing smarts.