This document provides tips and guidance for product development. It discusses estimating timelines for complex products, planning iteratively, getting the right design, and shipping builds. The document is authored by Tim Koopmans and provides his tips, including that estimation is hard, there is no end to development so plan to iterate, get the right/design right, and if a build is completed then ship it. It also references resources on Agile processes, minimum viable products, and load testing with Flood.io.
This document discusses converting templates to React JSX. It begins by describing the current state of using Dust templates and MVC views. It then explains copying template code into view files and replacing template functions with JSX as an initial way to start converting to React. Further improvements discussed include using the ratt library to parse templates and the dust2jsx library for more complete AST parsing of Dust templates to convert them to JSX. The document concludes by mentioning how to implement the converted templates by changing file extensions and wrapping the output in a render function.
This document discusses how to save time by automating front-end development workflows using Grunt. It notes that setting up a new website project typically involves downloading libraries, creating directories, and templates which can take time. Even with everything set up, compiling assets, watching for changes, live reloading, minifying files, and deployment can be repetitive tasks. Grunt helps automate these tasks to make developers more efficient by running tasks like asset compilation, live reloading, minifying files, and deployment. It provides links to Grunt plugins that can help with specific automation tasks like responsive image generation, file concatenation, watching files for changes, compiling CoffeeScript, cleaning files, and more.
Michael Toppa gave a presentation on the promise and perils of Agile and Lean practices. He discussed how adopting these practices can help address common project problems like unrealistic expectations that compromise quality, multitasking that reduces productivity, and lack of feedback that leads to building the wrong products. However, going all-in with Agile through methods like Scrum requires major changes all at once, while adopting Lean through Kanban allows for more incremental evolution. Successful implementations inspect and adapt processes, rather than relying on superficial or misapplied changes.
This talk is an updated version of my earlier talk "Failing Up" that I presented at Tom Tom and at App Builders Switzerland, 2016. It's a talk about how to create a failsafe environment for software companies and teams. It's critical to acknowledge that failure is necessary for innovation. So, if failure is a given, how do you fail well? This version of the talk was first presented at Seattle Code Camp 2016
Nice autopilot method for get 50$ first day and 300$ next days every month arround 7000$!!! Big money, yes?
The document outlines 14 steps to register for and begin visiting the virtual world called Blue Mars, which includes downloading the client application, creating an avatar, and downloading tutorial and city files to get started exploring the virtual environment.
The document provides instructions for setting up and running a machine learning job on Amazon Web Services. It instructs the user to create an S3 bucket and folders for code and input files, then upload the files. It also guides the user to launch an Elastic MapReduce job flow through the AWS console, providing required configuration details, and check that the job completes successfully.
This document summarizes an instructor-led meeting about advanced Apache topics including virtual hosting, setting up name-based and IP-based virtual hosts, enabling server-side includes, and enabling CGI scripts. Key points covered include configuring Apache for virtual hosting using VirtualHost blocks, setting up name-based virtual hosting with NameVirtualHost, and enabling CGI scripts through ScriptAlias directives or directory options.
The document discusses configuration of the Apache 2.2 web server. It covers the status of Apache versions, multi-processing modules, common configuration directives, tips for authentication and authorization, and new features in Apache 2.3.
This document discusses Apache::Dispatch, a lightweight abstraction layer for mod_perl applications. It maps URIs to application resources via method handlers, providing the power of mod_perl handlers with a painless migration. The document reviews how Apache::Dispatch works, provides examples of configuration, method handlers, and testing with Apache::Test. It also covers additional Apache::Dispatch features like pre/post-dispatch handlers, inheritance, autoloading, and filtering.
This document discusses using Varnish as a caching solution for Drupal websites. It begins by introducing Varnish and explaining that it is a reverse proxy cache server that can improve Drupal performance. It then describes what content, like anonymous pages and static assets, can be cached in Varnish and what content should not be cached, like logged-in pages. It also discusses how to configure Varnish and the Drupal Varnish module to integrate caching. The document then covers additional Varnish features like caching authenticated users, purging caches, and tools for monitoring caches.
This document summarizes an advanced Apache web server training session covering security and performance tuning. The key points discussed include: 1) Methods for securing an Apache server such as restricting access, disabling unneeded server technologies, running as a non-root user, using firewalls and encryption. 2) Configuring password-based authentication for protected directories using modules like mod_auth and storing passwords in text files created by the htpasswd utility. 3) An exercise where attendees set up password protection on their local Apache server website using a .htaccess file and htpasswd. 4) Restricting access to protected directories by IP, hostname or domain using directives in httpd.conf or .
The document summarizes Varnish Cache, an open source web application accelerator. It discusses how Varnish can significantly speed up websites by caching both dynamic and static content. The document provides an example of how Varnish improved performance for a system status server API, reducing response times and increasing the number of supported requests per second. It also gives basic instructions for installing and configuring Varnish.
Apache is the most popular web server in the world, yet its default configuration can't handle high traffic. Learn how to setup Apache for high performance sites and leverage many of its available modules to deliver a faster web experience for your users. Discover how Apache can max out a 1 Gbps NIC and how to serve over 140,000 pages per minute with a small Apache cluster. This presentation was given by Spark::red's founding partner Devon Hillard in March 2012 at the Boston Web Performance Meetup.
The document discusses cache concepts and the Varnish caching software. It provides an agenda that covers cache concepts like levels and types of caches as well as HTTP headers that help caching. It then covers Varnish, describing it as an HTTP accelerator, and discusses its process architecture, installation, basic configuration using VCL, backends, probes, directors, functions/subroutines, and tuning best practices.
New computers have more and more available memory which for us, programmers means we can use more memory in our applications. However in JAVA (actually all JVM based languages) at some certain point things may get tricky, especially when we expect from our applications to be responsive all the time. This talk will focus on Garbage First collector (the new default in JDK9) which is the newest algorithm available in HotSpot JVM (not so new though) and the only one which can handle 32+GB heap size without blocking your application threads for longer than 200ms. After this talk you will have overview how G1 works, how to read the log, spot common problems and which gc settings you should avoid.
It is easy to think what we have as developers is what people use and that lead us to make the web bloated.
The document provides tips for building web applications, including using a full-featured backend framework like Ruby on Rails, building as a monolithic application instead of microservices initially, maintaining a single code repository, following a wireframe/design/build workflow, having developers be responsible for testing, and building all layers of an application together rather than one layer at a time. It recommends prioritizing the most important features, such as search, over user flow elements like login/signup screens.
This session presents a simple, human-based approach to create test suites targeting multiple points of contact in a data solution. Commonly, an enterprise will pick a data processing solution with heavy GUIs because it can make an easy to understand workflow around data. However, those solutions still are not able to verify the simplest use case, i.e. “If I put data into a solution to process data, then I should get a desired result.” FIS will demonstrate and teach you how to build a unique testing solution on top of Apache Spark. Under its solution, FIS can actually prove to users in their organization that when they put data in, they get the correct result out. They can also enlist their entire team from product owner to developer to write complete unit tests. The type of flexibility Spark enables allows you to take unique paths in building robust, understandable data flows. The transformational element is the ability to do this in milliseconds, and not wait till the entire pipeline finishes.
Developers arriving at the Serverless scene usually find it hard to use the previous methodologies and tools they are used to in this new arena. Why? Because you can’t run Serverless locally. Up until now, a developer could spin a container or install PostgreSQL or NGNIX on their machine and start playing. The cycle of code → build → test was reasonably fast, but now it changed, building and testing cannot run locally, they have to run in the cloud which causes developers to lose productivity. How do we change it? How do we keep the same productivity levels while enjoying the benefits of Serverless. The following session will cover: Reasons for a slow development cycle in Serverless environments Tips and tricks for speeding up the development flow
This document discusses the importance of having a shared Definition of Done (DoD) between all parties involved in a project. It explains that without a DoD, different stakeholders can have conflicting understandings of what constitutes "done" work, leading to broken expectations. The document recommends introducing a DoD as early as possible in a project. It should be created collaboratively with input from customers, teams, and management. Automating checks against the DoD helps ensure work is truly done before moving forward. Continuous inspection and adaptation of the DoD also helps address problems over time. Having a DoD establishes a common vocabulary and allows the team to work together effectively to meet goals.
Although all of us speak the same language, each of us uses different meaning of words "soon”, "fine” and "done”. That’s why for one developer "I’m done” means that just a moment ago the part of the code with implemented functionality has been successfully executed, while for another developer it means that code has been committed to repository but without checking if build is green or not on continuous integration server. At the same time "done" of developer-perfectionist means totally refactored and optimized code. And only for "black swan”-developer phrase "I'm done“ means that all tests were passed, new functionality was documented on wiki and a new feature was verified by customer on the demo server. So if you want to decrease a risk of misunderstanding inside a team or between team and customer you should make agreement about common vision of “definition of done“ and then start using it on a daily basis. In order to prevent losing your time and stepping on the hidden rake during discussion of your done criteria we will share our knowledge about creating compact and most effective “definition of done“. We will talk about lifecycle of this document and about approaches that help you to add important items to it. We will discuss doneness on different levels (preplanning, user story and task development, sprint). And of course we won’t forget to tell you how to create “Definition of Done“ which will satisfy not only your team but your customer as well.
This document summarizes a presentation about software moving to the cloud and lessons learned. It discusses how cloud computing provides cost savings and flexibility but also complexities. It recommends constantly testing APIs and responses (lesson 1), knowing that virtual CPUs don't equal physical CPUs and to test sizing (lesson 2), and that hybrid deployments are complex and to work with providers (lessons 3-4). It also discusses performance monitoring and metrics around response times on desktop and mobile and improving page weights by reducing styles and JavaScript.
The document outlines 7 rules for cloud-native development according to Solomon Hykes: 1. Think in terms of services rather than servers 2. Don't reinvent the wheel and leverage existing services 3. Avoid silos and have integrated, cross-functional teams working on products 4. Don't impose unnecessary restrictions that get in the way of developers 5. Start with standardized approaches and only customize later if needed 6. Enable rapid experimentation through a service-oriented architecture 7. Ship code changes daily to maximize speed and productivity
The document discusses Etsy's experience integrating multiple content delivery network (CDN) providers. Etsy began using a single CDN in 2008 but then investigated using multiple CDNs in 2012 to improve resilience, flexibility, and costs. They developed an evaluation criteria and testing process to initially configure and test the CDNs with non-critical traffic before routing production traffic. Etsy then implemented methods for balancing traffic across CDNs using DNS and monitoring the performance of the CDNs and origin infrastructure.
This session is focused on using chef and CloudFormation to automate and manage a large-scale MongoDB shard
There has been lots of talk on the importance of writing good and manageable code – code whose inherent beauty bring tears to the eyes of the developer that looks at it. This talk is not like that. This talk will focus on the techniques that are used by millions across the world to bring tears to the eyes of the maintaining developer, as well as a graphic stream of profanities.We will investigate some of the most common anti-patterns and half-measures that occur in real live code, and will marvel at the ingenuity and outright creativity necessary to create ugly messes of unmaintainable code that still manages to work for it’s users.
This document discusses using Vagrant and Veewee to solve problems with developing and testing applications locally. Vagrant allows developers to run reproducible virtual development environments, while Veewee helps build the base boxes used by Vagrant. The presenter explains how Vagrant automates virtual machine creation with tools like VirtualBox and provisioning with Puppet or Chef. Examples are provided to get started with a basic Vagrant setup as well as more complex configurations. Attendees are encouraged to try it themselves and given example projects to review.
This was a presentation given at San Diego Python's Django Day: http://www.meetup.com/pythonsd/events/95751792/ https://github.com/pythonsd/learning-django
This document provides an overview of building mobile applications using PhoneGap. It discusses how PhoneGap works by instantiating a chromeless browser and implementing a bridge to allow calling native device APIs from JavaScript. It also covers topics like plugins, debugging mobile apps, performance considerations, and the PhoneGap API for accessing device features like the camera, contacts, and geolocation. The document advocates for a mobile-first approach using modern web standards and technologies when building apps with PhoneGap.
It's time to open your browser and accept that the Native Web exists. With a modern browser, you can write, compile, run, and debug a cross-platform application. This isn't your ordinary web application; it's bear fighting web code that accesses native device features. It's PhoneGap, Ripple, and the Cloud9 IDE!
Stanly Lau is an agile coach and software developer based in Singapore who has worked with companies of various sizes in industries such as insurance, mobile safety, education, logistics, and banking. The document discusses legacy code and how to deal with it. Legacy code is defined as code without unit tests that is difficult to change and prone to bugs. It recommends adopting modern engineering practices like test-driven development and refactoring to incrementally add tests and make changes to legacy code.
Stanly Lau is an agile coach and software developer based in Singapore who has worked with companies of various sizes in industries such as insurance, mobile safety, education, logistics, and banking. The document discusses legacy code and provides tips on how to deal with it. Legacy code is defined as code without unit tests that is difficult to change and prone to bugs. It recommends adopting modern engineering practices like test-driven development and refactoring. It also outlines an approach for identifying change points, breaking dependencies, writing tests, and then making changes to legacy code in a safe manner.
DevОps is usually viewed from a traditional perspective of a collaboration of Dev, Ops, and QA, driven by the change in Culture, People, and Process. But how do you know where you stand and where to move? As in almost any field, data and metrics give you the gauges and instruments. In this talk, we’ll talk about the key measurements for the DevOps transformation process and provide you with 3 metrics you can start measuring tomorrow.
Today, a web page can be delivered to a desktop computer, a television, or a handheld device like a tablet or a phone. While a technique like responsive design helps ensure that our web sites look good across that spectrum of screen sizes we may forget our web sites should also be able to perform equally well across that same spectrum. While more and more of our users are shifting their Internet usage to these more varied platforms and connection speeds our development practices might not be keeping up.In this session we’ll review why optimizing web performance should be an important step in the development of responsive websites. We’ll look at the tools that can help you understand and measure the performance of those sites as well as discuss front-end and server-side techniques that can be used to help you improve their performance. Finally, since the best way to test your site is to have real devices in hand, we’ll share “lessons learned” so you can set-up your own device lab similar to what we have at West Virginia University.This presentation builds upon Dave’s “Optimization for Mobile” chapter in Smashing Magazine’s “The Mobile Book.”
Enhance the top 9 user pain points with effective visual design elements to improve user experience & satisfaction. Learn the best design strategies
This is the guide on how you can use google's ML kit for machine learning applications on mobile.
Efficient hot work permit software for safe, streamlined work permit management and compliance. Enhance safety today. Contact us on +353 214536034. https://sheqnetwork.com/work-permit/
Explore the craft of program and project management, hearing from Atlassian Program Managers, local thought leaders, and more.
WhatsApp Tracker Software is an effective tool for remotely tracking the target’s WhatsApp activities. It allows users to monitor their loved one’s online behavior to ensure appropriate interactions for responsive device use. Download this PPTX file and share this information to others.