Stuff I wish someone told me about being an engineerjwalter748
The document provides advice for engineers, with tips grouped under headings. It recommends not basing your identity on your title, finding a process that works for you, asking for help when needed, and knowing that imposter syndrome is common. Other tips include pair programming to avoid mistakes, focusing on problem solving over syntax, constantly self-evaluating, and prioritizing tasks. Technical debt and estimation are difficult, and passion can be misleading. Fundamentals, patterns, and difficult topics like testing require dedicated study. Interpersonal skills and avoiding discrimination are also important.
The Fundamentals of Continuous Software DesignJeremy Miller
This document discusses principles of continuous software design, including:
- Designing incrementally and reacting to feedback rather than doing big upfront design.
- Making decisions as late as responsibly possible to have the most information.
- Prioritizing reversibility so designs can easily change.
- Using test-driven development, refactoring, and bottom-up design to improve code quality and flexibility over time.
- Constantly challenging designs through techniques like spiking and socializing ideas with others.
Convert a Site Template to a Drupal 7 Theme using SASS or LESS and Zurb Found...Carlos Ospina
This document provides guidance on adapting a Drupal site template using themes, SASS/LESS, and responsive design techniques. It recommends using tools like SASS and CSS frameworks to build responsive layouts, and Drupal modules like Panels, Views, and Block Class to structure content. The process involves finding an appropriate template, converting CSS to SASS/LESS, designing responsive grids and content types, applying styling mixins, debugging across devices, and getting help when needed.
Jonas Auken presented on test driven development (TDD) at an Agile NCR conference. He discussed how TDD provides immediate feedback, allows for comfortable refactoring, and helps design software through small, test-driven increments. Auken demonstrated TDD using a "Find my Ride" example application and emphasized that TDD avoids big upfront design and instead designs through refactoring and incremental changes validated by tests. The presentation aimed to inspire developers to adopt TDD practices for building higher quality software through shorter feedback loops and improved designs.
Teaching Devs How to Love Independence and Own Their Environmentspeter-nealon
This document provides guidance for teaching developers to take ownership of their environments through configuration management. It recommends outlining the methodology, providing examples, reviewing code, investing time, and being patient. While developers may struggle with the changes needed, such as learning new concepts or accepting new processes, leadership support can help overcome challenges and lead to developers gaining systems knowledge and independence.
This document discusses finding the right balance between the minimum viable, minimum desirable, and ideal versions of yourself. It provides examples of activities that could fall into each category, such as basic self-care in the minimum viable, limited video games in the minimum desirable, and an extensive exercise schedule in the ideal. The document encourages prioritizing important tasks first to eat the biggest frog first.
Learn how apex design patterns and limits apply to flow, and how you can use flow to become a developer.
Hear about Meighan’s journey from Admin to developer and the impact Flow had on that journey.
See how best practices in Flow that are used every by admin apply to code, and can help you make that jump from admin to admineloper less scary, and how the confidence you have in your admin skills can be used to help lead the way to writing better code with Apex.
Software Craftsmanship and Agile Code GamesMike Clement
Join us to talk about what it means to be a software craftsman, how the Software Craftsmanship Manifesto (http://manifesto.softwarecraftsmanship.org/) provides a framework for us to improve.
A large part of being a software craftsman is practice. Using different "code games" we can have a full toolbelt of activities that will help us (and those around us) become better at our craft.
Agile software development promises the ability to deliver value quickly. But this isn’t just a matter of process. Uncle Bob says "the only way to go fast is to go well." But how do we go well? As software developers, we can only deliver features as fast as the code base and our skills allow us. Unfortunately the quality of our code base is directly related to our skill in the past.
Musicians and athletes spend most of their time practicing, not performing. As software developers (aspiring craftsmen) we must have practice sessions that allow us to improve our skills and develop better “code sense”. We’ll look at some different “agile code games” that will help us improve our craft.
Open Agile Romania 2011/Catalin Sindelaru - Scrum PainMozaic Works
The document discusses various aspects of Scrum, including its roles, artifacts, events, and rules. It notes that Ken Schwaber says Scrum must be followed as written or it is not truly Scrum. Other topics covered include Scrum Masters, Product Owners, backlogs and sprints, user stories, retrospectives, Scrum principles vs practices, the essence of Scrum, and comparisons to the Golden Circle model and other approaches. Browser and mobile phone usage statistics are also included.
The document discusses reasons why people enjoy programming and traits of good programmers. It notes that programmers like creating things, solving puzzles, learning, and precision work. Good programmers are curious, clear thinkers with problem-solving skills who are passionate about their work. Principles of good programming include keeping things simple, avoiding repetition, abstraction, and writing code with maintainability in mind.
The State of Frontend was presented at Vadodara Frontend Developer's meetup on 4th Apr, 2016. It covers the past, present and the future trends in the frontend development.
The document provides tips for improving performance as a developer from a low performer to a high performer. It recommends four main steps: 1) focus time on value-adding tasks using todo lists and planning tools, 2) learn development tools and automate routine work using scripting, 3) reuse existing code and check work with static analysis tools, and 4) regularly learn and train memory with various techniques. The overall message is that with proper time management, automation, code quality practices, and continuous learning, a low performing developer can become a high performer.
The document introduces an online creative writing workshop that will teach participants the basics of the writing process through short video lectures, class work analyzing components of short stories, homework assignments to write a short story, and peer review for feedback, with the goal of helping those interested in writing a novel to learn how to develop their story idea, characters, and world building.
In many cases, we create software to solve our own problems: missing functionality in a tool, a tool that we believe doesn't work as well as it should, or the very lack of a tool that does what we need. If we're our own users, things are quite obvious. But what about everyone else? How do we know what our users need? Isn't it best to ask just them?
In this presentation, you will learn why asking your users for what they want isn't always helpful, which do-it-yourself techniques you can use to understand their needs, how to make sense of the data you collect, and how all of this translates into the development of better features. We will discuss how this knowledge can fuel your decisions, delight your users, and influence your way of working in a distributed team of developers.
===
I originally gave this presentation at FOSDEM 2013.
Play to Learn: Agile Games with Cards and DiceMike Clement
Play is a powerful method to learn! Come and play some simple agile games that use playing cards, index cards and dice to explore the different values that are at the foundation of Agile and Lean development practices. In addition to your own insights, you may be able to take these game back to work to share with your co-workers.
This is a hands-on session so come prepared to have some fun!
There is no "right" answer to what you're "supposed to" learn from a game, so come ready to discover your own insights into software development processes and teamwork.
The document summarizes an upcoming webinar on Agile Release Planning workshops led by Joe Little on October 19, 2020. The webinar will provide an introduction to Agile Release Planning, including details on how the workshops are structured, both online and in-person. Attendees will learn the key elements and approaches used in the workshops through discussion and working with real project examples.
The document provides guidance on building and maintaining an effective remote team. It discusses forming a team through establishing a common goal and shared values. It identifies potential problems in remote teams like cultural diversity and lack of in-person interaction. Solutions proposed include focusing on communication, integrating people before skills, and creating a shared team culture through regular meetings and feedback. The key is treating team members as individuals, establishing trust, and managing stress through open discussion of issues.
Presented at an O'Reilly Webcast, 8 November 2011
Good mobile designs share many features in common, regardless of the fidelity of the device type, the OS or the user. Almost two decades of interactive design experience, as well as the creation of almost 76 mobile patterns for Designing Mobile Interfaces have led to some very specific and actionable insights into their use. Covers the intent of mobile patterns, and how to use them correctly in your design. Designed to be especially helpful for those migrating from other platforms, such as desktop web design.
The webcast was recorded, so since SlideShare dosn't have notes pages, if you want to know what I was saying, just listen directly:
http://oreillynet.com/pub/e/2087
The document discusses the origins and key principles of DevOps. It originates from a 2009 Velocity Conference talk about Flickr's deployment practices of 10+ deploys per day through automation, shared version control, and one-step builds. The main principles discussed are CAMS - Culture, Automation, Measurement, and Sharing. Culture focuses on respect, trust, and avoiding blame. Automation, measurement, and sharing are also emphasized as important aspects of DevOps.
The HTML5 standard turned out to be not so standard when it comes to cross-platform implementations - from handling touch events, to CSS transitions, to WebSockets, to performance. This presentation will share some of the lessons we learned the hard way developing the TitanFile mobile app using HTML5/JavaScript/CSS3.
How to manage remote teams 101 (keynote at Conector Barcelona)MarsBased
Introduction to manage remote working teams. Discover the tools that we use at MarsBased, tips to increase productivity, best practices, recommended reads and much more thanks to this keynote that was done at Conector on July 21st 2015 by our CMO Àlex Rodríguez Bacardit
Golden rules for JS introduction to your EE projectImre Fazekas
This document provides 7 golden rules for introducing JavaScript to an embedded electronics project. The rules are: 1) JavaScript is not Java and has different fundamentals, 2) embrace diversity over standardized approaches, 3) start with processes as JavaScript impacts methodology, 4) regularly refactor and reorganize code to prevent spaghetti code, 5) introduce conventions for libraries, styles, and structures to avoid inconsistencies, 6) keep code simple, functional, and thin, and 7) be prepared for the short lifetimes of JavaScript libraries and flexible to change. An additional rule is to follow standards.
Dealing with adversity (as a Game Dev Student)Vlad Micu
I was once again invited to speak at the Kajaani University of Applied Sciences in Finland. This first lecture explains to the students how they dealing with the struggles of being a student and taking responsibility to even turn adversity into an opportunity. The topics covered in this lecture are:
0.00 The average challenges of a game design student.
1.00 Rapid game prototyping.
1.50 Dealing with mandatory classes and hacking them to your advantage.
[The KEY message] 7.10 Dealing with adversity in your life and career.
Good, Fast, and Cheap: How Modular Design Improves Our ProjectsJeremy Ward
The document discusses how modular design can improve projects by making them good, fast, and cheap. Modular design uses standardized, reusable components or modules to reduce duplication and costs while allowing customization. It presents the concept of atomic design and describes how patterns libraries, custom fields, and a modular process can help create reusable WordPress modules that encapsulate structure, presentation, and interaction. Examples are given of common modules like banners, links, and galleries that could be created.
This document discusses careers in game development, including programmer, artist, designer, and producer. It provides advice for each role, such as programmers learning rapid prototyping through game jams, artists focusing on classic skills and fast sketches, designers constantly writing about and designing games, and producers becoming experts in project management, Agile techniques, and helping teams solve problems. The document encourages building a portfolio and gaining experience in each career path.
Nine inspirational quotes from mark zuckerberg a boy geniusNews World India
Facebook founder, entrepreneur and philanthropist Mark Zuckerberg turned a year older today. Apart from being a brilliant programmer and an excellent businessman, Zuckerberg is also an ideal role model. So on his 32nd birthday, here are nine inspirational quotes by the boy genius:
This document provides an overview of a session on becoming a better programmer. The session will explore what it means to be a better programmer, examine different skill levels from novice to expert, and discuss practical methods for improvement. A number of guest speakers will provide insights and perspectives on developing skills and attitudes to advance as a programmer. The goal is to help attendees determine how to continuously learn and improve.
Open Agile Romania 2011/Catalin Sindelaru - Scrum PainMozaic Works
The document discusses various aspects of Scrum, including its roles, artifacts, events, and rules. It notes that Ken Schwaber says Scrum must be followed as written or it is not truly Scrum. Other topics covered include Scrum Masters, Product Owners, backlogs and sprints, user stories, retrospectives, Scrum principles vs practices, the essence of Scrum, and comparisons to the Golden Circle model and other approaches. Browser and mobile phone usage statistics are also included.
The document discusses reasons why people enjoy programming and traits of good programmers. It notes that programmers like creating things, solving puzzles, learning, and precision work. Good programmers are curious, clear thinkers with problem-solving skills who are passionate about their work. Principles of good programming include keeping things simple, avoiding repetition, abstraction, and writing code with maintainability in mind.
The State of Frontend was presented at Vadodara Frontend Developer's meetup on 4th Apr, 2016. It covers the past, present and the future trends in the frontend development.
The document provides tips for improving performance as a developer from a low performer to a high performer. It recommends four main steps: 1) focus time on value-adding tasks using todo lists and planning tools, 2) learn development tools and automate routine work using scripting, 3) reuse existing code and check work with static analysis tools, and 4) regularly learn and train memory with various techniques. The overall message is that with proper time management, automation, code quality practices, and continuous learning, a low performing developer can become a high performer.
The document introduces an online creative writing workshop that will teach participants the basics of the writing process through short video lectures, class work analyzing components of short stories, homework assignments to write a short story, and peer review for feedback, with the goal of helping those interested in writing a novel to learn how to develop their story idea, characters, and world building.
In many cases, we create software to solve our own problems: missing functionality in a tool, a tool that we believe doesn't work as well as it should, or the very lack of a tool that does what we need. If we're our own users, things are quite obvious. But what about everyone else? How do we know what our users need? Isn't it best to ask just them?
In this presentation, you will learn why asking your users for what they want isn't always helpful, which do-it-yourself techniques you can use to understand their needs, how to make sense of the data you collect, and how all of this translates into the development of better features. We will discuss how this knowledge can fuel your decisions, delight your users, and influence your way of working in a distributed team of developers.
===
I originally gave this presentation at FOSDEM 2013.
Play to Learn: Agile Games with Cards and DiceMike Clement
Play is a powerful method to learn! Come and play some simple agile games that use playing cards, index cards and dice to explore the different values that are at the foundation of Agile and Lean development practices. In addition to your own insights, you may be able to take these game back to work to share with your co-workers.
This is a hands-on session so come prepared to have some fun!
There is no "right" answer to what you're "supposed to" learn from a game, so come ready to discover your own insights into software development processes and teamwork.
The document summarizes an upcoming webinar on Agile Release Planning workshops led by Joe Little on October 19, 2020. The webinar will provide an introduction to Agile Release Planning, including details on how the workshops are structured, both online and in-person. Attendees will learn the key elements and approaches used in the workshops through discussion and working with real project examples.
The document provides guidance on building and maintaining an effective remote team. It discusses forming a team through establishing a common goal and shared values. It identifies potential problems in remote teams like cultural diversity and lack of in-person interaction. Solutions proposed include focusing on communication, integrating people before skills, and creating a shared team culture through regular meetings and feedback. The key is treating team members as individuals, establishing trust, and managing stress through open discussion of issues.
Presented at an O'Reilly Webcast, 8 November 2011
Good mobile designs share many features in common, regardless of the fidelity of the device type, the OS or the user. Almost two decades of interactive design experience, as well as the creation of almost 76 mobile patterns for Designing Mobile Interfaces have led to some very specific and actionable insights into their use. Covers the intent of mobile patterns, and how to use them correctly in your design. Designed to be especially helpful for those migrating from other platforms, such as desktop web design.
The webcast was recorded, so since SlideShare dosn't have notes pages, if you want to know what I was saying, just listen directly:
http://oreillynet.com/pub/e/2087
The document discusses the origins and key principles of DevOps. It originates from a 2009 Velocity Conference talk about Flickr's deployment practices of 10+ deploys per day through automation, shared version control, and one-step builds. The main principles discussed are CAMS - Culture, Automation, Measurement, and Sharing. Culture focuses on respect, trust, and avoiding blame. Automation, measurement, and sharing are also emphasized as important aspects of DevOps.
The HTML5 standard turned out to be not so standard when it comes to cross-platform implementations - from handling touch events, to CSS transitions, to WebSockets, to performance. This presentation will share some of the lessons we learned the hard way developing the TitanFile mobile app using HTML5/JavaScript/CSS3.
How to manage remote teams 101 (keynote at Conector Barcelona)MarsBased
Introduction to manage remote working teams. Discover the tools that we use at MarsBased, tips to increase productivity, best practices, recommended reads and much more thanks to this keynote that was done at Conector on July 21st 2015 by our CMO Àlex Rodríguez Bacardit
Golden rules for JS introduction to your EE projectImre Fazekas
This document provides 7 golden rules for introducing JavaScript to an embedded electronics project. The rules are: 1) JavaScript is not Java and has different fundamentals, 2) embrace diversity over standardized approaches, 3) start with processes as JavaScript impacts methodology, 4) regularly refactor and reorganize code to prevent spaghetti code, 5) introduce conventions for libraries, styles, and structures to avoid inconsistencies, 6) keep code simple, functional, and thin, and 7) be prepared for the short lifetimes of JavaScript libraries and flexible to change. An additional rule is to follow standards.
Dealing with adversity (as a Game Dev Student)Vlad Micu
I was once again invited to speak at the Kajaani University of Applied Sciences in Finland. This first lecture explains to the students how they dealing with the struggles of being a student and taking responsibility to even turn adversity into an opportunity. The topics covered in this lecture are:
0.00 The average challenges of a game design student.
1.00 Rapid game prototyping.
1.50 Dealing with mandatory classes and hacking them to your advantage.
[The KEY message] 7.10 Dealing with adversity in your life and career.
Good, Fast, and Cheap: How Modular Design Improves Our ProjectsJeremy Ward
The document discusses how modular design can improve projects by making them good, fast, and cheap. Modular design uses standardized, reusable components or modules to reduce duplication and costs while allowing customization. It presents the concept of atomic design and describes how patterns libraries, custom fields, and a modular process can help create reusable WordPress modules that encapsulate structure, presentation, and interaction. Examples are given of common modules like banners, links, and galleries that could be created.
This document discusses careers in game development, including programmer, artist, designer, and producer. It provides advice for each role, such as programmers learning rapid prototyping through game jams, artists focusing on classic skills and fast sketches, designers constantly writing about and designing games, and producers becoming experts in project management, Agile techniques, and helping teams solve problems. The document encourages building a portfolio and gaining experience in each career path.
Nine inspirational quotes from mark zuckerberg a boy geniusNews World India
Facebook founder, entrepreneur and philanthropist Mark Zuckerberg turned a year older today. Apart from being a brilliant programmer and an excellent businessman, Zuckerberg is also an ideal role model. So on his 32nd birthday, here are nine inspirational quotes by the boy genius:
This document provides an overview of a session on becoming a better programmer. The session will explore what it means to be a better programmer, examine different skill levels from novice to expert, and discuss practical methods for improvement. A number of guest speakers will provide insights and perspectives on developing skills and attitudes to advance as a programmer. The goal is to help attendees determine how to continuously learn and improve.
Popular third generation languages include C++, Visual Basic, and Java. C++ is widely used for hardware design. Visual Basic is relatively easy to learn with an
This document outlines 10 top internet uses in education: 1) providing real-time news and information, 2) using blogs for discussion and communication, 3) emailing students and parents, 4) online shopping for educational materials, 5) streaming educational videos and virtual field trips, 6) online schooling, 7) accessing educational resources, 8) using social networking to communicate, 9) finding information on any topic, and 10) providing low-cost online professional development for teachers.
Bangladesh has a population of over 166 million people and a land area of around 144,000 square kilometers. The capital and largest city of Bangladesh is Dhaka, with over 15 million residents. Islam is the dominant religion in Bangladesh, with around 90% of the population identifying as Muslim. Bangladesh has a diverse culture that is influenced by both Islamic and Bengali traditions. Major festivals, cuisine, clothing, art, music, and literature are important parts of Bangladeshi culture.
In the course of her career working solo, in a duo, with agencies, with corporations, and with a startup, Meagan's learned a few valuable lessons (some the hard way) about how to grow as a designer. She'll talk about how she got started, as well as insights on collaborating, evolving your style, and getting things launched. You'll also hear about the design maxims she holds dear (and which ones she ignores), and the web development techniques that have strengthened her design skills. She hopes to leave you with some ideas for how to be a web design champion.
This document discusses open source and how individuals and businesses can get involved. For individuals, contributing code, writing documentation, and participating in the community can boost skills and career opportunities. Businesses can use open source software to save costs, contribute code to raise their profile, create distributions for new markets, provide education and training, sponsor events, and offer hosting/development tools and services. The document provides tips on finding time to contribute, submitting patches easily, promoting projects, understanding which projects to create, and getting results quickly through sponsorship or code sprints.
Ike Ellis gave a presentation on the 14 habits of great SQL developers. Some of the key habits discussed included having strong testing practices like using mocking frameworks and testing that code runs correctly; always automating processes and never directly changing objects in production; questioning assumptions and re-evaluating decisions; understanding the true goal is to deliver value rather than just writing code; treating software development as a team sport through practices like code reviews and knowledge sharing; and constantly improving code quality by refactoring and fixing issues. The presentation emphasized habits like these can help developers increase their value.
Running a Successful Open Source ProjectRob Reynolds
So you are interested in having your own open source (FOSS or FLOSS) project or you are currently managing your own. You want to see more use of your project in the community and you want to see it grow. Running a successful open source project or really any community project in general takes several key ingredients. Join Rob while he teaches what he has learned from running two successful projects and working on another.
The document appears to be a collection of articles and information about programming and software development. It discusses the technology lifecycle and how technologies change over time. It also recommends reinvention and continuous learning for programmers. Several influential books for programmers are mentioned, including summaries of key points from The Pragmatic Programmer, Code Complete, and The Passionate Programmer. Interviews with famous programmers are also discussed in the book Coders at Work.
Software development is not exactly the same as computer programming. When it comes to a career, development for productization introduces many more things than simply coding. It is important to learn how to accomplish tasks, sharpen skills, develop the career and enjoy it. And last but not the least, how to start?
This document provides an overview of various topics related to developing a NodeJS application with a database. It discusses mindsets for developers, resources for learning to code like online courses and communities, and technologies involved in web development like front-end versus back-end programming. It also introduces NodeJS, databases like MongoDB and Cloudant, and provides instructions for an example app using Cloudant on Bluemix. Students are assigned homework to deploy this example app and modify it for their own purposes.
Ike Ellis gave a presentation on the 14 habits of great SQL developers. Some of the most important habits discussed were using source control, extensive testing, questioning assumptions, and fighting dependencies. Great SQL developers also work as a team, code for resiliency, and constantly improve code quality before moving on to new tasks. The goal is to deliver value and leave applications better organized and more maintainable than when development began.
How to be a contributor to Drupal by Drupalista.meJose palala
This document outlines how new developers can contribute to open source projects to increase their skills and career opportunities. It encourages contributing to the Drupal project by fixing bugs, writing code, and submitting patches. The process involves finding issues to work on, learning coding standards and tools like Git, testing and reviewing patches. The creator of the site wants to help tech entrepreneurs and developers get involved in open source contributions to boost their resumes and skills.
What every successful open source project needsSteven Francia
In the last few years open source has transformed the software industry. From Android to Wikipedia, open source is everywhere, but how does one succeed in it? While open source projects come in all shapes and sizes and all forms of governance, no matter what kind of project you’re a part of, there are a set of fundamentals that lead to success. I’d like to share some of the lessons I’ve learned from running two of the largest commercial open source projects, Docker and MongoDB, as well as some very successful community projects.
This presentation was delievered at sinfo.org in Feb 2015.
Becoming A Technical Project Manager - Capital CampScott Massey
This document provides information on becoming a technical project manager, including the different types of project managers in Drupal, the skills required, and approaches to project management. It discusses waterfall and agile methodologies, recommends tools to use, common lessons learned, and technical skills to focus on learning. The document recommends asking many questions, immersing oneself in the field through various resources, tracking one's progress, developing soft skills like communication and problem solving, and adopting habits like constant self-improvement to become an effective technical project manager.
This document discusses open source software (OSS) and provides advice for overcoming cultural resistance to using OSS in organizations. It notes common objections from management like concerns over cost, security, and support. It recommends starting small with non-critical projects, emphasizing quality open source options, and educating management on OSS licensing models and the business benefits of OSS like faster innovation and attracting technical talent.
What is practice, Examples, Best practices that developers should follow. Useful tools that every developer should carry and useful GitHub repositories.
The document discusses how to implement Agile practices for the long run. It emphasizes maintaining a constant pace through adapting team capacity like a school of fish. It also highlights building projects around motivated individuals by exposing team members to new perspectives through sub-teams and providing food for thought like recommended books and conferences. Finally, it discusses letting teams self-organize and grow over time through establishing trust.
Enroll for Android Certification in Mumbai at Asterix Solution to develop your career in Android. Make your own android app after Android Developer Training provides under the guidance of expert Trainers. For more details, visit : http://www.asterixsolution.com/android-development-training.html
Duration - 90 hrs
Sessions - 3 per week
Applications - 50+ practise
Project - 1
Students - 15 (per batch)
Avoiding the Heuristic Solution: Moving past functional and correct to joyful...Steven Hoober
Slideshow for the O'Reilly Webcast
"Avoiding the Heuristic Solution: Moving past functional and correct to joyful and inspiring"
To be given on 31 Jan, 2012 -- Sign up for free, now:
http://www.oreillynet.com/pub/e/2102
Interactive systems can be easily made foolproof and practical, but joy and delight all too often elude the final product. This author of two books on design process and interactive patterns has discovered that strict adherence to these same processes or patterns can result directly in functional, but ultimately boring interactive products. In this discussion, you will learn how to avoid the safe answer, while still embracing proven patterns, best practices and user feedback. You will also discuss how to recognize this problem, the principles to avoid these pitfalls, and how to implement tactics to encourage innovative design for your users, and that works within your organization.
The document discusses the importance of passion and finding what you love. It recommends trying many things to discover your passion, which could be related to your childhood dreams or ideal day. Following your passion, even if it doesn't make money, is important for true satisfaction and doing great work in life. The document also suggests sharing your passions and successes or failures with others to help the community.
The document discusses career growth as a software developer. It recommends being passionate about coding, practicing regularly, getting certified in technologies, and learning from online communities and local meetups. It also suggests considering becoming a project manager or business owner later in one's career, and continuing to learn through reading, open source contributions, automating tasks, and staying updated on new tools and domains. Mentoring others and finding a mentor are also presented as helpful for career development.
This document discusses why the author loves Ruby over other programming languages like Java. It provides a brief history of Ruby, describing it as an interpreted, object-oriented scripting language created in 1995. It highlights several reasons for preferring Ruby, such as its simplicity, dynamic typing, support for duck typing, reflection capabilities, ability to monkey patch, emphasis on testing, use of domain-specific languages, large library ecosystem, and focus on giving programmers freedom. The author encourages learning Ruby through tools like IRB, Try Ruby, and Ruby Learning.
The Visitor Design Pattern allows defining a new operation over elements in an object structure without changing the classes of the elements. It puts the operations in visitor classes so new operations are easy to add. While this keeps behavior partitioned and localized, adding new element classes is difficult as it requires changes to the visitor interface and implementations. The element interface may also need powerful operations that compromise encapsulation.
Kata is a Japanese term for choreographed patterns of movements practiced solo or in pairs to learn techniques. The document describes doing a code kata which involves practicing solving a simple programming problem for 30 minutes to an hour each day through test-driven development, experimentation and reflection to improve coding skills. It provides an example kata of creating a string calculator that can handle different delimiters and numbers on new lines through observation, scoring, and constructive criticism from peers.
The document discusses encouraging a culture of sharing knowledge and experience within the Cambodian community. It mentions building strong networks between members and universities to provide student training. It also notes publishing best practices and solutions. Details are provided on existing tools and projects, including a website, forum, and mailing list used by the 34 member organization to collaborate and communicate. Past events focused on version control and web architecture.
The document discusses test-driven development (TDD) and design-driven development (DDD). It advocates for writing tests before code using short iterative development cycles. TDD helps produce clean code that fulfills requirements by making developers think about required behavior, providing documentation, and improving quality. Common objections to TDD are addressed, noting that it forces understanding of code and tests, creates reusable modular code, and drives simplicity. Guidelines for effective TDD include writing small focused tests with descriptive intentions that are independent and repeatable.
This document provides an overview of version control and Subversion (SVN). It defines version control as the management of changes to documents and files. It discusses why version control is needed, such as for backup, synchronization, tracking changes and owners. It then describes the basic concepts and terminology of SVN like repositories, working copies, revisions, checkouts, checkins and updates. The document also demonstrates the basic SVN workflow and architecture. It concludes with best practices for using SVN.
Layering is a common technique used by software designers to break apart complicated software systems. Each layer has a well-defined interface and dependencies with other layers, implementing one technical function like data access. The pros of layering include understandability, separation of concerns, reusability, and independent development. The cons are that layers do not encapsulate all things well and extra layers can harm performance. Layers and tiers are often used interchangeably, but tiers imply a physical separation. Common layers in information systems include the UI, application, business, services, data, and unit testing layers.
This document provides an introduction to object-relational mapping (ORM) and NHibernate. It discusses ORM techniques for converting data between object-oriented programming languages and relational databases. The document then provides an overview of NHibernate, an open source ORM framework for .NET, including its basic concepts, configuration, querying capabilities, and additional reading.
*Metamorphosis* is a biological process where an animal undergoes a dramatic transformation from a juvenile or larval stage to a adult stage, often involving significant changes in form and structure. This process is commonly seen in insects, amphibians, and some other animals.
GDGLSPGCOER - Git and GitHub Workshop.pptxazeenhodekar
This presentation covers the fundamentals of Git and version control in a practical, beginner-friendly way. Learn key commands, the Git data model, commit workflows, and how to collaborate effectively using Git — all explained with visuals, examples, and relatable humor.
How to Subscribe Newsletter From Odoo 18 WebsiteCeline George
Newsletter is a powerful tool that effectively manage the email marketing . It allows us to send professional looking HTML formatted emails. Under the Mailing Lists in Email Marketing we can find all the Newsletter.
How to manage Multiple Warehouses for multiple floors in odoo point of saleCeline George
The need for multiple warehouses and effective inventory management is crucial for companies aiming to optimize their operations, enhance customer satisfaction, and maintain a competitive edge.
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsDrNidhiAgarwal
Unemployment is a major social problem, by which not only rural population have suffered but also urban population are suffered while they are literate having good qualification.The evil consequences like poverty, frustration, revolution
result in crimes and social disorganization. Therefore, it is
necessary that all efforts be made to have maximum.
employment facilities. The Government of India has already
announced that the question of payment of unemployment
allowance cannot be considered in India
The Pala kings were people-protectors. In fact, Gopal was elected to the throne only to end Matsya Nyaya. Bhagalpur Abhiledh states that Dharmapala imposed only fair taxes on the people. Rampala abolished the unjust taxes imposed by Bhima. The Pala rulers were lovers of learning. Vikramshila University was established by Dharmapala. He opened 50 other learning centers. A famous Buddhist scholar named Haribhadra was to be present in his court. Devpala appointed another Buddhist scholar named Veerdeva as the vice president of Nalanda Vihar. Among other scholars of this period, Sandhyakar Nandi, Chakrapani Dutta and Vajradatta are especially famous. Sandhyakar Nandi wrote the famous poem of this period 'Ramcharit'.
How to Manage Opening & Closing Controls in Odoo 17 POSCeline George
In Odoo 17 Point of Sale, the opening and closing controls are key for cash management. At the start of a shift, cashiers log in and enter the starting cash amount, marking the beginning of financial tracking. Throughout the shift, every transaction is recorded, creating an audit trail.
This chapter provides an in-depth overview of the viscosity of macromolecules, an essential concept in biophysics and medical sciences, especially in understanding fluid behavior like blood flow in the human body.
Key concepts covered include:
✅ Definition and Types of Viscosity: Dynamic vs. Kinematic viscosity, cohesion, and adhesion.
⚙️ Methods of Measuring Viscosity:
Rotary Viscometer
Vibrational Viscometer
Falling Object Method
Capillary Viscometer
🌡️ Factors Affecting Viscosity: Temperature, composition, flow rate.
🩺 Clinical Relevance: Impact of blood viscosity in cardiovascular health.
🌊 Fluid Dynamics: Laminar vs. turbulent flow, Reynolds number.
🔬 Extension Techniques:
Chromatography (adsorption, partition, TLC, etc.)
Electrophoresis (protein/DNA separation)
Sedimentation and Centrifugation methods.
A measles outbreak originating in West Texas has been linked to confirmed cases in New Mexico, with additional cases reported in Oklahoma and Kansas. The current case count is 817 from Texas, New Mexico, Oklahoma, and Kansas. 97 individuals have required hospitalization, and 3 deaths, 2 children in Texas and one adult in New Mexico. These fatalities mark the first measles-related deaths in the United States since 2015 and the first pediatric measles death since 2003.
The YSPH Virtual Medical Operations Center Briefs (VMOC) were created as a service-learning project by faculty and graduate students at the Yale School of Public Health in response to the 2010 Haiti Earthquake. Each year, the VMOC Briefs are produced by students enrolled in Environmental Health Science Course 581 - Public Health Emergencies: Disaster Planning and Response. These briefs compile diverse information sources – including status reports, maps, news articles, and web content– into a single, easily digestible document that can be widely shared and used interactively. Key features of this report include:
- Comprehensive Overview: Provides situation updates, maps, relevant news, and web resources.
- Accessibility: Designed for easy reading, wide distribution, and interactive use.
- Collaboration: The “unlocked" format enables other responders to share, copy, and adapt seamlessly. The students learn by doing, quickly discovering how and where to find critical information and presenting it in an easily understood manner.
CURRENT CASE COUNT: 817 (As of 05/3/2025)
• Texas: 688 (+20)(62% of these cases are in Gaines County).
• New Mexico: 67 (+1 )(92.4% of the cases are from Eddy County)
• Oklahoma: 16 (+1)
• Kansas: 46 (32% of the cases are from Gray County)
HOSPITALIZATIONS: 97 (+2)
• Texas: 89 (+2) - This is 13.02% of all TX cases.
• New Mexico: 7 - This is 10.6% of all NM cases.
• Kansas: 1 - This is 2.7% of all KS cases.
DEATHS: 3
• Texas: 2 – This is 0.31% of all cases
• New Mexico: 1 – This is 1.54% of all cases
US NATIONAL CASE COUNT: 967 (Confirmed and suspected):
INTERNATIONAL SPREAD (As of 4/2/2025)
• Mexico – 865 (+58)
‒Chihuahua, Mexico: 844 (+58) cases, 3 hospitalizations, 1 fatality
• Canada: 1531 (+270) (This reflects Ontario's Outbreak, which began 11/24)
‒Ontario, Canada – 1243 (+223) cases, 84 hospitalizations.
• Europe: 6,814
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingCeline George
The Accounting module in Odoo 17 is a complete tool designed to manage all financial aspects of a business. Odoo offers a comprehensive set of tools for generating financial and tax reports, which are crucial for managing a company's finances and ensuring compliance with tax regulations.
Geography Sem II Unit 1C Correlation of Geography with other school subjectsProfDrShaikhImran
The correlation of school subjects refers to the interconnectedness and mutual reinforcement between different academic disciplines. This concept highlights how knowledge and skills in one subject can support, enhance, or overlap with learning in another. Recognizing these correlations helps in creating a more holistic and meaningful educational experience.
INTRO TO STATISTICS
INTRO TO SPSS INTERFACE
CLEANING MULTIPLE CHOICE RESPONSE DATA WITH EXCEL
ANALYZING MULTIPLE CHOICE RESPONSE DATA
INTERPRETATION
Q & A SESSION
PRACTICAL HANDS-ON ACTIVITY
The ever evoilving world of science /7th class science curiosity /samyans aca...Sandeep Swamy
The Ever-Evolving World of
Science
Welcome to Grade 7 Science4not just a textbook with facts, but an invitation to
question, experiment, and explore the beautiful world we live in. From tiny cells
inside a leaf to the movement of celestial bodies, from household materials to
underground water flows, this journey will challenge your thinking and expand
your knowledge.
Notice something special about this book? The page numbers follow the playful
flight of a butterfly and a soaring paper plane! Just as these objects take flight,
learning soars when curiosity leads the way. Simple observations, like paper
planes, have inspired scientific explorations throughout history.
The ever evoilving world of science /7th class science curiosity /samyans aca...Sandeep Swamy
12 Things Every Programmer Should Know
1. 12 Things Every Programmer
Should Know
by Samnang Chhun
Barcamppp 2010
2. About Me
• [email protected]
• @samnangchhun
• http://wowkhmer.com
• Ruby and Rails Developer
• .NET Developer (MCTS)
• Yoolk Inc.
• Share Vision Team Core Member
3. 1 Be Passionate
• Love what you are doing
• Be creative
• Want to do it best
• Better than yesterday
“Programmers are a subset of creators have the
responsibility to shape the new world”,
@steveklabnik and @judofyr
4. 2
Love Your Codes
• Write codes for human, but bad
programmers write codes for machine
• Every programmer loves to work with
Clean Code
5. 3 Version Control
• Backup your codes
• Tracking changes (who, what, when)
• Work in parallel
• Commit often
• Never commit when your build fail
6. 4 Read Codes
• Before you become a good writer,
you have to be a good reader
• Day and day programmers working
hours: 70% reading and 30% writing
• Take notes on ideas or tricks of the
author
7. 5 Practice, Practice,
Practice
• Small exercises, isolated problems
• Practice on outside company projects
• Do your best as you can(no pressure)
• Practice to become a master
• CodeKata, Pair with Me, Fixing bugs in
an OSS that you are using
8. 6 Refactoring
• Improve quality of your codes, without
changing system behavior
• Make it easy to understand, maintain,
and extend
• “Always check a module in cleaner than
when you checked it out”, Uncle Bob
• Intension-Revealing Names, Small
Method, Compose Method, …
9. 7
Follow Patterns
and Best Practices
• Object Oriented Design Principles
• SOLID
• GRASP
• DRY
• KISS
• Don’t Tell Us
• Design Patterns
10. 8 TDD/BDD
• Tests are specifications what the system
does
• Tests are your first user
• Short development iteration
• Is a design process
• Write just enough codes to pass the
tests
11. 9 Automation
• Make your manual tasks are
automatable
• Command line are your friend
• Make a shortcut of your repeated tasks
• Continuous Integration
• Automation Deployment
12. Understand
10 Your Domain
• Domain-specific won’t be outdate soon,
but technologies will
• “You can’t creatively help a business
until you know how it works.” Chad
Fowler
13. Continuous
11 Learning
• You need to keep learning to stay
marketable
• “Be the worst,” Chad Fowler
• Read books, blogs, Twitters feeds, and
websites
• Listen to podcasts
• Sharpening your tools
14. Participate in
12 Communities
• A good way to learn something is to
teach or speak about it
• Join or start a study group or a local
user group for a language, technology,
or discipline you are interested in.
• Contribute to OSS
15. +1
What I have
leanred
• Be Prepared To Unlearn
• Validate assumptions about your skillset
• Do less reading about what others are
doing, and more doing of things that
others may want to read about
• Good Artists Copy, Great Artists Steal