Rachel Andrew presented on solving layout problems with CSS Grid and friends. CSS Grid allows for two-dimensional page layouts directly in the markup, without needing additional wrapper elements. Grid items can be placed into rows and columns precisely without needing to set widths. Older techniques like floats and flexbox can be used as fallbacks for browsers without Grid support. Subgrids and masonry layouts may be added to Grid in the future. Grid is a native part of CSS with good browser support.
The document provides a summary of Rachel Andrew's presentation on CSS layout at Smashing Conf London. It includes links to various CSS specifications and code examples demonstrating different CSS layout techniques like grid sizing, intrinsic sizing, flexible lengths with fr units, minimum and maximum sizing, and responsive design patterns using media queries and feature queries.
The document provides a summary of a WordPress Meetup on CSS Grid Layout. It discusses various grid sizing techniques like intrinsic sizing with auto, min-content, max-content, and fit-content. It also covers flexible sizing with fr units and minimum and maximum sizing with minmax(). Other topics include alignment of tracks with align-content and justify-content, alignment of items with align-items and justify-items, and writing modes. Throughout it provides code examples and links to further resources.
View Source London: Solving Layout Problems with CSS Grid & FriendsRachel Andrew
This document provides an overview of solving layout problems with CSS Grid and related technologies. It discusses when to use Flexbox versus Grid, how Grid works from the container out compared to other frameworks, tracks sizing with fractions and minmax, nested grids, new sizing keywords, and dealing with older browsers. It also covers subgrids and potential future directions like masonry layouts.
SmashingConf SF: Unlocking the Power of CSS Grid LayoutRachel Andrew
UNLOCKING THE POWER OF CSS GRID LAYOUT
Once you have grasped the basics of CSS Grid, you quickly discover how it enables many existing design patterns in a streamlined, elegant way. However, we shouldn’t see Grid in isolation. Understanding how other parts of CSS work together with Grid is key, in order to get the most out of our new abilities.
In this talk Rachel will be concentrating on a couple of these areas, CSS Box Alignment and CSS Sizing. Rachel will show you practical ways in which a little bit of knowledge in these areas can unlock the full potential of the Grid Specification. You’ll learn how to create useful components and to start thinking of ways in which you can solve design and interface problems in more creative ways.
All Day Hey! Unlocking The Power of CSS Grid LayoutRachel Andrew
- The document provides an overview and examples of CSS Grid Layout features such as grid-template-columns, grid-template-rows, grid-gap, grid-column, grid-row, and more.
- It demonstrates how to size grid tracks using fixed, intrinsic, and flexible sizing functions like fr units, minmax(), auto, fit-content(), and others.
- Examples are given for aligning and aligning content within grids using properties like justify-content, align-content, justify-items, align-items and more.
Solving Layout Problems with CSS Grid & Friends - DevFest17Rachel Andrew
This document summarizes Rachel Andrew's presentation on solving layout problems with CSS Grid and friends. It discusses how CSS Grid creates an actual grid structure, unlike float-based or flexbox grids which only mimic a grid. Key features of CSS Grid like grid-template-columns, repeat, minmax, and fr units for column sizing are explained. The document also covers using features like float or flexbox as fallbacks for older browsers, and potential future additions to grid like subgrids and masonry layouts.
Solving Layout Problems with CSS Grid & Friends - NordicJSRachel Andrew
I explain some of the common layout problems that CSS Grid and related specifications attempt to solve - while answering some of the common questions I am asked about Grid Layout.
DevFest Nantes - Start Using CSS Grid Layout todayRachel Andrew
The document discusses using CSS Grid Layout for page layout. It provides examples of how to create a grid with multiple equal columns using grid-template-columns, position elements within the grid using grid-column and grid-row, and make the layout responsive by redefining grid placements in media queries. It also addresses backwards compatibility by providing flexbox fallbacks and using feature queries.
Grid layout has now landed in all of the mainstream desktop browsers. It's exciting but how do we start to move to using grid layout, and why should we?
This document discusses the evolving nature of front-end development over time. It notes that in the past, skills like knowing HTML and CSS were highly marketable on their own. However, the field has grown increasingly complex with many new techniques and tools. The document encourages focusing on core fundamentals first before jumping to new tools, and stresses the importance of contributing to standards and open web platforms through techniques like filing issues to improve interoperability.
Start Using CSS Grid Layout Today - RuhrJSRachel Andrew
This document provides an introduction and overview of CSS Grid Layout. It explains the differences between Grid and other layout methods like Flexbox. It provides examples of how to implement common layout patterns using Grid and addresses concerns about browser support and fallbacks. Key topics covered include grid template areas, responsive design with Grid, and ways for developers to get involved in advancing browser support for new CSS features.
This document discusses several CSS features including box alignment, flexbox, grid layout, CSS shapes, feature queries, initial letters, writing modes, custom properties, calc(), position: sticky, and scroll snapping. It provides code examples and links to documentation for each feature. Key points covered include using box alignment properties in flexbox and grid layout, centering content with flexbox, creating responsive grids with CSS grid, applying shapes to images with shape-outside, testing support for features with feature queries, styling initial letters, flipping text direction with writing modes, defining variables with custom properties, performing calculations with calc(), sticking elements to the viewport with position: sticky, and snapping scrolling with scroll snapping. Links to resources
What I discovered about layout vis CSS GridRachel Andrew
The document summarizes key concepts the author learned about CSS Grid layout. Some key points include:
- CSS Grid handles box alignment and positioning in a logical way based on writing direction rather than physical positioning.
- The display property controls how elements generate boxes and formatting contexts for child elements. Grid items are always blockified.
- Features like subgrid, display: contents, and logical properties give more control over layout.
- Understanding how CSS Grid handles boxes and positioning provides tools to build flexible and accessible layouts.
Evergreen websites for Evergreen browsersRachel Andrew
Grid is for two-dimensional layout, while flexbox is for one-dimensional layout. Grid allows control of layout from the parent container by defining column and row tracks on the container, rather than adding properties to child items. This allows child items to be positioned and overlap in the grid space without adding widths or heights to them directly. Feature queries can be used to provide an enhanced grid-based layout for supporting browsers while avoiding conflicts with non-supporting browsers.
This document introduces CSS Grid Layout and provides examples of how to define a grid, place items on the grid using line numbers and names, create named grid areas, and redefine the grid at different breakpoints. Key aspects covered include defining grid columns and rows using fractional units and repeat functions, creating gaps between rows and columns, positioning items on the grid using line-based placement properties, and describing layouts using grid-template-areas.
Today we have CSS specifications for animation and transitions, complex layout, custom properties and much more. In addition to the breadth of modern CSS specifications, our evergreen, auto-updating browsers sneak in new features with every release.
In this talk, I’ll be taking a look at some of the things that CSS is capable of, some of which you might think you need a JavaScript framework or at least a pre-processor to achieve.
The document summarizes Rachel Andrew's presentation on modern CSS layout techniques including Flexbox and CSS Grid Layout. Some key points include:
- Flexbox and CSS Grid Layout provide improved tools for page layout compared to older methods like floats.
- These techniques separate logical structure from visual presentation, allow responsive design, and give more control over alignment.
- Features like grid-auto-flow can automatically position items but authors must be careful not to compromise accessibility or semantics.
- Flexbox is well-suited for one-dimensional layouts while Grid excels at two-dimensional layouts like pages with columns.
This document discusses CSS Grid Layout and provides examples of how to define grids and place items on grids using CSS Grid properties. Some key points:
- CSS Grid allows defining a grid on any element using display: grid and then placing child elements into the grid with grid-column, grid-row and other properties.
- Grids can be defined explicitly with grid-template-columns/rows or implicitly with auto-placement of items.
- Fraction units (fr), minmax(), repeat() and auto-fill can create flexible and responsive grid layouts.
- Items can be placed on grids by line number, named lines, or named grid areas.
- Grid layout can be redefined
Rachel Andrew gives a presentation on modern CSS layout techniques including Flexbox and CSS Grid Layout. She discusses how these techniques allow for flexible and responsive design that separates layout from the semantic structure of the content. Flexbox is well-suited for one-dimensional layouts while Grid Layout enables two-dimensional positioning. Feature queries can help support these new techniques for browsers that do not yet support them.
The Future of Frontend - what is new in CSS?Rachel Andrew
This document summarizes new features in CSS including Box Alignment Level 3, CSS Grid Layout, the fr unit, Wrapped Flexbox Layout, CSS Shapes, CSS Feature Queries with @supports, CSS Custom Properties, and how to get involved in the CSS specification process. It provides examples and explanations of each new feature, highlighting their capabilities and use cases.
Talk Web Design: Get Ready For CSS Grid LayoutRachel Andrew
- CSS Grid Layout provides a new two-dimensional grid-based layout system for CSS. It allows developers to divide available space on a page into columns and rows, and place elements into those areas.
- The document discusses defining a CSS grid with properties like grid-template-columns, grid-template-rows, and grid-template-areas. It also covers positioning items onto the grid using line-based placement with grid-column, grid-row etc. or named grid areas.
- CSS Grid Layout offers developers greater control over page layout compared to older methods and allows the layout to be redefined responsively with media queries.
This document introduces CSS Grid Layout and provides examples of how to implement a grid using CSS Grid properties. Key points include:
- CSS Grid Layout allows positioning of elements within a grid system defined entirely through CSS. This avoids layout hacks and redundant markup needed with previous methods.
- Grid properties like grid-template-columns, grid-template-rows define the structure of the grid. grid-column, grid-row position elements within the grid.
- Named lines, grid areas, and media queries allow defining different grid layouts for different screen sizes without changing markup order.
- Repeating tracks, flexible track sizes (fr units), and line spanning provide powerful grid configuration options.
Frontend United: Start using CSS Grid Layout today!Rachel Andrew
Grid Layout is here! What is it? Why is it different to flexbox? How do I get started? What about old browsers? All these questions and more in a high speed tour of the spec.
DevFest Nantes - Start Using CSS Grid Layout todayRachel Andrew
The document discusses using CSS Grid Layout for page layout. It provides examples of how to create a grid with multiple equal columns using grid-template-columns, position elements within the grid using grid-column and grid-row, and make the layout responsive by redefining grid placements in media queries. It also addresses backwards compatibility by providing flexbox fallbacks and using feature queries.
Grid layout has now landed in all of the mainstream desktop browsers. It's exciting but how do we start to move to using grid layout, and why should we?
This document discusses the evolving nature of front-end development over time. It notes that in the past, skills like knowing HTML and CSS were highly marketable on their own. However, the field has grown increasingly complex with many new techniques and tools. The document encourages focusing on core fundamentals first before jumping to new tools, and stresses the importance of contributing to standards and open web platforms through techniques like filing issues to improve interoperability.
Start Using CSS Grid Layout Today - RuhrJSRachel Andrew
This document provides an introduction and overview of CSS Grid Layout. It explains the differences between Grid and other layout methods like Flexbox. It provides examples of how to implement common layout patterns using Grid and addresses concerns about browser support and fallbacks. Key topics covered include grid template areas, responsive design with Grid, and ways for developers to get involved in advancing browser support for new CSS features.
This document discusses several CSS features including box alignment, flexbox, grid layout, CSS shapes, feature queries, initial letters, writing modes, custom properties, calc(), position: sticky, and scroll snapping. It provides code examples and links to documentation for each feature. Key points covered include using box alignment properties in flexbox and grid layout, centering content with flexbox, creating responsive grids with CSS grid, applying shapes to images with shape-outside, testing support for features with feature queries, styling initial letters, flipping text direction with writing modes, defining variables with custom properties, performing calculations with calc(), sticking elements to the viewport with position: sticky, and snapping scrolling with scroll snapping. Links to resources
What I discovered about layout vis CSS GridRachel Andrew
The document summarizes key concepts the author learned about CSS Grid layout. Some key points include:
- CSS Grid handles box alignment and positioning in a logical way based on writing direction rather than physical positioning.
- The display property controls how elements generate boxes and formatting contexts for child elements. Grid items are always blockified.
- Features like subgrid, display: contents, and logical properties give more control over layout.
- Understanding how CSS Grid handles boxes and positioning provides tools to build flexible and accessible layouts.
Evergreen websites for Evergreen browsersRachel Andrew
Grid is for two-dimensional layout, while flexbox is for one-dimensional layout. Grid allows control of layout from the parent container by defining column and row tracks on the container, rather than adding properties to child items. This allows child items to be positioned and overlap in the grid space without adding widths or heights to them directly. Feature queries can be used to provide an enhanced grid-based layout for supporting browsers while avoiding conflicts with non-supporting browsers.
This document introduces CSS Grid Layout and provides examples of how to define a grid, place items on the grid using line numbers and names, create named grid areas, and redefine the grid at different breakpoints. Key aspects covered include defining grid columns and rows using fractional units and repeat functions, creating gaps between rows and columns, positioning items on the grid using line-based placement properties, and describing layouts using grid-template-areas.
Today we have CSS specifications for animation and transitions, complex layout, custom properties and much more. In addition to the breadth of modern CSS specifications, our evergreen, auto-updating browsers sneak in new features with every release.
In this talk, I’ll be taking a look at some of the things that CSS is capable of, some of which you might think you need a JavaScript framework or at least a pre-processor to achieve.
The document summarizes Rachel Andrew's presentation on modern CSS layout techniques including Flexbox and CSS Grid Layout. Some key points include:
- Flexbox and CSS Grid Layout provide improved tools for page layout compared to older methods like floats.
- These techniques separate logical structure from visual presentation, allow responsive design, and give more control over alignment.
- Features like grid-auto-flow can automatically position items but authors must be careful not to compromise accessibility or semantics.
- Flexbox is well-suited for one-dimensional layouts while Grid excels at two-dimensional layouts like pages with columns.
This document discusses CSS Grid Layout and provides examples of how to define grids and place items on grids using CSS Grid properties. Some key points:
- CSS Grid allows defining a grid on any element using display: grid and then placing child elements into the grid with grid-column, grid-row and other properties.
- Grids can be defined explicitly with grid-template-columns/rows or implicitly with auto-placement of items.
- Fraction units (fr), minmax(), repeat() and auto-fill can create flexible and responsive grid layouts.
- Items can be placed on grids by line number, named lines, or named grid areas.
- Grid layout can be redefined
Rachel Andrew gives a presentation on modern CSS layout techniques including Flexbox and CSS Grid Layout. She discusses how these techniques allow for flexible and responsive design that separates layout from the semantic structure of the content. Flexbox is well-suited for one-dimensional layouts while Grid Layout enables two-dimensional positioning. Feature queries can help support these new techniques for browsers that do not yet support them.
The Future of Frontend - what is new in CSS?Rachel Andrew
This document summarizes new features in CSS including Box Alignment Level 3, CSS Grid Layout, the fr unit, Wrapped Flexbox Layout, CSS Shapes, CSS Feature Queries with @supports, CSS Custom Properties, and how to get involved in the CSS specification process. It provides examples and explanations of each new feature, highlighting their capabilities and use cases.
Talk Web Design: Get Ready For CSS Grid LayoutRachel Andrew
- CSS Grid Layout provides a new two-dimensional grid-based layout system for CSS. It allows developers to divide available space on a page into columns and rows, and place elements into those areas.
- The document discusses defining a CSS grid with properties like grid-template-columns, grid-template-rows, and grid-template-areas. It also covers positioning items onto the grid using line-based placement with grid-column, grid-row etc. or named grid areas.
- CSS Grid Layout offers developers greater control over page layout compared to older methods and allows the layout to be redefined responsively with media queries.
This document introduces CSS Grid Layout and provides examples of how to implement a grid using CSS Grid properties. Key points include:
- CSS Grid Layout allows positioning of elements within a grid system defined entirely through CSS. This avoids layout hacks and redundant markup needed with previous methods.
- Grid properties like grid-template-columns, grid-template-rows define the structure of the grid. grid-column, grid-row position elements within the grid.
- Named lines, grid areas, and media queries allow defining different grid layouts for different screen sizes without changing markup order.
- Repeating tracks, flexible track sizes (fr units), and line spanning provide powerful grid configuration options.
Frontend United: Start using CSS Grid Layout today!Rachel Andrew
Grid Layout is here! What is it? Why is it different to flexbox? How do I get started? What about old browsers? All these questions and more in a high speed tour of the spec.
This document summarizes Rachel Andrew's presentation on CSS Grid Layout. Some key points:
- CSS Grid Layout provides a new two-dimensional layout system for CSS that solves many of the problems of previous methods like floats and flexbox.
- Grid uses line-based placement, with grid lines that can be explicit or implicit, to position items on the page. Properties like grid-column and grid-row position items within the grid.
- The grid template establishes the structure of rows and columns. Items can span multiple tracks. Fraction units like fr distribute space proportionally.
- Common layouts like Holy Grail are easily achieved with Grid. The structure can also adapt at breakpoints by redefining
The document summarizes Rachel Andrew's presentation on CSS Grid Layout. Some key points:
- CSS Grid Layout provides a new display value and properties to create grid-based layouts, addressing issues with floats, tables, flexbox.
- Grid uses line-based placement, with grid-template-columns/rows to define the grid, and grid-column/row to position.
- The fr unit distributes space proportionally. Implicit tracks are created when content is placed outside defined lines.
- Grid allows redefining layouts responsively by changing templates with media queries.
This document discusses CSS Grid Layout and how it provides a designed-for-purpose layout system. It describes how grid is defined using CSS properties like display: grid and grid-template-columns. Elements can then be precisely positioned on the grid using line-based placement with properties like grid-column and grid-row. The document provides examples of common layout patterns like the holy grail layout implemented with grid. It also covers topics like implicit and explicit grid lines, named lines and areas, and redefining the grid at different breakpoints.
The document is an introduction to CSS grid layout presented by Kara Luton. It begins with an introduction of the presenter and overview of CSS grid. It then covers key grid terminology, how to set up a basic grid with grid container and items, differences between implicit and explicit grids, using different length units for tracks, sizing and placing grid items including spanning, and more advanced features like grid template areas. The presentation aims to provide attendees an understanding of CSS grid and how to implement basic and more complex grid layouts.
An Event Apart Nashville: CSS Grid LayoutRachel Andrew
The document summarizes Rachel Andrew's presentation on CSS Grid Layout. Some key points:
- CSS Grid Layout provides a new two-dimensional grid system for CSS layout, addressing limitations of floats and flexbox.
- Grid uses line-based placement, with grid tracks defined by grid-template-columns/rows and items placed using grid-column/row properties.
- Common layouts like Holy Grail can be easily created with Grid. Grid also allows rearranging layouts responsively.
- Grid introduces concepts like implicit and explicit grid lines, fr units, and named grid areas to semantically define layout structures.
When it comes to building responsive web layouts we’ve used tables, floats and Flexbox. Now there’s CSS Grid. In this talk, we’ll go over what differentiates it from other techniques and why it’s completely changing the game.
CSS Grid Layout allows for two-dimensional page layouts using rows and columns to position elements. It offers several methods for defining the grid including explicit definition with grid-template-columns/rows, implicit definition by letting grid create tracks automatically, and using fractional units and repeat functions for flexible layouts. Elements can then be placed on the grid using line-based positioning with grid-column/row or named grid areas. Media queries allow the grid definition and element placement to adapt at different breakpoints.
The document discusses CSS Grid Layout as a new method for controlling page layout with CSS. It provides examples of using Grid Layout properties like grid-template-columns, grid-template-rows, and grid-column to define a grid structure and position elements within that grid. Key benefits highlighted include describing the layout solely in CSS, ability to redefine the layout at different breakpoints, and eliminating the need for layout hacks or non-semantic markup used by older methods.
CSS Grid Layout: An Event Apart Boston 2016Rachel Andrew
This document provides an overview and introduction to CSS Grid Layout. It discusses defining a grid with properties like display: grid, grid-template-columns, grid-template-rows, and fr units. It covers placing items on the grid using line numbers, line names, and grid areas. It also demonstrates rearranging the layout at different breakpoints and using implicit rows.
This document discusses CSS Grid Layout and provides examples of how to define grids and place items on grids. Some key points:
- CSS Grid Layout allows dividing available space into columns and rows to position elements.
- Grids are defined on parent elements using properties like grid-template-columns, grid-template-rows, and grid-template-areas.
- Child elements can be placed on the grid using line-based placement with properties like grid-column and grid-row, or by targeting named lines and areas.
- Grids can be redefined at different breakpoints to create responsive layouts without changing HTML structure.
Rachel Andrew presented on CSS Grid Layout and Flexbox at Smashing Conf SF. She began by explaining the differences between Grid and Flexbox - Grid is for two-dimensional layout while Flexbox is for one-dimensional. She demonstrated examples of layouts using Grid and why it may be preferable to Flexbox in certain cases. Rachel then covered using Grid in production, responsive design with Grid, fallback options for older browsers, and ways for developers to encourage browser vendors to support new features. She provided several resources for learning more about Grid.
This document summarizes Rachel Andrew's presentation on CSS Grid Layout. Some key points include:
- CSS Grid Layout provides a two-dimensional grid system for CSS layout, as an alternative to floats and positioning.
- Grid uses line-based placement rather than block/inline flows, allowing items to be placed precisely on the grid.
- Defining a grid involves setting grid-template-columns, grid-template-rows and other properties to establish the structure and tracks.
- Items can then be placed on the grid using grid-row and grid-column to position them across specific row and column lines.
Rachel Andrew
Co-founder of Perch CMS
Find more by Rachel Andrew: http://www.slideshare.net/rachelandrew
All Things Open
October 26-27, 2016
Raleigh, North Carolina
When it comes to building responsive web layouts we’ve used tables, floats and Flexbox. Now there’s CSS Grid. In this talk, we’ll go over what differentiates it from other techniques and why it’s completely changing the game. Through code examples and demos, you’ll walk out of this talk able to start using Grid right away.
CSS Grid Layout - An Event Apart OrlandoRachel Andrew
My slides from An Event Apart Orlando. Also take a look at the code examples and resources at https://rachelandrew.co.uk/speaking/event/an-event-apart-orlando-special-edition-2016
This document summarizes CSS Grid Layout, a new two-dimensional grid system being added to CSS. It discusses some of the limitations of existing CSS layout methods and how Grid Layout addresses them. Key points include: Grid Layout uses line-based placement to position items, grid tracks can be flexible or fixed widths, areas can be explicitly or implicitly named, and the system avoids hacks and limitations of previous methods.
Rachel Andrew discusses modern CSS layout techniques like Flexbox and CSS Grid Layout. She explains how these new specifications allow for responsive design that adapts to different screen sizes in a fluid, flexible way. Andrew also emphasizes the importance of accessibility and maintaining proper source order when using these techniques. The talk explores various properties, functions, and examples to demonstrate how Flexbox and CSS Grid can be used to create responsive layouts in a semantic and accessible manner.
The document discusses using CSS grid layout to create magazine-style page layouts and fancy headers. It provides examples of creating a flexible "media object" with images and text that can stack on mobile. It also demonstrates making a "half-border box" and positioning elements in a "magazine-style layout" with multiple images and a caption. Finally, it shows how to style a run header with the distance in a circular shape and background image.
An Event Apart DC - New CSS Layout meets the Real WorldRachel Andrew
The document discusses using CSS Grid Layout and other modern CSS techniques to create magazine-style layouts and interfaces. Some key points:
- The Media Object pattern is demonstrated using CSS Grid Layout, with images and text arranged in columns and rows.
- Flexbox and minmax() are used to create flexible layouts with auto-sizing elements.
- Feature queries allow applying styles conditionally based on browser support for CSS features.
- Techniques like shape-outside and grid areas are used to create magazine-style layouts with images, captions, and floating elements. Fancy headers with circular elements are also demonstrated.
The document discusses the origins and development process of CSS specifications. It explains that specs originate from browser vendors, other software companies, and the CSS working group. New specs are developed through a multi-stage process involving drafts, implementations, feedback, and standardization. The community can influence this process by testing experimental implementations, providing feedback, and reporting issues.
This document introduces CSS Grid Layout and provides an overview of its key concepts and features, including:
- Defining a grid with display: grid and grid-template properties
- Placing grid items on the grid using line numbers, line names, and grid-area
- Automatic placement of grid items with grid-auto-flow
- Accessibility considerations for maintaining source order
- When to use Grid versus Flexbox for layout needs
- Animating grid properties and using feature queries for fallback support
An Event Apart Seattle - New CSS Layout Meets the Real WorldRachel Andrew
The document discusses several new CSS layout techniques including the media object, magazine-style layouts, and fancy headers.
[1] The media object pattern is demonstrated using CSS Grid Layout, with an image and text wrapping around it. Flexbox is also used to make the object flexible. [2] Magazine-style multi-column layouts are created with grid areas, minmax rows, and object-fit for images. [3] Fancy headers are made with circles and curved text using border-radius, shape-outside, and flexbox alignment. Feature queries allow fallback styles for older browsers.
Unlock your organization’s full potential with the 2025 Digital Adoption Blueprint. Discover proven strategies to streamline software onboarding, boost productivity, and drive enterprise-wide digital transformation.
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025Lorenzo Miniero
Slides for my "Multistream support in the Janus SIP and NoSIP plugins" presentation at the OpenSIPS Summit 2025 event.
They describe my efforts refactoring the Janus SIP and NoSIP plugins to allow for the gatewaying of an arbitrary number of audio/video streams per call (thus breaking the current 1-audio/1-video limitation), plus some additional considerations on what this could mean when dealing with application protocols negotiated via SIP as well.
Adtran’s new Ensemble Cloudlet vRouter solution gives service providers a smarter way to replace aging edge routers. With virtual routing, cloud-hosted management and optional design services, the platform makes it easy to deliver high-performance Layer 3 services at lower cost. Discover how this turnkey, subscription-based solution accelerates deployment, supports hosted VNFs and helps boost enterprise ARPU.
For those who have ever wanted to recreate classic games, this presentation covers my five-year journey to build a NES emulator in Kotlin. Starting from scratch in 2020 (you can probably guess why), I’ll share the challenges posed by the architecture of old hardware, performance optimization (surprise, surprise), and the difficulties of emulating sound. I’ll also highlight which Kotlin features shine (and why concurrency isn’t one of them). This high-level overview will walk through each step of the process—from reading ROM formats to where GPT can help, though it won’t write the code for us just yet. We’ll wrap up by launching Mario on the emulator (hopefully without a call from Nintendo).
AI in Java - MCP in Action, Langchain4J-CDI, SmallRye-LLM, Spring AIBuhake Sindi
This is the presentation I gave with regards to AI in Java, and the work that I have been working on. I've showcased Model Context Protocol (MCP) in Java, creating server-side MCP server in Java. I've also introduced Langchain4J-CDI, previously known as SmallRye-LLM, a CDI managed too to inject AI services in enterprise Java applications. Also, honourable mention: Spring AI.
Dev Dives: System-to-system integration with UiPath API WorkflowsUiPathCommunity
Join the next Dev Dives webinar on May 29 for a first contact with UiPath API Workflows, a powerful tool purpose-fit for API integration and data manipulation!
This session will guide you through the technical aspects of automating communication between applications, systems and data sources using API workflows.
📕 We'll delve into:
- How this feature delivers API integration as a first-party concept of the UiPath Platform.
- How to design, implement, and debug API workflows to integrate with your existing systems seamlessly and securely.
- How to optimize your API integrations with runtime built for speed and scalability.
This session is ideal for developers looking to solve API integration use cases with the power of the UiPath Platform.
👨🏫 Speakers:
Gunter De Souter, Sr. Director, Product Manager @UiPath
Ramsay Grove, Product Manager @UiPath
This session streamed live on May 29, 2025, 16:00 CET.
Check out all our upcoming UiPath Dev Dives sessions:
👉 https://community.uipath.com/dev-dives-automation-developer-2025/
Master tester AI toolbox - Kari Kakkonen at Testaus ja AI 2025 ProfessioKari Kakkonen
My slides at Professio Testaus ja AI 2025 seminar in Espoo, Finland.
Deck in English, even though I talked in Finnish this time, in addition to chairing the event.
I discuss the different motivations for testing to use AI tools to help in testing, and give several examples in each categories, some open source, some commercial.
What’s New in Web3 Development Trends to Watch in 2025.pptxLisa ward
Emerging Web3 development trends in 2025 include AI integration, enhanced scalability, decentralized identity, and increased enterprise adoption of blockchain technologies.
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025Nikki Chapple
Session | Protecting Your Sensitive Data with Microsoft Purview: Practical Information Protection and DLP Strategies
Presenter | Nikki Chapple (MVP| Principal Cloud Architect CloudWay) & Ryan John Murphy (Microsoft)
Event | IRMS Conference 2025
Format | Birmingham UK
Date | 18-20 May 2025
In this closing keynote session from the IRMS Conference 2025, Nikki Chapple and Ryan John Murphy deliver a compelling and practical guide to data protection, compliance, and information governance using Microsoft Purview. As organizations generate over 2 billion pieces of content daily in Microsoft 365, the need for robust data classification, sensitivity labeling, and Data Loss Prevention (DLP) has never been more urgent.
This session addresses the growing challenge of managing unstructured data, with 73% of sensitive content remaining undiscovered and unclassified. Using a mountaineering metaphor, the speakers introduce the “Secure by Default” blueprint—a four-phase maturity model designed to help organizations scale their data security journey with confidence, clarity, and control.
🔐 Key Topics and Microsoft 365 Security Features Covered:
Microsoft Purview Information Protection and DLP
Sensitivity labels, auto-labeling, and adaptive protection
Data discovery, classification, and content labeling
DLP for both labeled and unlabeled content
SharePoint Advanced Management for workspace governance
Microsoft 365 compliance center best practices
Real-world case study: reducing 42 sensitivity labels to 4 parent labels
Empowering users through training, change management, and adoption strategies
🧭 The Secure by Default Path – Microsoft Purview Maturity Model:
Foundational – Apply default sensitivity labels at content creation; train users to manage exceptions; implement DLP for labeled content.
Managed – Focus on crown jewel data; use client-side auto-labeling; apply DLP to unlabeled content; enable adaptive protection.
Optimized – Auto-label historical content; simulate and test policies; use advanced classifiers to identify sensitive data at scale.
Strategic – Conduct operational reviews; identify new labeling scenarios; implement workspace governance using SharePoint Advanced Management.
🎒 Top Takeaways for Information Management Professionals:
Start secure. Stay protected. Expand with purpose.
Simplify your sensitivity label taxonomy for better adoption.
Train your users—they are your first line of defense.
Don’t wait for perfection—start small and iterate fast.
Align your data protection strategy with business goals and regulatory requirements.
💡 Who Should Watch This Presentation?
This session is ideal for compliance officers, IT administrators, records managers, data protection officers (DPOs), security architects, and Microsoft 365 governance leads. Whether you're in the public sector, financial services, healthcare, or education.
🔗 Read the blog: https://nikkichapple.com/irms-conference-2025/
UiPath Community Zurich: Release Management and Build PipelinesUiPathCommunity
Ensuring robust, reliable, and repeatable delivery processes is more critical than ever - it's a success factor for your automations and for automation programmes as a whole. In this session, we’ll dive into modern best practices for release management and explore how tools like the UiPathCLI can streamline your CI/CD pipelines. Whether you’re just starting with automation or scaling enterprise-grade deployments, our event promises to deliver helpful insights to you. This topic is relevant for both on-premise and cloud users - as well as for automation developers and software testers alike.
📕 Agenda:
- Best Practices for Release Management
- What it is and why it matters
- UiPath Build Pipelines Deep Dive
- Exploring CI/CD workflows, the UiPathCLI and showcasing scenarios for both on-premise and cloud
- Discussion, Q&A
👨🏫 Speakers
Roman Tobler, CEO@ Routinuum
Johans Brink, CTO@ MvR Digital Workforce
We look forward to bringing best practices and showcasing build pipelines to you - and to having interesting discussions on this important topic!
If you have any questions or inputs prior to the event, don't hesitate to reach out to us.
This event streamed live on May 27, 16:00 pm CET.
Check out all our upcoming UiPath Community sessions at:
👉 https://community.uipath.com/events/
Join UiPath Community Zurich chapter:
👉 https://community.uipath.com/zurich/
Agentic AI - The New Era of IntelligenceMuzammil Shah
This presentation is specifically designed to introduce final-year university students to the foundational principles of Agentic Artificial Intelligence (AI). It aims to provide a clear understanding of how Agentic AI systems function, their key components, and the underlying technologies that empower them. By exploring real-world applications and emerging trends, the session will equip students with essential knowledge to engage with this rapidly evolving area of AI, preparing them for further study or professional work in the field.
Introducing the OSA 3200 SP and OSA 3250 ePRCAdtran
Adtran's latest Oscilloquartz solutions make optical pumping cesium timing more accessible than ever. Discover how the new OSA 3200 SP and OSA 3250 ePRC deliver superior stability, simplified deployment and lower total cost of ownership. Built on a shared platform and engineered for scalable, future-ready networks, these models are ideal for telecom, defense, metrology and more.
New Ways to Reduce Database Costs with ScyllaDBScyllaDB
How ScyllaDB’s latest capabilities can reduce your infrastructure costs
ScyllaDB has been obsessed with price-performance from day 1. Our core database is architected with low-level engineering optimizations that squeeze every ounce of power from the underlying infrastructure. And we just completed a multi-year effort to introduce a set of new capabilities for additional savings.
Join this webinar to learn about these new capabilities: the underlying challenges we wanted to address, the workloads that will benefit most from each, and how to get started. We’ll cover ways to:
- Avoid overprovisioning with “just-in-time” scaling
- Safely operate at up to ~90% storage utilization
- Cut network costs with new compression strategies and file-based streaming
We’ll also highlight a “hidden gem” capability that lets you safely balance multiple workloads in a single cluster. To conclude, we will share the efficiency-focused capabilities on our short-term and long-term roadmaps.
2. Rachel Andrew
▸ @rachelandrew on Twitter
▸ https://rachelandrew.co.uk
▸ Invited Expert to the CSS Working Group
▸ Google Developer Expert
▸ co-founder Perch and Perch Runway CMS - https://grabaperch.com
8. Every other method of creating a grid,
involves sizing the individual items.
9. .col {
padding: 10px;
margin-bottom: 1em;
margin-left: 2.093333%;
width: 6.20%;
float: left;
}
.row::after {
content: "";
display: block;
clear: both;
}
.col.span2 {
width: calc((6.20%*2) + 2.093333%);
}
A float based “grid”
We have to give the items a width. By
stacking these carefully sized items up
we get the appearance of a grid.
https://codepen.io/rachelandrew/pen/brjymK
14. .wrapper {
display: grid;
grid-template-columns:
repeat(12, minmax(0,1fr));
grid-gap: 20px;
}
.col.span2 {
grid-column: auto / span 2;
}
A Grid … grid
No row wrappers. No sizing information
on the items, just an instruction on how
many columns to span.
https://codepen.io/rachelandrew/pen/VzBOJW
25. .wrapper {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
grid-gap: 20px;
}
The fr unit
With this track listing the available
spaces divided into 4.
https://codepen.io/rachelandrew/pen/BdeqoJ
34. .panel {
max-width: 800px;
display: grid;
grid-template-columns: 2fr 3fr;
grid-auto-rows: minmax(200px, auto);
grid-gap: 1px;
}
minmax()
Row tracks will be 200 pixels tall unless
there is more content, in which case
they will grow as the max is auto.
https://codepen.io/rachelandrew/pen/Mvqvbm
38. figure {
display: grid;
grid-template-rows: 1fr minmax(100px,
auto);
}
figure img {
grid-row: 1 / -1;
grid-column: 1;
object-fit: cover;
height: 100%;
width: 100%;
}
figure figcaption {
grid-row: 2;
grid-column: 1;
padding: 20px;
}
Nested grids
The figure is a grid item that also
becomes a grid container, so we can
make use of the ability to layer items on
the grid.
https://codepen.io/rachelandrew/pen/xLePZY
42. .wrapper {
display: grid;
grid-template-columns: min-content 1fr 1fr;
grid-gap: 20px;
}
min-content
Roughly, the inline size that would fit
around its contents if all soft wrap
opportunities within the box were
taken.
https://codepen.io/rachelandrew/pen/xLejpK
44. .wrapper {
display: grid;
grid-template-columns: max-content 1fr 1fr;
grid-gap: 20px;
}
max-content
Usually the narrowest inline size it could
take while fitting around its contents
if none of the soft wrap opportunities
within the box were taken.
https://codepen.io/rachelandrew/pen/KvYRZB
46. .wrapper {
display: grid;
grid-template-columns: fit-
content(200px) fit-content(200px) 1fr;
grid-gap: 20px;
}
fit-content
If the available space in a given axis is
finite, equal to min(max-content size,
max(min-content size,stretch-fit size)).
Otherwise, equal to the max-content
size in that axis.
https://codepen.io/rachelandrew/pen/NvLvRG
49. .grid > div {
float: left;
}
.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(3, auto);
width: 500px;
}
.grid > div {
// I’m now a grid item, and act as if I
am not floated!
}
Float & clear properties
Have no effect on a grid item. You can
float an item for old browsers then try it
into a grid item for new ones.
https://codepen.io/rachelandrew/pen/NvmMOM
50. .grid > div {
display: inline-block;
}
.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(3, auto);
width: 500px;
}
.grid > div {
// I’m now a grid item, inline-block
behaviour such as preserving white space is
gone.
}
Display: inline-block
An inline-block item that becomes a grid
item loses any attributes that would
apply when it was inline-block.
https://codepen.io/rachelandrew/pen/LjvmXG
51. .grid > div {
display: table-cell;
vertical-align: top;
}
.grid {
border-spacing: 10px;
}
.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(3, auto);
width: 500px;
}
Display: table
Anonymous element creation does not
happen if an item with display: table-cell
or another table-* property becomes a
grid item.
https://codepen.io/rachelandrew/pen/OjGZaO
52. .grid > div {
display: inline-block;
vertical-align: top;
}
.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(3, auto);
width: 500px;
}
vertical-align
Can be used as a fallback for the Box
Alignment properties in inline-block or
table layout and stops applying when
the item becomes a grid item.
https://codepen.io/rachelandrew/pen/NvmMEM
53. .grid {
column-count: 3;
width: 500px;
}
.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(3, auto);
}
Multiple-column layout
Can be used as a fallback for some grid
layouts, and the column-* properties
cease to apply once the container
becomes a grid container.
https://codepen.io/rachelandrew/pen/MvRGzL
54. .grid {
display: flex;
align-items: center;
width: 500px;
height: 200px;
border: 1px dotted #694486;
}
.grid > div {
flex: 1;
}
.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(3, auto);
}
Flex Layout
Flexbox can also be used as a fallback,
making things easier as they both use
the Box Alignment properties.
https://codepen.io/rachelandrew/pen/MvRGzx
55. Use the cascade. Write code for old
browsers then code for new browsers.
56. .grid > div {
float: left;
width: 33.333%;
}
.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(3, 1fr);
width: 500px;
}
A problem!
The width set to make the floated item
the right size to fit into our layout will be
interpreted on the grid item as a
percentage of the grid track.
58. .grid > div {
float: left;
width: 33.333%;
}
@supports (display: grid) {
.grid > div {
width: auto;
}
}
.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(3, 1fr);
width: 500px;
}
Feature Queries
Test for support of a property and value.
Inside the Feature Query add code only
for browsers that claim support.
https://codepen.io/rachelandrew/pen/ayxGPz
63. .grid {
display: grid;
max-width: 960px;
margin: 0 auto;
grid-template-columns: repeat(3, 1fr);
grid-gap: 20px;
}
CSS Grid
Creating a three column layout on the
parent element with fr units.
65. .card {
display: flex;
flex-direction: column;
}
.card .inner {
flex: 1;
}
Make the card a flex item
Allow the inner to grow, it pushes the
footer down to the bottom of the cards
https://codepen.io/rachelandrew/pen/XgdydE
68. .card {
border: 4px solid rgb(24,154,153);
background-color: #fff;
grid-row: auto / span 4;
display: subgrid;
}
display: subgrid
The card is a direct child of the grid so
needs to span four rows of the grid to
make room for the four rows in the
subgridded internals.
display: subgrid means the card now
uses the tracks of the parent grid.
https://codepen.io/rachelandrew/pen/ZyWmVM
83. Grid Resources
▸ Visit Grid by Example for worked examples, patterns with fallbacks, and a free video
tutorial: https://gridbyexample.com
▸ I created a huge set of guides for MDN:
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout
▸ Over 5 years of grid thoughts on my site at:
https://rachelandrew.co.uk/archives/tag/cssgrid
▸ GridBugs! I’m collecting and trying to get fixed interop issues:
https://github.com/rachelandrew/gridbugs