Nabu is a data publishing system created by Martin Blais that allows users to store and share various types of personal information across simple text files, including bookmarks, contacts, blog posts, and notes. The system evolved from the author's own use of plain text files over many years to store bookmarks, an address book, blog entries, and notes on various topics. The data is organized using conventions like categories, dates, and locations and can be accessed from any text editor or browser.
Presentation given at Barcamp Chiang Mai 4 on the basics of Semantic Web. A simple introduction with examples, aimed for those with a little Web development experience.
Raises questions about the true identity of Tim Berners-Lee.
This document provides information about the speaker, including their name, contact information, work experience, projects, and interests. They are a security researcher who previously worked as a VA and now works for HP Application Security Center. They enjoy talking about hacking and drinking beer and gin and tonics. The document also outlines an upcoming workshop they will be conducting on web hacking tools and techniques.
Using multi-tenant WordPress to simplify developmentcoderaaron
Do you want to do development on multiple sites with different setups concurrently, but do not have to update core in each install every time a new version is released? Are you developing for a single site environment, but don not want to spin up a new development server for every site so you do not have to worry about multisite quirks?
If you answered yes to either of these questions, a multi-tenant WordPress install is just what you need!
Come learn how I adapted Cliff Seal's talk from WPCampus 2016 into a simple VVV site that allows you to develop for as many sites as you want while still maintaining the flexibility of having a separate directory structure and separate databases (not just tables) and still only have to update plugins/themes/core once for all of your sites.
The document discusses hypertext, multimedia, and the World Wide Web. It covers understanding hypertext and how it differs from linear text by allowing non-sequential navigation through links. It also discusses finding information on the web using structures like navigation, bookmarks, and search engines. Finally, it outlines various technologies involved in the web like HTML, protocols, servers, and browsers that allow for the delivery of web content.
A talk about the gap between theory and practice with W3C Semantic Web and Dublin Core standards, and how the DC Tools Community can help collectively reduce the cost of that gap.
Given as part of the DC Tools Community workshop at LIDA2009 in Zadar, Croatia.
The document discusses the importance of making content machine-readable so that it can be reused and accessed in different ways. It provides 10 reasons why organizations should adopt practices that allow computer systems to access and interpret their data, such as using microformats, RSS feeds, and APIs. These practices free up content so it is no longer locked into single websites and applications, making it easier to reuse and repurpose. The document advocates a focus on content over technology and argues that embracing machine-readable data will lead to benefits like lower costs, more ways to visualize and access content, and increased traffic over time.
The notion of allowing access to your website content and data via API's and other machine readable means is well embedded in geek circles.
This presentation aims to look at the non-technical reasons why these approaches are a good idea, arguing that it is time for Machine Readable Data (MRD) approaches to be better communicated to content owners, budget holders and other non-technical stakeholders.
How to create a personal knowledge graph IBM Meetup Big Data Madrid 2017Juantomás García Molina
This document discusses how to create a personal knowledge graph. It begins by explaining why a knowledge graph is needed, as the speaker manages a lot of information from different sources and needs a way to organize and query it. It then discusses how to build a knowledge graph using concepts like explicit and implicit information, graph databases, and collective intelligence. The speaker advocates using cloud services, containers, notebooks and machine learning to build the knowledge graph. The first steps proposed are to name the project "Boosterme" and start a GitHub repository.
Presentation given at Barcamp Chiang Mai 4 on the basics of Semantic Web. A simple introduction with examples, aimed for those with a little Web development experience.
Raises questions about the true identity of Tim Berners-Lee.
This document provides information about the speaker, including their name, contact information, work experience, projects, and interests. They are a security researcher who previously worked as a VA and now works for HP Application Security Center. They enjoy talking about hacking and drinking beer and gin and tonics. The document also outlines an upcoming workshop they will be conducting on web hacking tools and techniques.
Using multi-tenant WordPress to simplify developmentcoderaaron
Do you want to do development on multiple sites with different setups concurrently, but do not have to update core in each install every time a new version is released? Are you developing for a single site environment, but don not want to spin up a new development server for every site so you do not have to worry about multisite quirks?
If you answered yes to either of these questions, a multi-tenant WordPress install is just what you need!
Come learn how I adapted Cliff Seal's talk from WPCampus 2016 into a simple VVV site that allows you to develop for as many sites as you want while still maintaining the flexibility of having a separate directory structure and separate databases (not just tables) and still only have to update plugins/themes/core once for all of your sites.
The document discusses hypertext, multimedia, and the World Wide Web. It covers understanding hypertext and how it differs from linear text by allowing non-sequential navigation through links. It also discusses finding information on the web using structures like navigation, bookmarks, and search engines. Finally, it outlines various technologies involved in the web like HTML, protocols, servers, and browsers that allow for the delivery of web content.
A talk about the gap between theory and practice with W3C Semantic Web and Dublin Core standards, and how the DC Tools Community can help collectively reduce the cost of that gap.
Given as part of the DC Tools Community workshop at LIDA2009 in Zadar, Croatia.
The document discusses the importance of making content machine-readable so that it can be reused and accessed in different ways. It provides 10 reasons why organizations should adopt practices that allow computer systems to access and interpret their data, such as using microformats, RSS feeds, and APIs. These practices free up content so it is no longer locked into single websites and applications, making it easier to reuse and repurpose. The document advocates a focus on content over technology and argues that embracing machine-readable data will lead to benefits like lower costs, more ways to visualize and access content, and increased traffic over time.
The notion of allowing access to your website content and data via API's and other machine readable means is well embedded in geek circles.
This presentation aims to look at the non-technical reasons why these approaches are a good idea, arguing that it is time for Machine Readable Data (MRD) approaches to be better communicated to content owners, budget holders and other non-technical stakeholders.
How to create a personal knowledge graph IBM Meetup Big Data Madrid 2017Juantomás García Molina
This document discusses how to create a personal knowledge graph. It begins by explaining why a knowledge graph is needed, as the speaker manages a lot of information from different sources and needs a way to organize and query it. It then discusses how to build a knowledge graph using concepts like explicit and implicit information, graph databases, and collective intelligence. The speaker advocates using cloud services, containers, notebooks and machine learning to build the knowledge graph. The first steps proposed are to name the project "Boosterme" and start a GitHub repository.
What is quality code? From cruft to craftNick DeNardis
No one sets out to create crufty code, but too often the pressure to "push it out the door and we'll fix it later" gets the best of us all. Before you know it, it's three projects later, the sun is still shining and you're still getting a paycheck. So where is the incentive to go back and clean under the rug?
Poor core quality isn't just a developer problem, either. It bleeds into team moral, deters decision agility, and ultimately prevents team members from getting into flow.
Quality code isn't something that requires a complete rewrite either (which is likely impossible), but can be accomplished with style guides, code reviews and a devotion to team investment time.
The pressure to ship will always be there, but starting (or maintaining) projects with an agreed upon foundation alleviates developers and designers from making potentially hundreds of decisions each day. This leaves room for the decisions that actually matter.
Learn how to transform your team, regardless of your position, into a lean, mean standards machine. Develop a multi-tier style guide, workflow and practices that focus on knowledge and consensus building. Eliminate the mundane decisions and allow the team to focus on its craft.
Cognition as Material: personality prostheses and other storiesAlan Dix
- The document discusses using bad ideas as a way to practice idea generation and critique without judgment, allowing for larger jumps in the design space. It also talks about developing "personality prostheses" as tools to help people leverage their natural strengths rather than trying to change their inherent personalities. The key points are that we should celebrate individual differences and look for ways to help people achieve goals given who they are, not try to change who they are.
Consuming Linked Data by Humans - WWW2010Juan Sequeda
This document discusses different ways that humans can consume linked data on the web. It describes HTML browsers that can render RDFa embedded in web pages. It also discusses linked data browsers that allow users to view RDF triples in a tabular format. Faceted browsers provide a way to explore linked data through interactive facets. On-the-fly mashups dynamically combine data from multiple sources. The document encourages the development of new and innovative interfaces for interacting with linked data.
A Drupal case study on developing the Australian Broadcasting Corporation's Dig Music website. I gave this talk at Drupal Downunder #ddu2011 in Brisbane, Australia (Jan 23, 2011).
I discuss how the Semantic Web was used to create a real time snapshot of a musical artist that is pulled live from the digital radio broadcast.
I also talk about performance issues we encountered and ways that they were overcome.
Big(D)esign 2011: Portfolios for the Creative ProfessionalLouellen Coker
Discussion of how creative professionals can leverage their portfolios and social presence to get the job or contract they want. Presented by Louellen Coker (@ContentNotes) and J Schuh (@texasanimator) at Big(D)esign 2011.
Are you interested in Machine Learning, Natural Language Processing (NLP), Deep Learning and similar stuff? Have a look at various applications of the "smart technologies". Get inspired by online demos, blogs, tools and more. The presentation "Demo Meetup" was used (in a slightly modified version) during my talk at Machine Learning Meetup at Prague. Several links I had got after the talk were added to the slides.
Grok Drupal (7) Theming (presented at DrupalCon San Francisco)Laura Scott
This is now DEPRECATED. Please see Grok Drupal (7) Theming, February 11 Update
These are slides for my presentation at DrupalCon San Francisco, April 2010.
There is <a>audio/video of the presentation at the DCSF website</a>.
My apologies for the extraneous slides -- that's how Slideshare converted my Keynote file.
TPDL2013 tutorial linked data for digital libraries 2013-10-22jodischneider
Tutorial on Linked Data for Digital Libraries, given by me, Uldis Bojars, and Nuno Lopes in Valletta, Malta at TPDL2013 on 2013-10-22.
http://tpdl2013.upatras.gr/tut-lddl.php
This half-day tutorial is aimed at academics and practitioners interested in creating and using Library Linked Data. Linked Data has been embraced as the way to bring complex information onto the Web, enabling discoverability while maintaining the richness of the original data. This tutorial will offer participants an overview of how digital libraries are already using Linked Data, followed by a more detailed exploration of how to publish, discover and consume Linked Data. The practical part of the tutorial will include hands-on exercises in working with Linked Data and will be based on two main case studies: (1) linked authority data and VIAF; (2) place name information as Linked Data.
For practitioners, this tutorial provides a greater understanding of what Linked Data is, and how to prepare digital library materials for conversion to Linked Data. For researchers, this tutorial updates the state of the art in digital libraries, while remaining accessible to those learning Linked
Data principles for the first time. For library and iSchool instructors, the tutorial provides a valuable introduction to an area of growing interest for information organization curricula. For digital library project managers, this tutorial provides a deeper understanding of the principles of Linked Data, which is needed for bespoke projects that involve data mapping and the reuse of existing metadata models.
I presented this paper at iPres 2018. Here, we introduce the Off-Topic Memento Toolkit, used to detect versions of web pages that have drifted off topic from the general topic of a collection.
World wide web and Hyper Text Markup LanguageJayaprasanna4
The document discusses hypertext, multimedia, and the World Wide Web. It covers understanding hypertext and how it differs from linear text through its non-linear structure and links. It also discusses finding information on the web through navigation, structure, bookmarks and search engines. Finally, it outlines some of the underlying web technologies including protocols, servers, clients and networking that allow information to be delivered and accessed on the internet.
In 2006 Simon wrote a successful book about learning CSS. Building the web wasn’t easy back then, but CSS was pretty basic. Simon also used to talk about systems a lot, but didn’t have many answers. Fast-forward to 2014 and everything has changed; that CSS book is both useless and wrong, and systems inform much of what we build. This talk will look at how the landscape changed for front-end designers, and how we must think more holistically about the scope of our projects. With practical examples he’ll explore the tools, methodologies and systems that reenergised him and helped make sense of the whole darned mess.
Semantic Web: A web that is not the WebBruce Esrig
1. The document discusses the Semantic Web and semantics, describing semantics as constructing formal explanations for how things work and modeling concepts and relationships.
2. It provides examples of semantic modeling using FOAF (Friend of a Friend) to represent relationships between people.
3. Semantic technologies can help websites expose and organize data about content and enable new ways for users to access information based on concepts.
Topsy Turvy Design: Adapting your design process for adaptive layoutRich Quick
The document discusses adapting the traditional web design process for adaptive or responsive design. It notes that the traditional process is very print-focused and not suited for modern web design. It argues that web designers are constantly asked to change and learn new techniques. However, adaptive design only requires learning one new thing - media queries. From a technical perspective, it is relatively easy to implement once media queries are understood. The document provides tips on how to take a traditional design process and make it adaptive by starting from the outside and working in, and coding from the inside out. It also addresses issues with supporting older versions of Internet Explorer.
Drew Gorton gave a presentation on Drupal to introduce attendees to its key concepts. He began with an overview of Drupal as an open-source content management system widely adopted by organizations. He then covered Drupal's worldview of organizing content over pages and building sites modularly with configurations, modules, and themes. The presentation defined Drupal's core terminology and components. It also outlined common workflows, the large global community supporting Drupal, and directions for getting help with Drupal.
Understand how to incorporate blogging into your classroom and improve writing along with some tricks from teacher and edublogger Vicki Davis @coolcatteacher.
The document provides instructions for installing the Drush command line shell and scripting interface for Drupal. It begins by having users change directories to where they want Drush to be installed, then use wget to download the Drush tarball file from the Drupal.org website. Further instructions will unpack and configure Drush on the system.
This document appears to be slides from a presentation about contributing to Drupal. It discusses issues, patches, modules and themes, Drupal core, and initiatives. It encourages participation in core mentoring hours and sprints. Useful links are provided and credits are given to others who contributed slides. The presentation aims to get more people involved in contributing to Drupal in various ways, not just coding.
This session is for people who are relatively new to Drupal and would like an orientation (or refresher) on the concepts, jargon and community involved in learning Drupal.
We’ll introduce All the Big Things at a basic level. Attendees will come away familiar with the Drupal landscape and with recommendations for specific sessions to attend to dive deeper into key concepts and particular topics.
Topics specifically covered include:
Drupal from 50,000 Feet
Drupal's Worldview
Drupal's Terminology (Content types, Nodes, Views, Modules, Blocks, etc.)
Brief Orientation to Drupal Core
Brief Orientation to Drupal Add-ons (Modules, Themes, etc.)
Common Workflows for Site Builders and Editors
Brief Orientation to the Drupal Community
Getting Help with Drupal
There will also be lots of time for Questions and Answers!
There are many fast data stores, and then there is Redis. Learn about this excellent NoSQL solution that is a powerful in-memory key-value store. Learn how to solve traditionally difficult problems with Redis, and how you can benefit from 100,000 reads/writes a second on commodity hardware. We’ll discuss how and when to use the different datatypes and commands to fit your needs. We’ll discuss the different PHP libraries with their pros and cons. We’ll then show some live examples on how to use it for a chatroom, and how Redis manages a billion data points for our dating matching system. Finally, we’ll discuss some of the upcoming features in the near future, such as clustering and scripting.
MAG!C Presentation: Portfolios for Creative ProfessionalsLouellen Coker
This document discusses professional portfolios for creative professionals. It provides tips on determining what to include in a portfolio, such as intriguing work that showcases skills and experience. Examples of portfolio formats include traditional hard copies and virtual options like websites and social media. The document also offers best practices like keeping the portfolio simple, organized and succinct. It provides case studies of different portfolio types and emphasizes selecting relevant, high-quality projects to leverage for finding work.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
What is quality code? From cruft to craftNick DeNardis
No one sets out to create crufty code, but too often the pressure to "push it out the door and we'll fix it later" gets the best of us all. Before you know it, it's three projects later, the sun is still shining and you're still getting a paycheck. So where is the incentive to go back and clean under the rug?
Poor core quality isn't just a developer problem, either. It bleeds into team moral, deters decision agility, and ultimately prevents team members from getting into flow.
Quality code isn't something that requires a complete rewrite either (which is likely impossible), but can be accomplished with style guides, code reviews and a devotion to team investment time.
The pressure to ship will always be there, but starting (or maintaining) projects with an agreed upon foundation alleviates developers and designers from making potentially hundreds of decisions each day. This leaves room for the decisions that actually matter.
Learn how to transform your team, regardless of your position, into a lean, mean standards machine. Develop a multi-tier style guide, workflow and practices that focus on knowledge and consensus building. Eliminate the mundane decisions and allow the team to focus on its craft.
Cognition as Material: personality prostheses and other storiesAlan Dix
- The document discusses using bad ideas as a way to practice idea generation and critique without judgment, allowing for larger jumps in the design space. It also talks about developing "personality prostheses" as tools to help people leverage their natural strengths rather than trying to change their inherent personalities. The key points are that we should celebrate individual differences and look for ways to help people achieve goals given who they are, not try to change who they are.
Consuming Linked Data by Humans - WWW2010Juan Sequeda
This document discusses different ways that humans can consume linked data on the web. It describes HTML browsers that can render RDFa embedded in web pages. It also discusses linked data browsers that allow users to view RDF triples in a tabular format. Faceted browsers provide a way to explore linked data through interactive facets. On-the-fly mashups dynamically combine data from multiple sources. The document encourages the development of new and innovative interfaces for interacting with linked data.
A Drupal case study on developing the Australian Broadcasting Corporation's Dig Music website. I gave this talk at Drupal Downunder #ddu2011 in Brisbane, Australia (Jan 23, 2011).
I discuss how the Semantic Web was used to create a real time snapshot of a musical artist that is pulled live from the digital radio broadcast.
I also talk about performance issues we encountered and ways that they were overcome.
Big(D)esign 2011: Portfolios for the Creative ProfessionalLouellen Coker
Discussion of how creative professionals can leverage their portfolios and social presence to get the job or contract they want. Presented by Louellen Coker (@ContentNotes) and J Schuh (@texasanimator) at Big(D)esign 2011.
Are you interested in Machine Learning, Natural Language Processing (NLP), Deep Learning and similar stuff? Have a look at various applications of the "smart technologies". Get inspired by online demos, blogs, tools and more. The presentation "Demo Meetup" was used (in a slightly modified version) during my talk at Machine Learning Meetup at Prague. Several links I had got after the talk were added to the slides.
Grok Drupal (7) Theming (presented at DrupalCon San Francisco)Laura Scott
This is now DEPRECATED. Please see Grok Drupal (7) Theming, February 11 Update
These are slides for my presentation at DrupalCon San Francisco, April 2010.
There is <a>audio/video of the presentation at the DCSF website</a>.
My apologies for the extraneous slides -- that's how Slideshare converted my Keynote file.
TPDL2013 tutorial linked data for digital libraries 2013-10-22jodischneider
Tutorial on Linked Data for Digital Libraries, given by me, Uldis Bojars, and Nuno Lopes in Valletta, Malta at TPDL2013 on 2013-10-22.
http://tpdl2013.upatras.gr/tut-lddl.php
This half-day tutorial is aimed at academics and practitioners interested in creating and using Library Linked Data. Linked Data has been embraced as the way to bring complex information onto the Web, enabling discoverability while maintaining the richness of the original data. This tutorial will offer participants an overview of how digital libraries are already using Linked Data, followed by a more detailed exploration of how to publish, discover and consume Linked Data. The practical part of the tutorial will include hands-on exercises in working with Linked Data and will be based on two main case studies: (1) linked authority data and VIAF; (2) place name information as Linked Data.
For practitioners, this tutorial provides a greater understanding of what Linked Data is, and how to prepare digital library materials for conversion to Linked Data. For researchers, this tutorial updates the state of the art in digital libraries, while remaining accessible to those learning Linked
Data principles for the first time. For library and iSchool instructors, the tutorial provides a valuable introduction to an area of growing interest for information organization curricula. For digital library project managers, this tutorial provides a deeper understanding of the principles of Linked Data, which is needed for bespoke projects that involve data mapping and the reuse of existing metadata models.
I presented this paper at iPres 2018. Here, we introduce the Off-Topic Memento Toolkit, used to detect versions of web pages that have drifted off topic from the general topic of a collection.
World wide web and Hyper Text Markup LanguageJayaprasanna4
The document discusses hypertext, multimedia, and the World Wide Web. It covers understanding hypertext and how it differs from linear text through its non-linear structure and links. It also discusses finding information on the web through navigation, structure, bookmarks and search engines. Finally, it outlines some of the underlying web technologies including protocols, servers, clients and networking that allow information to be delivered and accessed on the internet.
In 2006 Simon wrote a successful book about learning CSS. Building the web wasn’t easy back then, but CSS was pretty basic. Simon also used to talk about systems a lot, but didn’t have many answers. Fast-forward to 2014 and everything has changed; that CSS book is both useless and wrong, and systems inform much of what we build. This talk will look at how the landscape changed for front-end designers, and how we must think more holistically about the scope of our projects. With practical examples he’ll explore the tools, methodologies and systems that reenergised him and helped make sense of the whole darned mess.
Semantic Web: A web that is not the WebBruce Esrig
1. The document discusses the Semantic Web and semantics, describing semantics as constructing formal explanations for how things work and modeling concepts and relationships.
2. It provides examples of semantic modeling using FOAF (Friend of a Friend) to represent relationships between people.
3. Semantic technologies can help websites expose and organize data about content and enable new ways for users to access information based on concepts.
Topsy Turvy Design: Adapting your design process for adaptive layoutRich Quick
The document discusses adapting the traditional web design process for adaptive or responsive design. It notes that the traditional process is very print-focused and not suited for modern web design. It argues that web designers are constantly asked to change and learn new techniques. However, adaptive design only requires learning one new thing - media queries. From a technical perspective, it is relatively easy to implement once media queries are understood. The document provides tips on how to take a traditional design process and make it adaptive by starting from the outside and working in, and coding from the inside out. It also addresses issues with supporting older versions of Internet Explorer.
Drew Gorton gave a presentation on Drupal to introduce attendees to its key concepts. He began with an overview of Drupal as an open-source content management system widely adopted by organizations. He then covered Drupal's worldview of organizing content over pages and building sites modularly with configurations, modules, and themes. The presentation defined Drupal's core terminology and components. It also outlined common workflows, the large global community supporting Drupal, and directions for getting help with Drupal.
Understand how to incorporate blogging into your classroom and improve writing along with some tricks from teacher and edublogger Vicki Davis @coolcatteacher.
The document provides instructions for installing the Drush command line shell and scripting interface for Drupal. It begins by having users change directories to where they want Drush to be installed, then use wget to download the Drush tarball file from the Drupal.org website. Further instructions will unpack and configure Drush on the system.
This document appears to be slides from a presentation about contributing to Drupal. It discusses issues, patches, modules and themes, Drupal core, and initiatives. It encourages participation in core mentoring hours and sprints. Useful links are provided and credits are given to others who contributed slides. The presentation aims to get more people involved in contributing to Drupal in various ways, not just coding.
This session is for people who are relatively new to Drupal and would like an orientation (or refresher) on the concepts, jargon and community involved in learning Drupal.
We’ll introduce All the Big Things at a basic level. Attendees will come away familiar with the Drupal landscape and with recommendations for specific sessions to attend to dive deeper into key concepts and particular topics.
Topics specifically covered include:
Drupal from 50,000 Feet
Drupal's Worldview
Drupal's Terminology (Content types, Nodes, Views, Modules, Blocks, etc.)
Brief Orientation to Drupal Core
Brief Orientation to Drupal Add-ons (Modules, Themes, etc.)
Common Workflows for Site Builders and Editors
Brief Orientation to the Drupal Community
Getting Help with Drupal
There will also be lots of time for Questions and Answers!
There are many fast data stores, and then there is Redis. Learn about this excellent NoSQL solution that is a powerful in-memory key-value store. Learn how to solve traditionally difficult problems with Redis, and how you can benefit from 100,000 reads/writes a second on commodity hardware. We’ll discuss how and when to use the different datatypes and commands to fit your needs. We’ll discuss the different PHP libraries with their pros and cons. We’ll then show some live examples on how to use it for a chatroom, and how Redis manages a billion data points for our dating matching system. Finally, we’ll discuss some of the upcoming features in the near future, such as clustering and scripting.
MAG!C Presentation: Portfolios for Creative ProfessionalsLouellen Coker
This document discusses professional portfolios for creative professionals. It provides tips on determining what to include in a portfolio, such as intriguing work that showcases skills and experience. Examples of portfolio formats include traditional hard copies and virtual options like websites and social media. The document also offers best practices like keeping the portfolio simple, organized and succinct. It provides case studies of different portfolio types and emphasizes selecting relevant, high-quality projects to leverage for finding work.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
Discover top-tier mobile app development services, offering innovative solutions for iOS and Android. Enhance your business with custom, user-friendly mobile applications.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
What is an RPA CoE? Session 1 – CoE VisionDianaGray10
In the first session, we will review the organization's vision and how this has an impact on the COE Structure.
Topics covered:
• The role of a steering committee
• How do the organization’s priorities determine CoE Structure?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
1. What is Nabu?
A Data Publishing System Using ReST
Martin Blais
Furius Enterprise
PyCon 2006
(Dallas, Texas, 23-26 february 2006)
2. Introduction
Nabu is not. . .
• . . . a Wiki
• . . . blogging software
• . . . a personal information manager
• . . . a document publishing tool
• . . . a generic data entry system
• . . . a desktop search system
It’s a little bit of all these things.
So I’m going to take a long winding road to introduce this
project via a set of examples using personal information
management.
This will be an ode to the power and elegance of simple text
files. . .
3. 1993 - Bookmarks
• Using Xmosaic
• Creating lots of bookmarks lots of sites
(we did not have Google)
A script was born, with typical input like this in a single text file:
Raymond Hettinger’s photography
http://www.knowyourboston.com
photography, boston, sexy girls
• Then came Netscape, then came Mozilla, then came IE
. . . with corresponding converters.
• Eventually came Firefox and we were happy ever after. . .
. . . or maybe not?
4. 1997 - Address Book
• I was using “paper” technology to store my contact info -
little booklets. . .
• Then I used Netscape to store my contacts in LDIF
• One day, an old nroff user showed me this fabulous
“ascii” technology to store his contact info:
n: Librairie Michel Fortin inc.
a: 3714 St-Denis
p: +1.514.849.5719
(He was a vi user)
Using this and “paragraph-grep” from a shell, I lived happily
ever after. . .
. . . or have I?
5. 2000 - Blog
Those were the days before blogs were called blogs. . .
• Pat Jennings/Synaptic - cycling through China
• Phil Greenspun - photo.net
• I’m inspired! So I write . . .
. . . another script
• It takes its input in fashionable XML (it was truly awful)
• So later I converted it to take input from . . . simple text files
• Eventually I discovered ReStructuredText and converted
my system to use it
And I was happy with static HTML files forever. . . . . . not!
6. 2000 - Blog
Those were the days before blogs were called blogs. . .
• Pat Jennings/Synaptic - cycling through China
• Phil Greenspun - photo.net
• I’m inspired! So I write . . .
. . . another script
• It takes its input in fashionable XML (it was truly awful)
• So later I converted it to take input from . . . simple text files
• Eventually I discovered ReStructuredText and converted
my system to use it
And I was happy with static HTML files forever. . . . . . not!
7. 2002 - The Art of Taking Notes
I’m getting a little bit old now, I’m losing bits of memory. . .
But the older become smarter and now I just know in advance
that I will forget. When I start a new task, I invariably start a
new text file to take notes on it.
This is great, because:
• I can grep the files
• I can more easily interrupt my work
(there is a memory of the task)
• I can put URLs in context, in these files, rather than in a
global bookmarks file
8. 2002 - The Art of Taking Notes
Wikis Suck (For This Purpose)
I would like to share many of these short technical documents
with other people . . . naturally, the idea of using Wikis come to
mind.
But wikis suck for jotting down notes. . .
• Anything but the most trivial topic title looks horrible:
BrazilTravelNotes
• The editor capabilities of browsers are inadequate
• Who has never lost a file being edited in a TEXTAREA?
• I’m a programmer, I want powerful editing! I live in Emacs
• I want to be able to save my files without having to submit
9. 2002 - The Art of Taking Notes
Wikis Suck (For This Purpose)
I would like to share many of these short technical documents
with other people . . . naturally, the idea of using Wikis come to
mind.
But wikis suck for jotting down notes. . .
• Anything but the most trivial topic title looks horrible:
BrazilTravelNotes
• The editor capabilities of browsers are inadequate
• Who has never lost a file being edited in a TEXTAREA?
• I’m a programmer, I want powerful editing! I live in Emacs
• I want to be able to save my files without having to submit
10. Mixed Data Example: Travel Files
Lots of scattered notes files. . .
One example of these notes files are my travel files, they
contains many different types of things:
• They contain a list of things to do for a trip, personal notes,
itineraries (documents)
• They contain addresses of people and places to visit
(contact infos)
• They contain URLs of related websites (bookmarks)
• They contain references to books and articles
(publications)
11. Mixed Data Example: Travel Files
====================
Trip to Brazil
====================
:Id: brazil-trip-notes
:Category: Travel
:Disclosure: public
Itinerary Proposals
===================
Jan 25
* Fly to Salvador da Bahia, Brazil
Jan 26
* Drink Caipirinhas
12. Mixed Data Example: Travel Files
Visa
====
* :n: Consulat général du Brésil À Montréal
:a: 2000, rue Mansfield, bureau 1700, Montréal (QC) H3A 3A5
:f: (514) 499-3963
:e: vistos@consbrasmontreal.org
:w: http://www.consbrasmontreal.org/
Vaccinations
============
http://www.mdtravelhealth.com/destinations/samerica/brazil.html
Routine immunizations
All travelers should be up-to-date on tetanus-diphtheria,
measles-mumps-rubella, polio, and varicella immunizations
13. Data Across Documents
My data is scattered across the set of all my documents
=:Date: 2005-10-10
:Location: Montreal, Canada
blablbalbalba alskjd hdk hueh duehie hdhshdshdshidhsd
shdh bs dhsud huhw ue hehwheuw hhpu hs uhduhs dhus
dhsdhushd sihdhsdiuhsidhis hdsh
* :n: Someone
:e: someone@furius.ca
:a: Somewhere .s ds ds hd hsd hsudshdushd hs
jdf fdfueuhrehdhfhdh fdhf dlfh dhfk hdkjf lhdkjfhd fkjhd
hfd uf hdufdhfu ehue uw hewhod jsjoiuvhfdhgfhg h
fd hfh uehrue hruehd hfuohd dhfudhuf hh duf hidhfdiu
dfdhfudhh.
http://somewhere.comj sj wjew
jewiujw ehjw ehuw heuwhe w7eh87h ehw hs shdhsd sh
ds dhsu dush sn xkl dsj d fud hewud ewhe hd s jj sjfsjds
sd ds hds hds.
d fduifudhfhdfdfdfdfd fhd fhd.
http:somewhere.comjwew ewjewewjew
http:sid jsijds jdwje wjewijjdsdjsjdsjdj
w jewjew jes jdshudhs udd h h h ehr rhe hr ehr eh
rhe re rhe ehr uwhe wh8h2h82 whsw 32nid
hdsh shds8 d8hw8 ew.
=======================
My Document blablablablbal blabla
=======================
:Date: 2005-10-10
:Location: Montreal, Canada
blablbalbalba alskjd hdk hueh duehie hdhshdshdshidhsd
shdh bs dhsud huhw ue hehwheuw hhpu hs uhduhs dhus
dhsdhushd sihdhsdiuhsidhis hdsh
* :n: Someone
:e: someone@furius.ca
:a: Somewhere .s ds ds hd hsd hsudshdushd hs
jdf fdfueuhrehdhfhdh fdhf dlfh dhfk hdkjf lhdkjfhd fkjhd
hfd uf hdufdhfu ehue uw hewhod jsjoiuvhfdhgfhg h
fd hfh uehrue hruehd hfuohd dhfudhuf hh duf hidhfdiu
dfdhfudhh.
http://somewhere.comj sj wjew
jewiujw ehjw ehuw heuwhe w7eh87h ehw hs shdhsd sh
ds dhsu dush sn xkl dsj d fud hewud ewhe hd s jj sjfsjds
sd ds hds hds.
d fduifudhfhdfdfdfdfd fhd fhd.
http:somewhere.comjwew ewjewewjew
http:sid jsijds jdwje wjewijjdsdjsjdsjdj
w jewjew jes jdshudhs udd h h h ehr rhe hr ehr eh
rhe re rhe ehr uwhe wh8h2h82 whsw 32nid
hdsh shds8 d8hw8 ew.
=:Date: 2005-10-10
:Location: Montreal, Canada
blablbalbalba alskjd hdk hueh duehie hdhshdshdshidhsd
shdh bs dhsud huhw ue hehwheuw hhpu hs uhduhs dhus
dhsdhushd sihdhsdiuhsidhis hdsh
* :n: Someone
:e: someone@furius.ca
:a: Somewhere .s ds ds hd hsd hsudshdushd hs
jdf fdfueuhrehdhfhdh fdhf dlfh dhfk hdkjf lhdkjfhd fkjhd
hfd uf hdufdhfu ehue uw hewhod jsjoiuvhfdhgfhg h
fd hfh uehrue hruehd hfuohd dhfudhuf hh duf hidhfdiu
dfdhfudhh.
http://somewhere.comj sj wjew
jewiujw ehjw ehuw heuwhe w7eh87h ehw hs shdhsd sh
ds dhsu dush sn xkl dsj d fud hewud ewhe hd s jj sjfsjds
sd ds hds hds.
d fduifudhfhdfdfdfdfd fhd fhd.
=======================
My Document blablablablbal blabla
=======================
:Date: 2005-10-10
:Location: Montreal, Canada
blablbalbalba alskjd hdk hueh duehie hdhshdshdshidhsd
shdh bs dhsud huhw ue hehwheuw hhpu hs uhduhs dhus
dhsdhushd sihdhsdiuhsidhis hdsh
* :n: Someone
:e: someone@furius.ca
:a: Somewhere .s ds ds hd hsd hsudshdushd hs
jdf fdfueuhrehdhfhdh fdhf dlfh dhfk hdkjf lhdkjfhd fkjhd
hfd uf hdufdhfu ehue uw hewhod jsjoiuvhfdhgfhg h
fd hfh uehrue hruehd hfuohd dhfudhuf hh duf hidhfdiu
dfdhfudhh.
http://somewhere.comj sj wjew
jewiujw ehjw ehuw heuwhe w7eh87h ehw hs shdhsd sh
ds dhsu dush sn xkl dsj d fud hewud ewhe hd s jj sjfsjds
sd ds hds hds.
d fduifudhfhdfdfdfdfd fhd fhd.
http:somewhere.comjwew ewjewewjew
http:sid jsijds jdwje wjewijjdsdjsjdsjdj
w jewjew jes jdshudhs udd h h h ehr rhe hr ehr eh
rhe re rhe ehr uwhe wh8h2h82 whsw 32nid
hdsh shds8 d8hw8 ew.
=:Date: 2005-10-10
:Location: Montreal, Canada
blablbalbalba alskjd hdk hueh duehie hdhshdshdshidhsd
shdh bs dhsud huhw ue hehwheuw hhpu hs uhduhs dhus
dhsdhushd sihdhsdiuhsidhis hdsh
* :n: Someone
:e: someone@furius.ca
:a: Somewhere .s ds ds hd hsd hsudshdushd h
=======================
My Document blablablablbal blabla
=======================
:Date: 2005-10-10
:Location: Montreal, Canada
blablbalbalba alskjd hdk hueh duehie hdhshdshdshidhsd
shdh bs dhsud huhw ue hehwheuw hhpu hs uhduhs dhus
dhsdhushd sihdhsdiuhsidhis hdsh
* :n: Someone
:e: someone@furius.ca
:a: Somewhere .s ds ds hd hsd hsudshdushd hs
jdf fdfueuhrehdhfhdh fdhf dlfh dhfk hdkjf lhdkjfhd fkjhd
hfd uf hdufdhfu ehue uw hewhod jsjoiuvhfdhgfhg h
fd hfh uehrue hruehd hfuohd dhfudhuf hh duf hidhfdiu
dfdhfudhh.
http://somewhere.comj sj wjew
jewiujw ehjw ehuw heuwhe w7eh87h ehw hs shdhsd sh
ds dhsu dush sn xkl dsj d fud hewud ewhe hd s jj sjfsjds
sd ds hds hds.
d fduifudhfhdfdfdfdfd fhd fhd.
http:somewhere.comjwew ewjewewjew
http:sid jsijds jdwje wjewijjdsdjsjdsjdj
w jewjew jes jdshudhs udd h h h ehr rhe hr ehr eh
rhe re rhe ehr uwhe wh8h2h82 whsw 32nid
hdsh shds8 d8hw8 ew.
=:Date: 2005-10-10
:Location: Montreal, Canada
blablbalbalba alskjd hdk hueh duehie hdhshdshdshidhsd
shdh bs dhsud huhw ue hehwheuw hhpu hs uhduhs dhus
dhsdhushd sihdhsdiuhsidhis hdsh
* :n: Someone
:e: someone@furius.ca
:a: Somewhere .s ds ds hd hsd hsudshdushd h
=======================
My Document blablablablbal blabla
=======================
:Date: 2005-10-10
:Location: Montreal, Canada
blablbalbalba alskjd hdk hueh duehie hdhshdshdshidhsd
shdh bs dhsud huhw ue hehwheuw hhpu hs uhduhs dhus
dhsdhushd sihdhsdiuhsidhis hdsh
* :n: Someone
:e: someone@furius.ca
:a: Somewhere .s ds ds hd hsd hsudshdushd hs
jdf fdfueuhrehdhfhdh fdhf dlfh dhfk hdkjf lhdkjfhd fkjhd
hfd uf hdufdhfu ehue uw hewhod jsjoiuvhfdhgfhg h
fd hfh uehrue hruehd hfuohd dhfudhuf hh duf hidhfdiu
dfdhfudhh.
http://somewhere.comj sj wjew
jewiujw ehjw ehuw heuwhe w7eh87h ehw hs shdhsd sh
ds dhsu dush sn xkl dsj d fud hewud ewhe hd s jj sjfsjds
sd ds hds hds.
d fduifudhfhdfdfdfdfd fhd fhd.
http:somewhere.comjwew ewjewewjew
http:sid jsijds jdwje wjewijjdsdjsjdsjdj
w jewjew jes jdshudhs udd h h h ehr rhe hr ehr eh
rhe re rhe ehr uwhe wh8h2h82 whsw 32nid
hdsh shds8 d8hw8 ew.
14. Data Across Documents
What if I could identify and extract the meaningful parts from
those files and store them appropriately? What could I build
with this?
Related idea: the Semantic Web
• In an ideal world, web page authors would identify all
relevant parts of their documents with appropriate markup
• You would then be able to collect and use this data, e.g.
create an “address book” of the internet
• Search engines are taking a stab at this holy grail
But I want this now, and for just my personal corpus of files,
even if it’s a restricted version of this idea. I want a database
built from the files on my computer to feed a website, like a blog
on steroids.
15. Data Across Documents
What if I could identify and extract the meaningful parts from
those files and store them appropriately? What could I build
with this?
Related idea: the Semantic Web
• In an ideal world, web page authors would identify all
relevant parts of their documents with appropriate markup
• You would then be able to collect and use this data, e.g.
create an “address book” of the internet
• Search engines are taking a stab at this holy grail
But I want this now, and for just my personal corpus of files,
even if it’s a restricted version of this idea. I want a database
built from the files on my computer to feed a website, like a blog
on steroids.
16. The Goal
Build a system that can extract semantically meaningful
informations in my set of personal info files, using weak
heuristics and conventions, and store this information in a
structured way (in database tables), so I can use this
information later and serve it in new, interesting ways.
Nabu is a Python library that allows you to do that.
• It is not tied specifically to PIM info
• You can write extractors for anything, you just have to
establish conventions for the docutils structures that you
are going to recognize/extract
• On the client it requires only Python to publish text files
(minimize dependencies to allow easy deployment)
17. Components / Overview
server
Database
publisher
handler
extraction
(3) the extracted
data are stored
somewhere (e.g.
a database)
web server (for example)
web application
presentation code
(4) a custom
presentation layer
serves or displays
the extracted content
in various ways
(2) the document is parsed
and transforms extract
meaningful things from
document structure
web browser
(1) files are sent
to the server by a
small publisher
program
source
files
...
source
files
...
Text
files
(reST)
...
publisher
client
18. Components
• Nabu Publisher Client: searches the files on the client
side and sends the modified ones to the server
• It fetches MD5 sums from the server and compares the
local files
• Files are identified by an embedded Id, so file locations
don’t matter
:Id: 8844db51-36ee-4e2a-8255-84e804f5cbe2
• Nabu Server: receives the files, parses them through
docutils and runs the configured extractors, thereby storing
the data
• All extracted data is tagged with the unique id for the file
• When a file is uploaded, old data from that file is removed
and new data replaces it
• Storage: typically, your database server
(or files or anything else if you like)
• Presentation: your own favourite thing
(Nabu does not provide presentation)
19. Components
• Nabu Publisher Client: searches the files on the client
side and sends the modified ones to the server
• It fetches MD5 sums from the server and compares the
local files
• Files are identified by an embedded Id, so file locations
don’t matter
:Id: 8844db51-36ee-4e2a-8255-84e804f5cbe2
• Nabu Server: receives the files, parses them through
docutils and runs the configured extractors, thereby storing
the data
• All extracted data is tagged with the unique id for the file
• When a file is uploaded, old data from that file is removed
and new data replaces it
• Storage: typically, your database server
(or files or anything else if you like)
• Presentation: your own favourite thing
(Nabu does not provide presentation)
20. Components
• Nabu Publisher Client: searches the files on the client
side and sends the modified ones to the server
• It fetches MD5 sums from the server and compares the
local files
• Files are identified by an embedded Id, so file locations
don’t matter
:Id: 8844db51-36ee-4e2a-8255-84e804f5cbe2
• Nabu Server: receives the files, parses them through
docutils and runs the configured extractors, thereby storing
the data
• All extracted data is tagged with the unique id for the file
• When a file is uploaded, old data from that file is removed
and new data replaces it
• Storage: typically, your database server
(or files or anything else if you like)
• Presentation: your own favourite thing
(Nabu does not provide presentation)
21. Components
• Nabu Publisher Client: searches the files on the client
side and sends the modified ones to the server
• It fetches MD5 sums from the server and compares the
local files
• Files are identified by an embedded Id, so file locations
don’t matter
:Id: 8844db51-36ee-4e2a-8255-84e804f5cbe2
• Nabu Server: receives the files, parses them through
docutils and runs the configured extractors, thereby storing
the data
• All extracted data is tagged with the unique id for the file
• When a file is uploaded, old data from that file is removed
and new data replaces it
• Storage: typically, your database server
(or files or anything else if you like)
• Presentation: your own favourite thing
(Nabu does not provide presentation)
23. Extractors: Integration with docutils
Here is the complete docutils pipeline:
Input Parser
Reader
Publisher
Transforms
Writer
Output
document
tree
e.g. HTML
ReST
24. Extractors: Integration with docutils
Here is the modified, partial docutils pipeline (no output, just
process in order to run the extractors):
Input Parser
Reader
Publisher
Transforms
Writer
Output
2. Pickle
document tree
to database
(Sources table)
1. Extractors
Extracted data to database
25. Extractors: docutils document tree
docutils is a “2D parser”
• Its structures are recursive boxes of stuff
• For your extractors you have to establish conventions for
recognizing the stuff you want to extract from your text files
e.g. has name and (has email or has address)
26. Extractors: Viewing the docutils parse tree
You need to write extractors for the stuff that you are interested
in, for example:
* :name: Bill Gates
:email: billg@microsoft.com
Use rst2pseudoxml.py to figure how docutils parses it:
<bullet_list bullet="*">
<list_item>
<field_list>
<field>
<field_name>
name
<field_body>
<paragraph>
Bill Gates
<field>
<field_name>
email
<field_body>
<paragraph>
<reference refuri="mailto:billg@microsoft.com"
billg@microsoft.com
27. Extractors: Implementation
Then implement it:
class AddressExtractor(extract.Extractor):
def apply( self, **kwargs ):
v = AddressVisitor(self, self.document)
self.document.walkabout(v)
class AddressVisitor(...):
...
class AddressStorage(extract.SQLExtractorStorage):
def store( self, unid, name, tfields ):
... # store the stuff in a database
28. Target Audience
It’s not for your mom!
Nabu is intended only for use by people who have developed
the ability to edit text files carefully (typically programmers, i.e.
you guys).
• We understand indentation
• We know about spacing, justification, filling, etc.
• We are careful about pesky little details
• This is what makes creating ReST files possible
Leverage this ability!
30. Presentation: Events/Calendar Example
sat 2005-12-31 19h30
- NYE Evening chez Stuart
sat 2005-12-31
- Proteus: mkisofs for backup copy DVD-ROM
2006-01-02
- Contact SonoMax about free earplugs
- Track Leif’s grille that was supposed to arrive.
2006-01-03
- Visit Yves * D’ailleurs je vais avoir besoin de tes
salaires de 2005
- Confirm flight to Brazil w/ Constellation
2006-01-04 20h00
- Dinner w/ Pierre @ Golden Cari
32. Presentation: Other Examples
• Bookmarks: You can serve your extracted bookmarks from
a server using RSS format
• Billing info: you could define a simple timesheet format in a
text file and have some kind per-task or per-client billing
info page that is always up-to-date
• Filter all extracted links to Google Maps and generate a
map of all of the locations with links to the original
documents
• . . . (insert your own here) . . .
• Dynamic website data: you could use Nabu to feed some
data for a web site, this allows you to avoid having to
write input forms
35. Multiple Users
There are two approches:
1. Multiple users share a single body of files
• You could update to Nabu on a Subversion hook when
files are committed
2. Each user has a distinct body of files
• The Nabu server supports disjoint sets of ids per-user, so
that users don’t have to manually manage avoiding
collisions
36. Problems
• Creating precise reStructuredText can be fragile from the
user’s point-of-view
• You end up having to wrap your head around the docutils
document structure and knowing ReST really well in order
to generate what you need (but that is ok)
• You need to make sure that your set of ids are unique
• I like to use UUIDs like this:
78d8a600-abb4-49c0-a0fc-1c315cddbc1a
37. Future Work
• Stabilize more
• I need to write more presentations for my data
• Support encryption in the publisher client, hidden files
• Support per-document options