As developers we write code everyday, only to frown at it a week after that. Why do we have such a hard time with code written by others and ourselves, this raging desire to rewrite everything we see? Writing code that survives the test of time and self judgment is a matter of clarity and simplicity. Let's talk about growing, learning and improving our code with calisthenics, readability and good design.
This document introduces Apache Cassandra, a distributed column-oriented NoSQL database. It discusses Cassandra's architecture, data model, query language (CQL), and how to install and run Cassandra. Key points covered include Cassandra's linear scalability, high availability and fault tolerance. The document also demonstrates how to use the nodetool utility and provides guidance on backing up and restoring Cassandra data.
The document discusses design guidelines for touchscreen interfaces based on research into how people actually hold and interact with mobile devices. It provides data on finger sizes, common grips, touch targets, and notes that touch interaction is not just about finger size and pinpoint accuracy. The guidelines include making targets visible and tappable, designing for different screen sizes, leaving space for scrolling, and testing interfaces at scale.
We held the largest ever Virtual SlideShare Summit a week back, if you missed it here's your chance to hear from the experts once more on some of the takeaways on presentation design and SlideShare Marketing
Explore best practices around sustainability. Consumer expect brands to do more and stand for more. Check how sustainability is driving business, social and environmental innovation.
The document discusses the challenges and opportunities of using the WordPress Block Editor for headless projects. It outlines how previous headless and Block Editor options had limitations but that new solutions are emerging that make it easier to bridge content between the Block Editor and headless applications. These include the React-Gutenberg Bridge, WPGraphQL Content Blocks plugin, and the VIP Block Data API which allow blocks and their data to be exposed via APIs and consumed by headless apps. While progress has been made, challenges still remain regarding the editorial experience, dynamic blocks, and SEO capabilities.
This document describes a scalable real-time many-shadowed light rendering system. It discusses using a multi-resolution shadow map pool with GPU shadow map compression to minimize size and maximize performance. A conservative dynamic mask is used to separate static and dynamic shadows for efficiency. Tiled-deferred shading with bindless shadow maps and selective light culling improves occupancy. Vector quantization compresses deferred shadow masks from 128MB to 12MB with minimal quality loss. The system achieves over 250 shadowed lights at 60fps on PS4.
This introduction to Strategy with Wardley Maps covers: * What is Wardley Mapping? * The Problem & Value of Mapping * Elements of a Map * Overview of the Strategy Cycle * A couple of Climatic Patterns * Several examples First run @ Wardley Maps London September 2020 as a talk + workshop. https://www.meetup.com/Wardley-Maps-London Recording will be posted soon. It is released CC-by-SA, and is based on Simon Wardley's work available on https://medium.com/wardleymaps
The most important element of BIM (Building Information Modeling) is “Information”. The objective of developing a BIM Execution Plan (BEP) is to facilitate the management of the information in a BIM project. It can be defined as the plan prepared to streamline how the “Information Modeling” part of a project will be executed.
This publication serves as the first in-depth DMCC (Dubai Multi Commodities Centre) thought leadership report on the global and local gaming and esports ecosystem. It gathers contributions from key opinion leaders to share their views on where the gaming and esports industry is heading and places emphasis on the drivers of gaming and esports from a technology, culture and business perspective.
This document discusses how sketching and storyboarding can be used for collaboration, research, and content strategy. It describes how drawing pictures can communicate ideas quickly and help focus on user needs. The document provides examples of how sketching can help with various aspects of content strategy like brainstorming ideas, refining concepts, and testing concepts. It emphasizes that anyone can draw basic shapes and sketches. Finally, it outlines a 5 step process for creating storyboards, including brainstorming, writing a script, drawing rough sketches, getting feedback, and adapting the artwork.
"Let's do some thinking about data visualisation thinking" talk given by Andy Kirk at the 'Data Visualization Group in the Bay Area' Meetup at the University of San Francisco, on Thursday 23rd October 2014 (http://www.meetup.com/visualizemydata/events/212438912/)
이펙트 쉐이더를 다루기 위한 유니티 Vertex & Fragment 쉐이더 기초 개념 발표 자료입니다. 쉐이더가 무엇인지 어떤식으로 다루는 개념 위주의 내용이기에 생략된 부분이 많습니다.
Slides for talk presented at Boulder Java User's Group on 9/10/2013, updated and improved for presentation at DOSUG, 3/4/2014 Code is available at https://github.com/jmctee/hadoopTools
Apple's next press event happens on Monday, March 21 at the company's campus in Cupertino, California. We've already talked about what to expect, in our PPT but to recap: Apple is expected to announce a new 4-inch iPhone that combines the size of the iPhone 5S with features from the iPhone 6 and 6S. It will also supposedly be upgrading the 9.7-inch iPad, giving it updated internals, a Smart Connector, and Apple Pencil support imported from the iPad Pro. The Apple Watch may get some love in the form of new band colors and combinations, but rumors say not to expect a full hardware refresh just yet.
"Many teams are now using schemas and schema registries to bring structure to their Kafka records, but how do you get clients connected in a consistent way? AsyncAPI is an open source initiative that makes working with event-driven architectures as easy as working with REST APIs. From API documentation to code generation, and from discovery to event management, this open source initiative provides a language and tooling to describe your asynchronous APIs. This talk will be an introduction to help developers get started with using AsyncAPI. It will cover how to describe your Kafka cluster and define how clients should connect. Come along to learn about how AsyncAPI complements and extends existing use of schema formats like Apache Avro and why you should start using it today as part of your event-driven architecture."
Typography rules to help improve your layouts. A crash course in design for the aspiring typographer. 10 typography rules to help you rule type.
Everybody and his mom wants to create an app today. But not everybody is a hacker. That shouldn't be a problem! Still it might be helpful to know some basics about the technology, which is used to build your startup. This Infographic will give you a brief overview.
Renowned programming author, Cay Horstmann, provides you with five great tips for being successful in the art of programming.
Presented at Tokyo iOS Meetup https://www.meetup.com/TokyoiOSMeetup/events/234405194/ Video here: https://www.youtube.com/watch?v=lJlyR8chDwo
After writing CSS for over 10 years you'd think you would know everything there is to know, right? I couldn't be more wrong and I found out the hard way. While my first formal code review session was painfully embarrassing it was also the most important lesson I have learned throughout my career. Code reviews force you to communicate on a different level which ultimately leads to more thoughtful coding practices. When writing Sass and other pre-processed languages it is even more important that you review your code continually, which even the more seasoned front end developers may neglect at times. Bottom line: Code reviews will make you better.
This document discusses visualizing data with code and provides information on tools and techniques for data visualization. It lists relevant fields like information design, data science, and cartography. It also lists example visualization tools and techniques like D3, Processing, network graphs, and mapping. Finally, it outlines a process for developing data visualizations that involves looking at the data, creating initial visualizations, asking questions, getting inspiration, refining ideas, and publishing visualizations.
This presentation covers the inception of Go, its differences with conventional programming languages and some language features.
The document discusses Rachel Andrew's experience building the modern web. It summarizes that Rachel found community and a new career through learning HTML and sharing her knowledge of building websites. Over time, the web became more standardized and accessible, though complexity has also increased with various frameworks abstracting the core technologies of HTML, CSS, and JavaScript. Rachel advocates for developing strong fundamental skills in the core technologies rather than relying too heavily on frameworks.
Example Simple NodeJS Application for Docker demo - https://gist.github.com/abtris/6aca9b2668b8b5af0208 Video - https://www.youtube.com/watch?v=p6olO6NChno&feature=youtu.be
In today’s agile and rapidly changing environment we may overlook important attributes of software development process. Design of the software and surrounding infrastructure are one of those things that usually do not get enough attention. Quality of design directly impacts quality of software and should follow development process all the way from the initial idea till the product end-of-life. In this presentation I'm sharing what works for us to keep software ecosystem healthy, what challenges we are facing and how we are surviving them.
My presentation for MageTitans on Nov 7th, 2015 in Manchester, England about create great Magento products with Agile Development Methodologies
"Migration from Swing to JavaFX" Material for JCConf.tw 2015 Dec. 4
This document discusses using protocols and view models to configure table view cells in Swift. It presents a problem with directly configuring cells and proposes using protocols to define cell configuration. Protocol extensions are used to provide default values. View models conform to these protocols to provide the data and behavior for configuring cells. This allows separating data, UI, and logic concerns to make the code more reusable, testable and maintainable.
This document discusses quality assurance (QA) in agile software development. It explains that in agile, QA is a continuous process integrated throughout the project lifecycle. Each iteration aims to produce potentially shippable code through practices like test-driven development, refactoring, and continuous integration which help build quality in from the start. The agile lifecycle is broken into short iterative cycles in contrast to the traditional waterfall model where testing occurs in distinct phases after coding is complete.
A brief walk-through on how developers can create Great Software Estimates that define how long it will take to code, develop and ship.
Data scientists, data engineers, and data businesspeople are critical to leveraging data in any organization. A common complaint from data science managers is that data scientists invest time prototyping algorithms, and throw them over a proverbial fence to engineers to implement, only to find the algorithms must be rebuilt from scratch to scale. This is a symptom of a broader ailment -- that data teams are often designed as functional silos without proper communication and planning. This talk outlines a framework to build and organize a data team that produces better results, minimizes wasted effort among team members, and ships great data products.
Quality is everyone's responsibility at Spotify and testing should be automated for routine tasks to improve efficiency. While testing is important, the overall goal is for it to be a fun process that goes beyond just finding bugs.
Brief introduction into developing for the internet. A short history of how pages communicate with a server and a look a different web stacks that can be used in web development
We asked LinkedIn members worldwide about their levels of interest in the latest wave of technology: whether they’re using wearables, and whether they intend to buy self-driving cars and VR headsets as they become available. We asked them too about their attitudes to technology and to the growing role of Artificial Intelligence (AI) in the devices that they use. The answers were fascinating – and in many cases, surprising. This SlideShare explores the full results of this study, including detailed market-by-market breakdowns of intention levels for each technology – and how attitudes change with age, location and seniority level. If you’re marketing a tech brand – or planning to use VR and wearables to reach a professional audience – then these are insights you won’t want to miss.
Artificial intelligence (AI) is everywhere, promising self-driving cars, medical breakthroughs, and new ways of working. But how do you separate hype from reality? How can your company apply AI to solve real business problems? Here’s what AI learnings your business should keep in mind for 2017.
TEDx Manchester talk on artificial intelligence (AI) and how the ascent of AI and robotics impacts our future work environments. The video of the talk is now also available here: https://youtu.be/dRw4d2Si8LA
The document discusses techniques for writing sustainable code over time, including testing code, following design principles like SOLID, using package managers, prioritizing readability, practicing object calisthenics, improving code through refactoring, and continually learning. The goal is to write code that is easy to comprehend, flexible, tested, and replaceable as needs change over time.
As developers we write code everyday, only to frown at it a week after that. Why do we have such a hard time with code written by others and ourselves, this raging desire to rewrite everything we see? Writing code that survives the test of time and self judgment is a matter of clarity and simplicity. Let's talk about growing, learning and improving our code with calisthenics, readability and good design.
As developers we write code everyday, only to frown at it a week after that. Why do we have such a hard time with code written by others and ourselves, this raging desire to rewrite everything we see? Writing code that survives the test of time and self judgment is a matter of clarity and simplicity. Let's talk about growing, learning and improving our code with calisthenics, readability and good design.
As developers we write code everyday, only to frown at it a week after that. Why do we have such a hard time with code written by others and ourselves, this raging desire to rewrite everything we see? Writing code that survives the test of time and self judgment is a matter of clarity and simplicity. Let's talk about growing, learning and improving our code with calisthenics, readability and good design.
As developers we write code everyday, only to frown at it a week after that. Why do we have such a hard time with code written by others and ourselves, this raging desire to rewrite everything we see? Writing code that survives the test of time and self judgment is a matter of clarity and simplicity. Let's talk about growing, learning and improving our code with calisthenics, readability and good design.
As developers we write code everyday, only to frown at it a week after that. Why do we have such a hard time with code written by others and ourselves, this raging desire to rewrite everything we see? Writing code that survives the test of time and self judgment is a matter of clarity and simplicity. Let's talk about growing, learning and improving our code with calisthenics, readability and good design.
This document discusses techniques for writing code that lasts over time. It recommends improving code by making it more comprehensible, flexible, tested, and easier to refactor or replace. Specific techniques mentioned include following principles like SOLID design and avoiding antipatterns like singletons. Object calisthenics are presented as a way to write simple code through constraints on things like indentation levels and number of instance variables. The overall message is that code quality can be improved through practices like writing tests, refactoring regularly, and learning from others' code.
As developers we write code everyday, only to frown at it a week after that. Why do we have such a hard time with code written by others and ourselves, this raging desire to rewrite everything we see? Writing code that survives the test of time and self judgment is a matter of clarity and simplicity. Let's talk about growing, learning and improving our code with calisthenics, readability and good design.
Dynamic linking is a valuable tool to share code between multiple applications and to load code at runtime. It is heavily used in GNU/Linux systems. Modern build tools make it very easy to use existing shared objects or to build and install new ones. But what exactly is inside a shared object? How is it loaded at runtime? And what is the ld.so? Dynamic linking can be used without knowing the answer to any of these questions. But a deeper understanding of dynamic linking can be very valuable when one has to debug problems with shared objects. Knowing how the linker works is also important when one wants to build an embedded linux distribution or needs a dynamic plugin system for an application.
All 3 Clean Code presentations provide great value by themselves, but taken together are designed to offer a holistic approach to successful software creation. This first session creates the foundation for the 2nd Clean Code presentation on Dependency Injection, as it explains expected base knowledge. Why writing Clean Code makes us more efficient Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs. Writing clean code can significantly lower these costs. However, writing clean code also makes you more efficient during the initial development time and results in more stable code. You will be presented design patterns and best practices which will make you write better and more easily maintainable code, seeing code in a holistic way. You will learn how to apply them by using an existing implementation as the starting point of the presentation. Finally, patterns & practices benefits are explained. This presentation is based on C# and Visual Studio 2012. However, the demonstrated patterns and practice can be applied to every other programming language too.
DevOps Loop at VMworld Session Title: Evolving DevOps in the Age of Cloud Native Speaker: Joe Beda, Principal Engineer, VMware
Stanko introduces GraphQL as an alternative to REST for building APIs. Some key problems with REST include over-fetching of data and lack of standardized documentation. GraphQL addresses these by allowing clients to specify exactly which attributes they need in a query. The response then matches the structure of the query. GraphQL also provides automatic documentation of available queries and mutations through an introspection system. Overall, GraphQL provides a more flexible way to retrieve resources from an API compared to REST.
This document discusses REPL driven mobile development using ClojureScript. It begins by introducing REPL (Read-Eval-Print Loop) as an interactive programming environment. The document then discusses ClojureScript and how it compiles Clojure code to JavaScript, enabling mobile development. Key benefits of the REPL driven approach using ClojureScript discussed are immediate feedback, incremental development, and better debuggability. CLJSrn is introduced as a framework for building native mobile apps using ClojureScript and React. Examples are provided of REPL driven development in ClojureScript.
This document outlines an agenda for a CTO summit on machine learning and deep learning topics. It includes discussions on CNN and RNN architectures, word embeddings, entity embeddings, reinforcement learning, and tips for training deep neural networks. Specific applications mentioned include self-driving cars, image captioning, language modeling, and modeling store sales. It also includes summaries of papers and links to code examples.