The document discusses the importance of humility for programmers. It contains multiple quotes emphasizing that programmers should be aware of the limitations of their own abilities and knowledge. The competent programmer approaches tasks with humility, avoiding clever tricks and respecting cognitive limitations. True humility does not mean lack of confidence or spinelessness. It means having an accurate sense of one's skills and being open to other perspectives to overcome biases and confirmation errors. Humility allows for lifelong learning and using the best solutions, methods, and architectures, regardless of origin.
Two of the hardest challenges in software development are building the right thing and building the thing right. The first problem comes from a lack of understanding of what users want. The second comes from the fact that the complexities of software make it challenging to build high-quality applications.
It might not surprise you that humility increases empathy for users, which helps us make sure we're building the right thing. However, did you know that Dijkstra once said humility was also a key to producing high-quality software?
We will look at practical ways intellectual humility can help you be a better software developer. I'll show you how humility drives you to use abstraction to manage complexity. I'll show you have it enables you to find alternative solutions to problems. And I'll show you how it helps you focus on the needs of the user.
In the modern software landscape, humility is a tool that can level you up as a developer. It deserves a place in your toolbox.
This document discusses common sense in machines and intelligence without emotion. It explores how the mind works as a "society of mind" made up of many smaller mental agents or processes. While computers can perform many tasks, common sense involves a large variety of knowledge that is difficult for computers to manage. The author proposes that intelligence arises from the interactions between mental agents, not from any single part. Memory may involve "knowledge lines" that connect ideas to the agents that learned them. Overall, the document speculatively examines challenges for machines to develop common sense and human-like intelligence through understanding the mind as a complex system.
Facilitating Complexity: A Pervert's Guide to ExplorationWilliam Evans
A talk given at the Melbourne Cynefin meetup. A set of riffs on how to facilitate teams exploring the Complex Domain.
Will Evans explores the convergence of practice and theory using Lean Systems, Design Thinking, DevOps, and LeanUX with global corporations from NYC to Berlin to Singapore. As Chief Design Officer at PraxisFlow, he works with a select group of corporate clients undergoing Lean and Agile transformations across the entire organization. Will is also the Design Thinker-in-Residence at New York University's Stern Graduate School of Management.
Will was previously the Managing Director of TLCLabs, the world's leading Lean Design Innovation consultancy where he brought LeanUX and Design Thinking to large media, finance, and healthcare companies.
Before TLC, he led experience design and research for TheLadders in New York City. He has over 15 years industry experience in service design innovation, user experience strategy and research. His roles include directing UX for social network alanysis & terrorism modeling at AIR Worldwide, UX Architect for social media site Gather.com, and UX Architect for travel search engine Kayak.com. He worked at Lotus/IBM where he was the senior information architect working in Knowledge Management, and for Curl - a DARPA-funded MIT project when he was at the MIT Laboratory for Computer Science.
He lives in New York, NY, and drinks far too much coffee. He Co-Founded and Co-Chaired the LeanUX NYC conference now in it’s 6th year, founded the LEAD SUMMIT NYC, and was also the User Experience track chair for the Agile 2013 and Agile 2014 conferences.
Teams can be These slides are from the second session Mark Levison and I did at Agile2011(8/8/2011).
Contact:
mark@agilepainrelief.com, @mlevison
roger@agilecrossing.com, @rwbrown.
Using MMOWGLI to Reframe Wicked Problems as Grand Challenges - Garth Jensen, ...SeriousGamesAssoc
The document discusses mmowgli, an online platform and practice that harnesses collective intelligence to address complex problems. It does this by engaging large, diverse groups in an open-ended narrative to generate new ideas. Key aspects include using storytelling and dialogue to tap into more perspectives than traditional top-down approaches, creating a level playing field where all contributions are voluntary, and designing the platform to be easily adaptable for different uses. The goal is to convert "unrealized potential" from the community into useful insights by structuring issues as collaborative games.
1) The document discusses emotional intelligence (EQ) and its importance in the workplace. EQ is more predictive of job performance than IQ.
2) It presents theories of multiple intelligences and discusses spiritual intelligence as a possible additional type. Interaction with others and understanding of self are key aspects of EQ.
3) The EQ framework involves personal competence, relationship competence, and knowledge management. Key components are self-awareness, self-control, and awareness of others.
This document discusses computer programming and design thinking. It begins with a pop quiz asking what computer programming is, with the answer being all of the above - art, science, craft, design and engineering. It then discusses quotes from Donald Knuth describing programming as an art form. The document continues exploring definitions of software architect and the basics of design. It provides principles from Don Norman on usability and from others on the software development process and avoiding errors.
The physiology of decisions, actions, learning and memory, A Decision/Action ...Larry Paul
This presentation looks at the relationship between the time-scales of OODA loops and the Deep Stories of narrative decision-making. It illustrates how the difference supports each other in the field and how it can influence training.
Two of the hardest challenges in software development are building the right thing and building the thing right. The first problem comes from a lack of understanding of what users want. The second comes from the fact that the complexities of software make it challenging to build high-quality applications.
It might not surprise you that humility increases empathy for users, which helps us make sure we're building the right thing. However, did you know that Dijkstra once said humility was also a key to producing high-quality software?
We will look at practical ways intellectual humility can help you be a better software developer. I'll show you how humility drives you to use abstraction to manage complexity. I'll show you have it enables you to find alternative solutions to problems. And I'll show you how it helps you focus on the needs of the user.
In the modern software landscape, humility is a tool that can level you up as a developer. It deserves a place in your toolbox.
This document discusses common sense in machines and intelligence without emotion. It explores how the mind works as a "society of mind" made up of many smaller mental agents or processes. While computers can perform many tasks, common sense involves a large variety of knowledge that is difficult for computers to manage. The author proposes that intelligence arises from the interactions between mental agents, not from any single part. Memory may involve "knowledge lines" that connect ideas to the agents that learned them. Overall, the document speculatively examines challenges for machines to develop common sense and human-like intelligence through understanding the mind as a complex system.
Facilitating Complexity: A Pervert's Guide to ExplorationWilliam Evans
A talk given at the Melbourne Cynefin meetup. A set of riffs on how to facilitate teams exploring the Complex Domain.
Will Evans explores the convergence of practice and theory using Lean Systems, Design Thinking, DevOps, and LeanUX with global corporations from NYC to Berlin to Singapore. As Chief Design Officer at PraxisFlow, he works with a select group of corporate clients undergoing Lean and Agile transformations across the entire organization. Will is also the Design Thinker-in-Residence at New York University's Stern Graduate School of Management.
Will was previously the Managing Director of TLCLabs, the world's leading Lean Design Innovation consultancy where he brought LeanUX and Design Thinking to large media, finance, and healthcare companies.
Before TLC, he led experience design and research for TheLadders in New York City. He has over 15 years industry experience in service design innovation, user experience strategy and research. His roles include directing UX for social network alanysis & terrorism modeling at AIR Worldwide, UX Architect for social media site Gather.com, and UX Architect for travel search engine Kayak.com. He worked at Lotus/IBM where he was the senior information architect working in Knowledge Management, and for Curl - a DARPA-funded MIT project when he was at the MIT Laboratory for Computer Science.
He lives in New York, NY, and drinks far too much coffee. He Co-Founded and Co-Chaired the LeanUX NYC conference now in it’s 6th year, founded the LEAD SUMMIT NYC, and was also the User Experience track chair for the Agile 2013 and Agile 2014 conferences.
Teams can be These slides are from the second session Mark Levison and I did at Agile2011(8/8/2011).
Contact:
mark@agilepainrelief.com, @mlevison
roger@agilecrossing.com, @rwbrown.
Using MMOWGLI to Reframe Wicked Problems as Grand Challenges - Garth Jensen, ...SeriousGamesAssoc
The document discusses mmowgli, an online platform and practice that harnesses collective intelligence to address complex problems. It does this by engaging large, diverse groups in an open-ended narrative to generate new ideas. Key aspects include using storytelling and dialogue to tap into more perspectives than traditional top-down approaches, creating a level playing field where all contributions are voluntary, and designing the platform to be easily adaptable for different uses. The goal is to convert "unrealized potential" from the community into useful insights by structuring issues as collaborative games.
1) The document discusses emotional intelligence (EQ) and its importance in the workplace. EQ is more predictive of job performance than IQ.
2) It presents theories of multiple intelligences and discusses spiritual intelligence as a possible additional type. Interaction with others and understanding of self are key aspects of EQ.
3) The EQ framework involves personal competence, relationship competence, and knowledge management. Key components are self-awareness, self-control, and awareness of others.
This document discusses computer programming and design thinking. It begins with a pop quiz asking what computer programming is, with the answer being all of the above - art, science, craft, design and engineering. It then discusses quotes from Donald Knuth describing programming as an art form. The document continues exploring definitions of software architect and the basics of design. It provides principles from Don Norman on usability and from others on the software development process and avoiding errors.
The physiology of decisions, actions, learning and memory, A Decision/Action ...Larry Paul
This presentation looks at the relationship between the time-scales of OODA loops and the Deep Stories of narrative decision-making. It illustrates how the difference supports each other in the field and how it can influence training.
Mental state is one important topic of artificial general intelligence (AGI). In this talk. we’ll investigate how to understand the mental states pf AI systems, have an introduction to reservoir computing, the appropriate computing model, and share some examples and open source projects.
心靈狀態 (mental state) 是 強人工智慧 (AGI) 研究的一個重要問題。本演講將探討,在哲學或數學上該如何看待人工智慧系統的心靈狀態,介紹水庫運算 (reservoir computing) 此一適合的運算模型,並展示水庫運算的實例與開源專案。
Cognitive computing aims to mimic the human brain by understanding natural language, learning from experience, and providing contextualized answers rather than single right answers. Systems like IBM Watson learn from massive amounts of data using techniques like deep question answering. While artificial intelligence research seeks to match human abilities, there is also concern that superintelligent systems may not share human values and could rapidly self-improve beyond human control, potentially threatening humanity.
Cognitive Computing and the future of Artificial IntelligenceVarun Singh
This document discusses cognitive computing and artificial intelligence. It defines cognitive computing as systems that learn from experience and instructions to mimic human cognition by synthesizing information, finding patterns rather than exact answers, and interacting naturally with humans. Specific examples discussed are IBM's Watson, which uses natural language processing and machine learning to answer questions and make complex decisions from vast amounts of data. The document also discusses concerns about the future risks of artificial intelligence, such as superintelligent systems that humans may not be able to control and could ultimately replace humans.
Learn from two dyslexic UX designers and one UX researcher as they journey through what it means to see the world from different perspectives and how to harness this power for design thinking. Dive into the dyslexic perspective and learn techniques to help you solve complex problems and unlock your creative potential.
The talk was given at Big (D)esign / September 2017
By:
Jennifer Keene-Moore
Anita Barraco Cator
Sophi Marass
Helping Couples Reconstruct the Emotional BrainMark Brady
Mark Brady is a transpersonal neurobiologist who helps couples rebuild their emotional brains. His document discusses how understanding neurobiology can benefit couples and increasing emotional granularity, or the ability to discriminate between finer emotions. He advocates teaching couples to ask and answer "Beautiful Questions," which are open-ended questions that can keep a practice dynamic and help cultivate neural networks. Asking Beautiful Questions can momentarily relieve self-centeredness and benefit relationships.
This document discusses Don Norman's concepts of knowledge in the head versus knowledge in the world. It outlines that internal knowledge refers to what is stored in memory, while external knowledge is available in the environment. It also notes that great precision is not required for everyday tasks like telling coins apart, and that constraints can spark creativity. Human memory works through arbitrary memories, meaningful relationships between ideas, and explanations. Overall, the document advocates for user-centered design that focuses on end users' needs and experiences.
"Understanding Humans with Machines" (Arthur Tisi)Maryam Farooq
At NYAI #16, Arthur Tisi explores deep neural networks that dominate advanced approaches to pattern recognition. Today neural networks transcribe our speech, recognize our pets, understand linguistics and fight our trolls. Recent advances by Geoff Hinton and the introduction of capsule networks only ups the ante. But despite the results, we have to wonder… why do they work so well?
In this session, Arthur Tisi, CEO and Founder of MeaningBot, will share some extremely remarkable results in applying deep neural networks to natural language processing (NLP), particularly in the areas of determining human traits in the areas of leadership, team building, personality, consumption preferences and more. Arthur will cite real world examples and share some of the math and science behind these advances including different variants of artificial neural networks, such as deep multilayer perceptron (MLP), convolutional neural network (CNN), recursive neural network (RNN), recurrent neural network (RNN), long short-term memory (LSTM), sequence-to-sequence model, and shallow neural networks including word2vec for word embeddings.
The document discusses Knownet, a knowledge management system created by the National Institute of Statistics of Rwanda. It aims to collect and organize NISR's collective knowledge and make it accessible to staff. The goal is to provide an environment where people are likely to share knowledge voluntarily by connecting knowledge producers and users through tools like blogging, discussion forums, and social networking. The document emphasizes that knowledge sharing depends on having the right audience and context, and that creating the right environment is key to managing knowledge in an organization.
Thinking is a cognitive process that involves problem solving and reasoning. It allows humans to solve challenges in a way that distinguishes us from other species. Thinking involves mental exploration of ideas rather than physical exploration and helps individuals and society progress. There are different types of thinking including perceptual, conceptual, creative, and logical thinking as well as problem solving. Thinking is essential for human welfare and development.
1. The document discusses augmenting collective intelligence systems to better sense, respond to, and shape their environment through the lenses of complex systems, resilience, sensemaking and human-computer interaction.
2. It emphasizes enabling the formation of meaningful connections between interpretations, narratives and evidence through tools that can detect and render patterns in vast amounts of information.
3. The goal is to support structured deliberation and debate where questions, evidence and connections are first-class entities that can be linked, addressed, embedded and debated to build plausible arguments.
The document discusses improving organizational conversations and meetings. It suggests that meetings are often dominated by strong personalities and rambling discussions instead of being productive. It advocates for a more constructive approach called "parallel thinking" where groups consider issues and ideas without dispute or argument. This allows people to use collective intelligence and analyze information from the same perspective. The document stresses that traditional thinking habits lack design and creativity to deal with constant change, and that improving the quality of conversations in an organization can help drive better outcomes.
The document discusses knowledge that exists in the head versus knowledge that exists in the world. It notes that while memory is imperfect, people can generally remember enough distinguishing details about familiar objects. It also discusses how constraints can spur creativity, how human memory works through different categories like memory for meaningful relationships, and the importance of user-centered design in creating products that meet users' needs.
This document discusses knowledge that exists in the head versus knowledge that exists in the world. It notes that knowledge in the head refers to internal memory and recollection, while information is also available externally in the world. While people may not remember precise details, they can often remember enough to distinguish between similar objects. The document also discusses how human memory works through categories like memory for arbitrary things, meaningful relationships, and explanations. Precision is not always needed, and constraints can spur creativity. However, memory fails when there are too many secrets, codes, or things to remember.
User Centered Design module for Master study in Enterprise Management. Main arguments are Design Thinking, Lean UX Digital Entity “The Hive” methodology, Usability.
Using insights from neuroscience, this document discusses how to enhance creativity in organizational teams. It explains that creativity comes from the brain and everyone has creative potential. Understanding how the brain works through learning, diversity, empathy and collaboration can help foster creativity. The creative process involves preparation, incubation, insight, and verification. Associative memory and neurotransmitters also impact creativity, as the more connections in our brain from learning, the more we can combine concepts in novel ways to solve problems. Effectively training teams in these brain-based strategies can improve their creative capabilities.
This document introduces the project "97 Things Every Programmer Should Know", which aims to collect wisdom and advice for programmers from practitioners in the field. It began as a response to a similar project for software architects. Contributors provide short blog-style pieces on important concepts for programmers under an open license. The collection forms a diverse overview rather than a cohesive handbook, reflecting the individual voices of contributors. The editor's goal is to achieve variety rather than a single unified perspective.
The document discusses principles of complex learning and innovation. It provides insights from various authors and thinkers. Some of the key ideas discussed include:
1) Three necessary conditions for complex learning - an optimal state of relaxed alertness, orchestrated immersion in multiple experiences, and active processing of experiences.
2) Different approaches to work - from chaotic dumbness to relaxed alertness, automated processes to orchestrated immersion, and passive analysis to active processing.
3) The importance of nurturing ideas, keeping an open mind, and learning from both successes and failures.
Learning Go From Hello World to Web Service.pptxEric Potter
This document outlines an agenda for a workshop on learning Go from basic "Hello World" programs to building web services. The agenda covers Go basics like syntax, types, functions, arrays and slices, structs and interfaces. It also covers more advanced topics like concurrency with goroutines, channels and wait groups. Finally, it discusses building web services using the net/http package and interacting with databases using the database/sql package. Exercises are provided throughout for hands-on learning.
Learning Go From Hello World to Web Service.pptxEric Potter
This document provides an overview of the Go programming language, including its creators, syntax, types, functions, concurrency features, and use for web services and data access. It covers Hello World examples, arrays, slices, structs, interfaces, the net/http package, and the database/sql package. Code samples and exercises are included to demonstrate various Go concepts.
Mental state is one important topic of artificial general intelligence (AGI). In this talk. we’ll investigate how to understand the mental states pf AI systems, have an introduction to reservoir computing, the appropriate computing model, and share some examples and open source projects.
心靈狀態 (mental state) 是 強人工智慧 (AGI) 研究的一個重要問題。本演講將探討,在哲學或數學上該如何看待人工智慧系統的心靈狀態,介紹水庫運算 (reservoir computing) 此一適合的運算模型,並展示水庫運算的實例與開源專案。
Cognitive computing aims to mimic the human brain by understanding natural language, learning from experience, and providing contextualized answers rather than single right answers. Systems like IBM Watson learn from massive amounts of data using techniques like deep question answering. While artificial intelligence research seeks to match human abilities, there is also concern that superintelligent systems may not share human values and could rapidly self-improve beyond human control, potentially threatening humanity.
Cognitive Computing and the future of Artificial IntelligenceVarun Singh
This document discusses cognitive computing and artificial intelligence. It defines cognitive computing as systems that learn from experience and instructions to mimic human cognition by synthesizing information, finding patterns rather than exact answers, and interacting naturally with humans. Specific examples discussed are IBM's Watson, which uses natural language processing and machine learning to answer questions and make complex decisions from vast amounts of data. The document also discusses concerns about the future risks of artificial intelligence, such as superintelligent systems that humans may not be able to control and could ultimately replace humans.
Learn from two dyslexic UX designers and one UX researcher as they journey through what it means to see the world from different perspectives and how to harness this power for design thinking. Dive into the dyslexic perspective and learn techniques to help you solve complex problems and unlock your creative potential.
The talk was given at Big (D)esign / September 2017
By:
Jennifer Keene-Moore
Anita Barraco Cator
Sophi Marass
Helping Couples Reconstruct the Emotional BrainMark Brady
Mark Brady is a transpersonal neurobiologist who helps couples rebuild their emotional brains. His document discusses how understanding neurobiology can benefit couples and increasing emotional granularity, or the ability to discriminate between finer emotions. He advocates teaching couples to ask and answer "Beautiful Questions," which are open-ended questions that can keep a practice dynamic and help cultivate neural networks. Asking Beautiful Questions can momentarily relieve self-centeredness and benefit relationships.
This document discusses Don Norman's concepts of knowledge in the head versus knowledge in the world. It outlines that internal knowledge refers to what is stored in memory, while external knowledge is available in the environment. It also notes that great precision is not required for everyday tasks like telling coins apart, and that constraints can spark creativity. Human memory works through arbitrary memories, meaningful relationships between ideas, and explanations. Overall, the document advocates for user-centered design that focuses on end users' needs and experiences.
"Understanding Humans with Machines" (Arthur Tisi)Maryam Farooq
At NYAI #16, Arthur Tisi explores deep neural networks that dominate advanced approaches to pattern recognition. Today neural networks transcribe our speech, recognize our pets, understand linguistics and fight our trolls. Recent advances by Geoff Hinton and the introduction of capsule networks only ups the ante. But despite the results, we have to wonder… why do they work so well?
In this session, Arthur Tisi, CEO and Founder of MeaningBot, will share some extremely remarkable results in applying deep neural networks to natural language processing (NLP), particularly in the areas of determining human traits in the areas of leadership, team building, personality, consumption preferences and more. Arthur will cite real world examples and share some of the math and science behind these advances including different variants of artificial neural networks, such as deep multilayer perceptron (MLP), convolutional neural network (CNN), recursive neural network (RNN), recurrent neural network (RNN), long short-term memory (LSTM), sequence-to-sequence model, and shallow neural networks including word2vec for word embeddings.
The document discusses Knownet, a knowledge management system created by the National Institute of Statistics of Rwanda. It aims to collect and organize NISR's collective knowledge and make it accessible to staff. The goal is to provide an environment where people are likely to share knowledge voluntarily by connecting knowledge producers and users through tools like blogging, discussion forums, and social networking. The document emphasizes that knowledge sharing depends on having the right audience and context, and that creating the right environment is key to managing knowledge in an organization.
Thinking is a cognitive process that involves problem solving and reasoning. It allows humans to solve challenges in a way that distinguishes us from other species. Thinking involves mental exploration of ideas rather than physical exploration and helps individuals and society progress. There are different types of thinking including perceptual, conceptual, creative, and logical thinking as well as problem solving. Thinking is essential for human welfare and development.
1. The document discusses augmenting collective intelligence systems to better sense, respond to, and shape their environment through the lenses of complex systems, resilience, sensemaking and human-computer interaction.
2. It emphasizes enabling the formation of meaningful connections between interpretations, narratives and evidence through tools that can detect and render patterns in vast amounts of information.
3. The goal is to support structured deliberation and debate where questions, evidence and connections are first-class entities that can be linked, addressed, embedded and debated to build plausible arguments.
The document discusses improving organizational conversations and meetings. It suggests that meetings are often dominated by strong personalities and rambling discussions instead of being productive. It advocates for a more constructive approach called "parallel thinking" where groups consider issues and ideas without dispute or argument. This allows people to use collective intelligence and analyze information from the same perspective. The document stresses that traditional thinking habits lack design and creativity to deal with constant change, and that improving the quality of conversations in an organization can help drive better outcomes.
The document discusses knowledge that exists in the head versus knowledge that exists in the world. It notes that while memory is imperfect, people can generally remember enough distinguishing details about familiar objects. It also discusses how constraints can spur creativity, how human memory works through different categories like memory for meaningful relationships, and the importance of user-centered design in creating products that meet users' needs.
This document discusses knowledge that exists in the head versus knowledge that exists in the world. It notes that knowledge in the head refers to internal memory and recollection, while information is also available externally in the world. While people may not remember precise details, they can often remember enough to distinguish between similar objects. The document also discusses how human memory works through categories like memory for arbitrary things, meaningful relationships, and explanations. Precision is not always needed, and constraints can spur creativity. However, memory fails when there are too many secrets, codes, or things to remember.
User Centered Design module for Master study in Enterprise Management. Main arguments are Design Thinking, Lean UX Digital Entity “The Hive” methodology, Usability.
Using insights from neuroscience, this document discusses how to enhance creativity in organizational teams. It explains that creativity comes from the brain and everyone has creative potential. Understanding how the brain works through learning, diversity, empathy and collaboration can help foster creativity. The creative process involves preparation, incubation, insight, and verification. Associative memory and neurotransmitters also impact creativity, as the more connections in our brain from learning, the more we can combine concepts in novel ways to solve problems. Effectively training teams in these brain-based strategies can improve their creative capabilities.
This document introduces the project "97 Things Every Programmer Should Know", which aims to collect wisdom and advice for programmers from practitioners in the field. It began as a response to a similar project for software architects. Contributors provide short blog-style pieces on important concepts for programmers under an open license. The collection forms a diverse overview rather than a cohesive handbook, reflecting the individual voices of contributors. The editor's goal is to achieve variety rather than a single unified perspective.
The document discusses principles of complex learning and innovation. It provides insights from various authors and thinkers. Some of the key ideas discussed include:
1) Three necessary conditions for complex learning - an optimal state of relaxed alertness, orchestrated immersion in multiple experiences, and active processing of experiences.
2) Different approaches to work - from chaotic dumbness to relaxed alertness, automated processes to orchestrated immersion, and passive analysis to active processing.
3) The importance of nurturing ideas, keeping an open mind, and learning from both successes and failures.
Learning Go From Hello World to Web Service.pptxEric Potter
This document outlines an agenda for a workshop on learning Go from basic "Hello World" programs to building web services. The agenda covers Go basics like syntax, types, functions, arrays and slices, structs and interfaces. It also covers more advanced topics like concurrency with goroutines, channels and wait groups. Finally, it discusses building web services using the net/http package and interacting with databases using the database/sql package. Exercises are provided throughout for hands-on learning.
Learning Go From Hello World to Web Service.pptxEric Potter
This document provides an overview of the Go programming language, including its creators, syntax, types, functions, concurrency features, and use for web services and data access. It covers Hello World examples, arrays, slices, structs, interfaces, the net/http package, and the database/sql package. Code samples and exercises are included to demonstrate various Go concepts.
This document introduces Canopy, an open source automated UI testing framework for web applications written in F#. Canopy uses a domain specific language with CSS selectors to perform actions like clicking, typing, waiting, and asserting results. It allows testers to create integration tests that complement unit testing and manual QA. The framework is demonstrated with a simple test. In conclusion, Canopy aims to make automated UI testing easy with minimal effort through its F# DSL and capabilities like screenshots and advanced selectors. More information is provided in the links at the end.
Finding Your Place in the Cosmos - Azure Cosmos DBEric Potter
This document discusses different database models including document, key-value, graph, and wide column stores. It provides examples of inserting and querying data using the graph database model. It demonstrates adding vertices to represent entities like people and events, and edges to represent relationships between them. Queries can retrieve connections between entities. The document discusses integrating database models with tools like Logic Apps, Azure Functions, and change feed processors. It concludes by providing contact information for further discussion.
This document discusses advanced TypeScript concepts beyond the basics, including data types, generics, inheritance, composition vs inheritance, intersection types, union types, string literals, and using TypeScript's type system to clearly express software intent. It is presented by Eric Potter and assumes familiarity with adding types to variables, parameters, classes, and using type definition files and build configuration.
Eric Potter discusses pattern matching in C#. Pattern matching combines type validation, variable evaluation, and variable assignment. It allows for different program behaviors based on the type of an input variable. Pattern matching can be used instead of switch/case statements or nested if/else blocks when selecting different code paths. Using pattern matching makes code more clear and concise. The presentation provides examples of pattern matching in other languages like F# and Rust and proposes adding it to C# 7.3.
Software development is a profession that requires constant learning. One question we face is whether we should learn as much as we can about one topic or whether we should learn about a broad range of things. In this session we will examine the pros and cons of each and try to find the right balance between them.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
SOCRadar's Aviation Industry Q1 Incident Report is out now!
The aviation industry has always been a prime target for cybercriminals due to its critical infrastructure and high stakes. In the first quarter of 2024, the sector faced an alarming surge in cybersecurity threats, revealing its vulnerabilities and the relentless sophistication of cyber attackers.
SOCRadar’s Aviation Industry, Quarterly Incident Report, provides an in-depth analysis of these threats, detected and examined through our extensive monitoring of hacker forums, Telegram channels, and dark web platforms.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
7. “ “The analysis of the influence that programming
languages have on the thinking habits of its users,
and the recognition that, by now, brainpower is by
far our scarcest resource, they together give us a
new collection of yardsticks for comparing the
relative merits of various programming languages.
The competent programmer is fully aware of
the strictly limited size of his own skull;
therefore he approaches the programming task
in full humility, and among other things he avoids
clever tricks like the plague.”
7
10. “ “The analysis of the influence that programming
languages have on the thinking habits of its users,
and the recognition that, by now, brainpower is by
far our scarcest resource, they together give us a
new collection of yardsticks for comparing the
relative merits of various programming languages.
The competent programmer is fully aware of the
strictly limited size of his own skull; therefore he
approaches the programming task in full humility,
and among other things he avoids clever tricks like
the plague.”
10
13. “ “The analysis of the influence that programming
languages have on the thinking habits of its users,
and the recognition that, by now, brainpower is by
far our scarcest resource, they together give us a
new collection of yardsticks for comparing the
relative merits of various programming languages.
The competent programmer is fully aware of the
strictly limited size of his own skull; therefore he
approaches the programming task in full humility,
and among other things he avoids clever tricks like
the plague.”
13
14. “ “The analysis of the influence that programming
languages have on the thinking habits of its users,
and the recognition that, by now, brainpower is by
far our scarcest resource, they together give us a
new collection of yardsticks for comparing the
relative merits of various programming languages.
The competent programmer is fully aware of
the strictly limited size of his own skull;
therefore he approaches the programming task
in full humility, and among other things he avoids
clever tricks like the plague.”
14
15. “ “The analysis of the influence that programming
languages have on the thinking habits of its users,
and the recognition that, by now, brainpower is by
far our scarcest resource, they together give us a
new collection of yardsticks for comparing the
relative merits of various programming languages.
The competent programmer is fully aware of the
strictly limited size of his own skull; therefore he
approaches the programming task in full humility,
and among other things he avoids clever tricks
like the plague.”
15
16. “ “The best way to learn to live with our
limitations is to know them. By the time
that we are sufficiently modest to try
factored solutions only, because the other
efforts escape our intellectual grip, we shall
do our utmost best to avoid all those
interfaces impairing our ability to factor the
system in a helpful way.”
16
20. Admitting the possibility of error
leads to:
● Better testing
● Better code reviews
● Asking for help appropriately
● Better naming and documentation
20
21. Admitting others may know more
leads to:
● Use of better solutions
● Use of better methods
● Use of better architectures
21
22. Admitting that we need to learn
leads to:
● Lifelong learning
● Asking better questions
22
27. “Cognitive load represents the
limit of what the working
memory can process. When you
experience too much cognitive
load, you cannot properly process
code.”
To alleviate cognitive load, we can:
● Refactor the code
● Create visualizations
27
29. Miller proposed as a law of human
cognition and information
processing that humans can
effectively process no more than
seven units, or chunks, of
information, plus or minus two
pieces of information, at any given
time.
29
30. Miller stressed the importance of
recoding—the reorganization of
information into fewer units
with more bits of information per
unit—as a central feature of human
thought processes. Recoding
increases the quantity of data that
one can process effectively and
can help to overcome the seven-
item information-processing limit.
30
32. “…the volume and complexity of
what we know has exceeded our
individual ability to deliver its
benefits correctly, safely, or
reliably.”
“Under conditions of complexity,
not only are checklists a help, they
are required for success.”
32
34. “Humility is a mindset about
oneself that is open-minded,
self-accurate, and not all about
me, that enables one to embrace
the world as it is in the pursuit of
human excellence.”
34
35. 35
The Psychology of Intellectual Humility
Mark R. Leary,Ph.D.
Department of Psychology and
Neuroscience
Duke University
36. “Having accurate knowledge
requires that people consider the
evidence on which their beliefs are
based, remain vigilant to the
possibility of being incorrect,
solicit and consider the
perspectives of other informed
people (especially those whose
viewpoints differ from theirs), and
revise their views when evidence
warrants.”
36
37. “As noted, people high in IH are
more curious, distinguish strong
from weak arguments more
clearly, are more accurate in
recalling whether they have been
exposed to certain information,
and think more about information
that contradicts their views.”
37
39. “Confident Humility: Having
faith in our capability, while
appreciating that we may not have
the right solution, or even be
addressing the right problem. That
gives us enough doubt to
reexamine our old knowledge and
enough confidence to pursue new
insights.
39
44. “Humility is not thinking less of
yourself, but thinking of yourself
less”
- not quite C. S. Lewis
45
45. “Do not imagine that if you meet a
really humble man he will be what
most people call ‘humble’
nowadays: he will…not be thinking
about humility: he will not be
thinking about himself at all.”
- C. S. Lewis
46
49. “A toolmaker succeeds as, and only as, the
users of his tool succeed with his aid.
- Fred Brooks
50. “However shining the blade, however jeweled
the hilt, however perfect the heft, a sword is
tested only by cutting. That swordsmith is
successful whose clients die of old age.
- Fred Brooks
51. As software developers,
we build tools.
The tools that we build can only help our users do these two
things:
1. Work Faster
2. Know More
52
53. “
“We must not forget that it is not our business
to make programs, it is our business to design
classes of computations that will display a
desired behaviour.”
55. Resources
Blog Post (shameless plug)
○ http://humbletoolsmith.com/2020/08/10/the-importance-
of-humility-in-software-development/
Further Reading
○ https://www.manning.com/books/the-programmers-brain
56
56. “
“We shall do a much better programming job,
provided that we approach the task with a full
appreciation of its tremendous difficulty,
provided that we stick to modest and elegant
programming languages, provided that we
respect the intrinsic limitations of the
human mind and approach the task as Very
Humble Programmers.”
TODO: More content about imposter syndrome
TODO: better applications
TODO: Add a reference slide for Dijkstra’s paper
TODO: More content about imposter syndrome
TODO: better applications
TODO: Add a reference slide for Dijkstra’s paper
Was addressing the software quality crisis in the 1960s.
I’m not advocating for imposter syndrome or some kind of gate keeping
Impostor syndrome is a psychological pattern in which an individual doubts their skills, talents or accomplishments and has a persistent internalized fear of being exposed as a "fraud".
Despite external evidence of their competence, those experiencing this phenomenon remain convinced that they are frauds, and do not deserve all they have achieved.
I’m not advocating for imposter syndrome or some kind of gate keeping
He said this at a time when pong was state of the art
Was addressing the software quality crisis in the 1960s.
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?
— Brian W. Kernighan
1956
Sounds like abstracting a method to me
Emotional Intelligence is a key part of intelligence
----
Having humility enables data-driven decision-making and the empathy needed for strong collaborations.
Emotional Intelligence is a key part of intelligence
----
Having humility enables data-driven decision-making and the empathy needed for strong collaborations.
Emotional Intelligence is a key part of intelligence
----
Having humility enables data-driven decision-making and the empathy needed for strong collaborations.
IH involves recognizing that one’s beliefs and opinions might be incorrect
Knowledge is just increasing, it is increasing at an increasing rate. … The accelerating pace of change means we need to question our beliefs more readily than before.
In contrast with many engineers who make houses,
cars, medicines, and clothing for human need and enjoyment, we make things that do not themselves directly satisfy human needs, but which others use in making things that enrich human living. In a word, the computer scientist is a toolsmith—no more, but no less. It is an honorable calling.
If we perceive our role aright, we then see more clearly the proper criterion for success: a toolmaker succeeds as, and only as, the users of his tool succeed with his aid.
Was addressing the software quality crisis in the 1960s.