Remedie is a media RSS browser written in Perl and jQuery. It aggregates RSS/Atom feeds and supports playing videos and audio inline with Flash or QuickTime. Features include support for Media RSS, custom plugins, playback options, local video folders, and an iPhone-like UI. A demo is provided showing features like continuous playback, hotkeys, drag and drop, incremental search and more. The roadmap includes making the daemon non-blocking and adding downloads, social network integration and an iPhone remote.
Building a desktop app with HTTP::Engine, SQLite and jQueryTatsuhiko Miyagawa
This document provides a summary of a presentation on building a desktop application using HTTP::Engine, SQLite, and jQuery. The presentation discusses using HTTP::Engine as a lightweight web server, implementing RESTful APIs and backend actions with JSON responses, using SQLite for a simple and flexible local database, and manipulating the DOM with jQuery for the user interface. The goal is to create a desktop-like experience with the technologies of web applications.
This document summarizes how a new module is uploaded and distributed on CPAN. It takes approximately 48 hours from when an author uploads a module until it is available to most users. To address this, a real-time CPAN feed was created using FriendFeed to notify users more quickly, within an hour, after a new module is uploaded. The cpanf application allows users to install new CPAN modules via these real-time feeds to get modules more quickly than waiting for the standard 24 hour CPAN cache update.
This document discusses integrating Google Maps with tilt input from a laptop. It provides code examples in C++, Ruby and Perl for reading tilt sensor data on Windows. It also shows how to combine Google Maps JavaScript API with Perl code to update the map based on tilt input detected by Perl.
- PSGI (Perl Web Server Gateway Interface) and Plack provide a common interface and utilities for building web applications and servers in Perl.
- PSGI defines a standard interface that web frameworks can implement to work with different server implementations. Plack provides server implementations like standalone, FastCGI and Apache modules.
- This allows frameworks to focus on the application code instead of server specifics, and servers to handle multiple frameworks. Common middleware and testing utilities are also included.
- Examples of frameworks that have adopted PSGI include Catalyst, Maypole and Mojolicious. Popular servers built on Plack include Starman and Dancer.
The document discusses Test::Base, a Perl module for data-driven testing. It provides examples of using Test::Base for testing functions, with compatibility with Test::More. Test::Base allows writing tests in a simple format and filtering of input/output. It also supports features like default blocks, block-specific tests, subclassing and more. Tips discussed include avoiding chomp filters and separating success and error tests.
The document discusses XML::Liberal, a Perl module that allows XML parsers to successfully parse XML documents that contain errors. It provides examples of how XML::Liberal can be used to override an existing XML parser like XML::LibXML to make it more liberal in parsing invalid XML. It also shows how XML::Liberal can be used to try parsing XML with a fallback parser if the primary parser fails due to errors in the XML.
Plagger is a pluggable RSS/Atom aggregator that allows users to combine ("pipe") various plugins to customize how feeds are aggregated, filtered, and published/notified. It aims to be the "UNIX pipe of the internet" by providing a simple yet powerful framework to connect different data sources and processing modules in a customizable workflow. The document provides many examples of how Plagger can be used to aggregate feeds from sources like Bloglines or OPML files and publish them to email via Gmail by chaining together relevant subscription, filter, and publish plugins.
The document shows code for parsing and handling XML using different Perl modules. It demonstrates parsing XML strings into DOM documents using XML::LibXML and XML::Liberal, handling XML encoding such as entities and namespaces, and extracting elements and contents from the parsed DOM documents.
This document introduces the Web::Scraper module for Perl, which provides a more robust and maintainable way to scrape web pages compared to regular expressions. Web::Scraper uses a DSL to select elements and extract data via CSS or XPath selectors. It returns structured data like URLs, text, and name-value pairs from selected elements. The document provides examples of scraping timestamps, links, and lists of sites to demonstrate how Web::Scraper works and its advantages over traditional scraping with regular expressions.
The document discusses using Web::Scraper to scrape web pages in a robust, maintainable way by using CSS selectors and XPath queries rather than fragile regular expressions. Web::Scraper provides a domain-specific language for defining scraping processes and extracting desired data from web pages into structured results. Examples show how to scrape links, text, and nested data from HTML elements using a simple declarative syntax.
PSGI is a Perl port of Python's WSGI and Ruby's Rack that defines a common interface between web servers and frameworks. Plack provides reference implementations of PSGI servers as well as middleware and utilities. This allows frameworks to run on many servers like standalone, FastCGI, and Apache using a common PSGI application interface. Plack is fast, supports many frameworks through adapters, and provides tools like Plackup and middleware to help build and test PSGI applications.
Plack provides a common interface called PSGI (Perl Server Gateway Interface) that allows Perl web applications to run on different web servers. It includes tools like Plackup for running PSGI applications from the command line and middleware for adding functionality. Plack has adapters that allow many existing Perl web frameworks to run under PSGI. It also provides high performance PSGI servers and utilities for building and testing PSGI applications.
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryTatsuhiko Miyagawa
Building a desktop app using HTTP::Engine as a micro web server, SQLite for data storage, and jQuery for the user interface. Comet and asynchronous workers are used to enable real-time features. JSON-RPC and routing are implemented to support AJAX actions. The combination provides a lightweight "desktop app" architecture that is cross-platform.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help alleviate symptoms of mental illness and boost overall mental well-being.
This document summarizes a presentation about managing CPAN dependencies for web development projects. It describes a case study where a developer installed many CPAN modules for a new web app, but ran into problems with dependency and versioning issues during deployment to production servers. The presenter then introduced their solution called Carton, a tool for creating isolated, local Perl environments for apps and locking dependency versions to allow reproducible, stable deployments across different machines. Key features discussed included dependency declaration, isolated environments, version control, analysis and more. The document concludes with a call for questions and thanks.
This document discusses deploying Plack web applications. It begins with an overview of the PSGI specification and how it allows various web frameworks like Catalyst and Dancer to run on different web servers through a common interface. It then discusses various options for the server environment including standalone HTTP servers like Starman and FastCGI servers. Finally, it covers useful Plack middleware for application environments, including modules for rate limiting, caching, authentication, and more.
The document discusses practical web scraping using the Web::Scraper module in Perl. It provides an example of scraping the current UTC time from a website using regular expressions, then refactors it to use Web::Scraper for a more robust and maintainable approach. Key advantages of Web::Scraper include using CSS selectors and XPath to be less fragile, and proper handling of HTML encoding.
Tatsumaki is a non-blocking web framework for Perl built on Plack and AnyEvent. It allows building asynchronous applications that can handle thousands of concurrent connections. Tatsumaki uses psgi.streaming to enable asynchronous responses. It includes a non-blocking HTTP client and pure Perl message queue for building real-time applications like chat and comet. The framework is in a beta stage but plans include services for XMPP/IRC bots and a standard comet interface.
Remedie is a media RSS browser written in Perl and jQuery. It aggregates RSS/Atom feeds and supports playing videos and audio inline with Flash or QuickTime. Features include support for Media RSS, custom plugins, playback options, local video folders, and an iPhone-like UI. A demo is provided showing features like continuous playback, hotkeys, drag and drop, incremental search and more. The roadmap includes making the daemon non-blocking and adding downloads, social network integration and an iPhone remote.
Building a desktop app with HTTP::Engine, SQLite and jQueryTatsuhiko Miyagawa
This document provides a summary of a presentation on building a desktop application using HTTP::Engine, SQLite, and jQuery. The presentation discusses using HTTP::Engine as a lightweight web server, implementing RESTful APIs and backend actions with JSON responses, using SQLite for a simple and flexible local database, and manipulating the DOM with jQuery for the user interface. The goal is to create a desktop-like experience with the technologies of web applications.
This document summarizes how a new module is uploaded and distributed on CPAN. It takes approximately 48 hours from when an author uploads a module until it is available to most users. To address this, a real-time CPAN feed was created using FriendFeed to notify users more quickly, within an hour, after a new module is uploaded. The cpanf application allows users to install new CPAN modules via these real-time feeds to get modules more quickly than waiting for the standard 24 hour CPAN cache update.
This document discusses integrating Google Maps with tilt input from a laptop. It provides code examples in C++, Ruby and Perl for reading tilt sensor data on Windows. It also shows how to combine Google Maps JavaScript API with Perl code to update the map based on tilt input detected by Perl.
- PSGI (Perl Web Server Gateway Interface) and Plack provide a common interface and utilities for building web applications and servers in Perl.
- PSGI defines a standard interface that web frameworks can implement to work with different server implementations. Plack provides server implementations like standalone, FastCGI and Apache modules.
- This allows frameworks to focus on the application code instead of server specifics, and servers to handle multiple frameworks. Common middleware and testing utilities are also included.
- Examples of frameworks that have adopted PSGI include Catalyst, Maypole and Mojolicious. Popular servers built on Plack include Starman and Dancer.
The document discusses Test::Base, a Perl module for data-driven testing. It provides examples of using Test::Base for testing functions, with compatibility with Test::More. Test::Base allows writing tests in a simple format and filtering of input/output. It also supports features like default blocks, block-specific tests, subclassing and more. Tips discussed include avoiding chomp filters and separating success and error tests.
The document discusses XML::Liberal, a Perl module that allows XML parsers to successfully parse XML documents that contain errors. It provides examples of how XML::Liberal can be used to override an existing XML parser like XML::LibXML to make it more liberal in parsing invalid XML. It also shows how XML::Liberal can be used to try parsing XML with a fallback parser if the primary parser fails due to errors in the XML.
Plagger is a pluggable RSS/Atom aggregator that allows users to combine ("pipe") various plugins to customize how feeds are aggregated, filtered, and published/notified. It aims to be the "UNIX pipe of the internet" by providing a simple yet powerful framework to connect different data sources and processing modules in a customizable workflow. The document provides many examples of how Plagger can be used to aggregate feeds from sources like Bloglines or OPML files and publish them to email via Gmail by chaining together relevant subscription, filter, and publish plugins.
The document shows code for parsing and handling XML using different Perl modules. It demonstrates parsing XML strings into DOM documents using XML::LibXML and XML::Liberal, handling XML encoding such as entities and namespaces, and extracting elements and contents from the parsed DOM documents.
This document introduces the Web::Scraper module for Perl, which provides a more robust and maintainable way to scrape web pages compared to regular expressions. Web::Scraper uses a DSL to select elements and extract data via CSS or XPath selectors. It returns structured data like URLs, text, and name-value pairs from selected elements. The document provides examples of scraping timestamps, links, and lists of sites to demonstrate how Web::Scraper works and its advantages over traditional scraping with regular expressions.
The document discusses using Web::Scraper to scrape web pages in a robust, maintainable way by using CSS selectors and XPath queries rather than fragile regular expressions. Web::Scraper provides a domain-specific language for defining scraping processes and extracting desired data from web pages into structured results. Examples show how to scrape links, text, and nested data from HTML elements using a simple declarative syntax.
PSGI is a Perl port of Python's WSGI and Ruby's Rack that defines a common interface between web servers and frameworks. Plack provides reference implementations of PSGI servers as well as middleware and utilities. This allows frameworks to run on many servers like standalone, FastCGI, and Apache using a common PSGI application interface. Plack is fast, supports many frameworks through adapters, and provides tools like Plackup and middleware to help build and test PSGI applications.
Plack provides a common interface called PSGI (Perl Server Gateway Interface) that allows Perl web applications to run on different web servers. It includes tools like Plackup for running PSGI applications from the command line and middleware for adding functionality. Plack has adapters that allow many existing Perl web frameworks to run under PSGI. It also provides high performance PSGI servers and utilities for building and testing PSGI applications.
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryTatsuhiko Miyagawa
Building a desktop app using HTTP::Engine as a micro web server, SQLite for data storage, and jQuery for the user interface. Comet and asynchronous workers are used to enable real-time features. JSON-RPC and routing are implemented to support AJAX actions. The combination provides a lightweight "desktop app" architecture that is cross-platform.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help alleviate symptoms of mental illness and boost overall mental well-being.
This document summarizes a presentation about managing CPAN dependencies for web development projects. It describes a case study where a developer installed many CPAN modules for a new web app, but ran into problems with dependency and versioning issues during deployment to production servers. The presenter then introduced their solution called Carton, a tool for creating isolated, local Perl environments for apps and locking dependency versions to allow reproducible, stable deployments across different machines. Key features discussed included dependency declaration, isolated environments, version control, analysis and more. The document concludes with a call for questions and thanks.
This document discusses deploying Plack web applications. It begins with an overview of the PSGI specification and how it allows various web frameworks like Catalyst and Dancer to run on different web servers through a common interface. It then discusses various options for the server environment including standalone HTTP servers like Starman and FastCGI servers. Finally, it covers useful Plack middleware for application environments, including modules for rate limiting, caching, authentication, and more.
The document discusses practical web scraping using the Web::Scraper module in Perl. It provides an example of scraping the current UTC time from a website using regular expressions, then refactors it to use Web::Scraper for a more robust and maintainable approach. Key advantages of Web::Scraper include using CSS selectors and XPath to be less fragile, and proper handling of HTML encoding.
Tatsumaki is a non-blocking web framework for Perl built on Plack and AnyEvent. It allows building asynchronous applications that can handle thousands of concurrent connections. Tatsumaki uses psgi.streaming to enable asynchronous responses. It includes a non-blocking HTTP client and pure Perl message queue for building real-time applications like chat and comet. The framework is in a beta stage but plans include services for XMPP/IRC bots and a standard comet interface.