This document provides a sample of what a Ruby on Rails tutorial book could look like. It demonstrates different formatting elements like code samples, figures, tables, and math equations. The sample includes two chapters, an introduction and a chapter with lorem ipsum text. Key elements like a table of contents, numbered sections and cross references are shown to be functional in both HTML and PDF formats.
The document provides a quick introduction to the Perl scripting language. It discusses variables including scalars, arrays, hashes, and references. It also covers basic concepts like conditionals, subroutines, string manipulation, modules/packages, object-oriented programming, and debugging in Perl. The goal is to enable readers to quickly learn Perl fundamentals and become proficient at writing simple programs.
The document discusses two component tree algorithms that were implemented in the Climb image processing library: Najman and Berger. Implementing these algorithms extended Climb's definition of values, added new site sets, and improved debugging utilities. It also explores adapting the "chaining" design pattern from jQuery to image processing and Common Lisp, extending it with parallel notation and better flow control.
This document is a 241-page tutorial on the Perl 5 programming language. It was written by Chan Bernard Ki Hong and published in 2003. The document covers topics such as what Perl is, getting started with Perl, manipulating data structures, operators, conditionals, loops, and subroutines. It includes over 20 chapters to help readers learn Perl programming.
Perl <b>5 Tutorial</b>, First Editiontutorialsruby
This document is a 241-page tutorial on the Perl 5 programming language. It was written by Chan Bernard Ki Hong and published in 2003. The document covers topics such as what Perl is, getting started with Perl, manipulating data structures, operators, conditionals, loops, and subroutines. It includes over 20 chapters to guide readers through learning Perl programming.
The document describes the ns network simulator. It provides documentation on the simulator's architecture and key components. The simulator is written in C++ and uses OTcl as a configuration and command interface. It has been improved since version 1, with simpler object decomposition and a separate interface to the OTcl interpreter. The documentation covers the simulator classes and objects, including nodes, packets, scheduling, and routing classification.
This document contains lecture notes for a computer programming course taught at Universiti Tun Hussein Onn Malaysia. It covers topics like the structure of C programs, operators and expressions, selection statements, and repetition. The notes were written by Winardi Sani and several tutors are listed. The document is organized into chapters with sections covering specific programming concepts.
The document provides an introduction to MATLAB and Simulink. It discusses downloading and installing MATLAB, getting help within MATLAB, using MATLAB as a calculator, performing matrix calculations, visualizing data through plotting, programming in MATLAB through script m-files and functions, solving ordinary differential equations numerically, finding eigenvalues and eigenvectors, and constructing models in Simulink.
The document describes a project to implement coordinated movement between two robots (Lego bricks). The master brick generates and performs random sequences of movement patterns (sets of motions). It sends the command number to the slave brick using Bluetooth communication. The master waits for an acknowledgement from the slave before moving to the next command. Fourteen predefined primitive and complex movements are implemented. The master's logic is divided into controller and transmitter states to manage movement and communication. The slave brick has its own logic stateflow to receive and execute the transmitted commands from the master.
The document provides a quick introduction to the Perl scripting language. It discusses variables including scalars, arrays, hashes, and references. It also covers basic concepts like conditionals, subroutines, string manipulation, modules/packages, object-oriented programming, and debugging in Perl. The goal is to enable readers to quickly learn Perl fundamentals and become proficient at writing simple programs.
The document discusses two component tree algorithms that were implemented in the Climb image processing library: Najman and Berger. Implementing these algorithms extended Climb's definition of values, added new site sets, and improved debugging utilities. It also explores adapting the "chaining" design pattern from jQuery to image processing and Common Lisp, extending it with parallel notation and better flow control.
This document is a 241-page tutorial on the Perl 5 programming language. It was written by Chan Bernard Ki Hong and published in 2003. The document covers topics such as what Perl is, getting started with Perl, manipulating data structures, operators, conditionals, loops, and subroutines. It includes over 20 chapters to help readers learn Perl programming.
Perl <b>5 Tutorial</b>, First Editiontutorialsruby
This document is a 241-page tutorial on the Perl 5 programming language. It was written by Chan Bernard Ki Hong and published in 2003. The document covers topics such as what Perl is, getting started with Perl, manipulating data structures, operators, conditionals, loops, and subroutines. It includes over 20 chapters to guide readers through learning Perl programming.
The document describes the ns network simulator. It provides documentation on the simulator's architecture and key components. The simulator is written in C++ and uses OTcl as a configuration and command interface. It has been improved since version 1, with simpler object decomposition and a separate interface to the OTcl interpreter. The documentation covers the simulator classes and objects, including nodes, packets, scheduling, and routing classification.
This document contains lecture notes for a computer programming course taught at Universiti Tun Hussein Onn Malaysia. It covers topics like the structure of C programs, operators and expressions, selection statements, and repetition. The notes were written by Winardi Sani and several tutors are listed. The document is organized into chapters with sections covering specific programming concepts.
The document provides an introduction to MATLAB and Simulink. It discusses downloading and installing MATLAB, getting help within MATLAB, using MATLAB as a calculator, performing matrix calculations, visualizing data through plotting, programming in MATLAB through script m-files and functions, solving ordinary differential equations numerically, finding eigenvalues and eigenvectors, and constructing models in Simulink.
The document describes a project to implement coordinated movement between two robots (Lego bricks). The master brick generates and performs random sequences of movement patterns (sets of motions). It sends the command number to the slave brick using Bluetooth communication. The master waits for an acknowledgement from the slave before moving to the next command. Fourteen predefined primitive and complex movements are implemented. The master's logic is divided into controller and transmitter states to manage movement and communication. The slave brick has its own logic stateflow to receive and execute the transmitted commands from the master.
- Ruby on Rails is a web application framework inspired by Ruby, Perl, Python, Haskell and LISP. It is optimized for programmer happiness and productivity.
- Rails includes features like ActiveRecord (ORM), ActionController (controllers), ActionView (views), routing and asset pipelines that make building web applications faster and easier.
The document provides an overview of the Ruby on Rails framework. It discusses the basic concepts of Rails such as its adherence to the MVC pattern and RESTful routing. It also describes the Rails directory structure and the model-view-controller implementation in Rails. Finally, it demonstrates building a simple Rails application with a database table and RESTful routes.
Dev ops.continuous delivery - Ibon Landa (Plain Concepts)betabeers
Integración y entrega continua: principios y prácticas englobados desde de estos conceptos y por supuesto, beneficios que estas prácticas pueden ofrecer para nuestro producto o negocio.
Rails have a nice template engine called erb and it's cool however haml is super cool and in this class we practiced using haml along with bootstrap while understanding partials and helpers.
The document discusses Ionic, an open source framework for developing hybrid mobile apps using HTML5. It provides an agenda that covers why hybrid apps may not be ideal, an introduction to Ionic and AngularJS, a quick start guide to creating an Ionic app including installation, building a small app, and tips. Resources for further learning about Ionic and AngularJS are also listed. The presentation aims to explain what Ionic is, how to get started building Ionic apps, and take questions from the audience.
Introducción a scrum - Rodrigo Corral (Plain Concepts)betabeers
Este documento presenta una introducción a Scrum, un marco ágil para el desarrollo de software. Scrum se basa en iteraciones cortas llamadas sprints durante las cuales los equipos trabajan para completar elementos de una lista de producto priorizada. Los roles clave son el product owner, quien es responsable de la lista de producto, el equipo de desarrollo auto-organizado, y el scrum master, quien ayuda al equipo a seguir las reglas de Scrum. Al final de cada sprint, el equipo demuestra el incremento de funcionalidad completado y busca formas
This document discusses strategies for scaling a Ruby on Rails application from a small startup to an enterprise-level application. It recommends starting with a small, highly productive team using Rails for rapid development. As the application and user base grow, it suggests adding caching, load balancing, and splitting the application across multiple servers. It also discusses personalizing pages with AJAX to improve caching. The goal is to scale the application efficiently while keeping development agile and in Rails.
This document provides an introduction to getting started with the Erlang programming language. It covers sequential programming concepts like the Erlang shell, modules and functions, data types like atoms, tuples and lists, and control structures like if/case. It also introduces concurrent programming concepts like processes and message passing. Examples are provided throughout to demonstrate concepts like defining and calling functions in modules.
This document summarizes the author's masters project on developing a document translation system. The system uses a multi-step pipeline including text detection with the CRAFT model, text recognition with STR, text merging, image inpainting with DeepFillV2, and translation via Google Translate API. Details are provided on the models used, data processing, and approach for each step of the pipeline to translate documents while preserving layout and design elements.
This document is a sample thesis submitted by Daniel Manfred Klein to Lakehead University in partial fulfillment of the requirements for a Master of Science in Computer Science degree. The thesis includes an introduction describing the main ideas and providing examples of tables from cited references. It also includes a chapter on graphs displaying examples from references. The thesis is written in LaTeX and includes standard thesis components such as a table of contents, list of tables and figures, acknowledgments, and references.
Document Object Model (DOM) Level 1 SpecificationOtakism
The Document Object Model (DOM) Level 1 Specification defines a platform- and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure and style of documents. The DOM provides a standard set of objects for representing HTML and XML documents, a standard model for how these objects can be combined, and a standard interface for accessing and manipulating them. The goal of the DOM specification is to define a programmatic interface for XML and HTML. The DOM Level 1 specification separates the core DOM interfaces from the HTML-specific interfaces. A compliant DOM implementation must implement all the core interfaces as well as any extended or HTML interfaces it supports.
This document provides a tutorial for distributing Rails applications by packaging them into standalone executables. It outlines the necessary ingredients like Ruby, Rails, SQLite. It then describes the steps to setup the environment, create a SQLite database, develop the Rails app, create a Ruby archive (RBA) of the application using Tar2RubyScript, and finally generate a standalone executable using RubyScript2Exe. Some adjustments are needed to the code to properly handle database file paths when running as an RBA versus a normal Rails application. Following these steps allows one to distribute a complete Rails application in a single executable without any other dependencies.
This document provides a tutorial for distributing Rails applications by packaging them into standalone executables. It outlines the necessary ingredients like Ruby, Rails, SQLite. It then describes the steps to setup the environment, create a SQLite database, develop the Rails app, create a Ruby archive (RBA) of the application using Tar2RubyScript, and finally generate a standalone executable using RubyScript2Exe. Some adjustments are needed to the code to properly handle database file paths when running as an RBA versus a normal Rails app. Following these steps allows one to distribute a complete Rails application in a single executable without any other dependencies.
This document provides instructions for installing TEXworks, a text editor for working with TeX and LaTeX documents. It describes downloading and installing TeX Live, the preferred TeX distribution to use with TEXworks. TeX Live is available for Windows, Mac OS X, and Linux operating systems. The document gives platform-specific installation instructions for each operating system. It recommends using the package manager that comes with most TeX distributions to install TEXworks, as these versions may include distribution-specific enhancements.
The document summarizes two papers about MapReduce frameworks for cloud computing. The first paper describes Hadoop, which uses MapReduce and HDFS to process large amounts of distributed data across clusters. HDFS stores data across cluster nodes in a fault-tolerant manner, while MapReduce splits jobs into parallel map and reduce tasks. The second paper discusses P2P-MapReduce, which allows for a dynamic cloud environment where nodes can join and leave. It uses a peer-to-peer model where nodes can be masters or slaves, and maintains backup masters to prevent job loss if the primary master fails.
This document describes Robert Kovacsics' diploma project to create a compiler from the Scheme programming language to Java bytecode. The project implements a front-end to parse Scheme code, a middle phase to transform the code, and a back-end to generate Java bytecode. The compiler supports basic language features like macros, Java interoperability, and tail-call optimization. The document outlines the requirements for the compiler and its development. It then describes the implementation process and modular structure. Finally, it evaluates the compiler's functionality and performance.
This document provides a brief introduction and manual for using Maple, a mathematical software program. It explains how to get started with Maple by using worksheets, describes basic Maple syntax and commands, and provides a table of contents for the sections within the manual covering various mathematical and programming topics that can be explored using Maple. The aim of the manual is to teach Maple through examples rather than detailed technical explanations, and it assumes the reader has a basic understanding of mathematics and computer use.
Machine Vision Toolbox for MATLAB (Relese 3)CHIH-PEI WEN
This document provides release notes for version 3.3 of the Robotics Toolbox for MATLAB from October 2012. It details updates made over the past decade of development, with extensive work over the last two years to support the author's new book on robotics, vision, and control. The Machine Vision Toolbox is also discussed, which provides over 100 functions for tasks like image processing, feature extraction, and camera calibration. The toolbox is open-source and intended for both teaching and research applications in robotics and computer vision.
The document is a tutorial on function pointers in C and C++. It introduces function pointers and provides examples of defining, assigning, comparing, and calling functions using pointers. It also covers callbacks and functors, which allow functions to be passed as arguments or returned.
This document summarizes a thesis about automatically deriving semantic properties from source code. It introduces the Compose .NET project, which uses aspect-oriented programming to add features to .NET languages. The thesis aims to enhance Compose by extracting more semantic information from code. It presents the Semantic Analyzer, which parses code into a metamodel representing semantic actions. This metamodel can then be queried to provide semantic properties for tasks like pointcut matching and program analysis.
Climb - Property-based dispatch in functional languages [Report]Christopher Chedeau
The document discusses property-based dispatch in functional programming languages. It first examines how the C++ library Olena uses properties to dispatch algorithms to specialized implementations at compile-time. It then presents an alternative approach using properties for dispatch in Common Lisp, taking advantage of its dynamic nature and lambda functions. Finally, it reviews different dispatch techniques in other languages like JavaScript, Python, and Haskell to understand common concerns in implementing dispatch.
- Ruby on Rails is a web application framework inspired by Ruby, Perl, Python, Haskell and LISP. It is optimized for programmer happiness and productivity.
- Rails includes features like ActiveRecord (ORM), ActionController (controllers), ActionView (views), routing and asset pipelines that make building web applications faster and easier.
The document provides an overview of the Ruby on Rails framework. It discusses the basic concepts of Rails such as its adherence to the MVC pattern and RESTful routing. It also describes the Rails directory structure and the model-view-controller implementation in Rails. Finally, it demonstrates building a simple Rails application with a database table and RESTful routes.
Dev ops.continuous delivery - Ibon Landa (Plain Concepts)betabeers
Integración y entrega continua: principios y prácticas englobados desde de estos conceptos y por supuesto, beneficios que estas prácticas pueden ofrecer para nuestro producto o negocio.
Rails have a nice template engine called erb and it's cool however haml is super cool and in this class we practiced using haml along with bootstrap while understanding partials and helpers.
The document discusses Ionic, an open source framework for developing hybrid mobile apps using HTML5. It provides an agenda that covers why hybrid apps may not be ideal, an introduction to Ionic and AngularJS, a quick start guide to creating an Ionic app including installation, building a small app, and tips. Resources for further learning about Ionic and AngularJS are also listed. The presentation aims to explain what Ionic is, how to get started building Ionic apps, and take questions from the audience.
Introducción a scrum - Rodrigo Corral (Plain Concepts)betabeers
Este documento presenta una introducción a Scrum, un marco ágil para el desarrollo de software. Scrum se basa en iteraciones cortas llamadas sprints durante las cuales los equipos trabajan para completar elementos de una lista de producto priorizada. Los roles clave son el product owner, quien es responsable de la lista de producto, el equipo de desarrollo auto-organizado, y el scrum master, quien ayuda al equipo a seguir las reglas de Scrum. Al final de cada sprint, el equipo demuestra el incremento de funcionalidad completado y busca formas
This document discusses strategies for scaling a Ruby on Rails application from a small startup to an enterprise-level application. It recommends starting with a small, highly productive team using Rails for rapid development. As the application and user base grow, it suggests adding caching, load balancing, and splitting the application across multiple servers. It also discusses personalizing pages with AJAX to improve caching. The goal is to scale the application efficiently while keeping development agile and in Rails.
This document provides an introduction to getting started with the Erlang programming language. It covers sequential programming concepts like the Erlang shell, modules and functions, data types like atoms, tuples and lists, and control structures like if/case. It also introduces concurrent programming concepts like processes and message passing. Examples are provided throughout to demonstrate concepts like defining and calling functions in modules.
This document summarizes the author's masters project on developing a document translation system. The system uses a multi-step pipeline including text detection with the CRAFT model, text recognition with STR, text merging, image inpainting with DeepFillV2, and translation via Google Translate API. Details are provided on the models used, data processing, and approach for each step of the pipeline to translate documents while preserving layout and design elements.
This document is a sample thesis submitted by Daniel Manfred Klein to Lakehead University in partial fulfillment of the requirements for a Master of Science in Computer Science degree. The thesis includes an introduction describing the main ideas and providing examples of tables from cited references. It also includes a chapter on graphs displaying examples from references. The thesis is written in LaTeX and includes standard thesis components such as a table of contents, list of tables and figures, acknowledgments, and references.
Document Object Model (DOM) Level 1 SpecificationOtakism
The Document Object Model (DOM) Level 1 Specification defines a platform- and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure and style of documents. The DOM provides a standard set of objects for representing HTML and XML documents, a standard model for how these objects can be combined, and a standard interface for accessing and manipulating them. The goal of the DOM specification is to define a programmatic interface for XML and HTML. The DOM Level 1 specification separates the core DOM interfaces from the HTML-specific interfaces. A compliant DOM implementation must implement all the core interfaces as well as any extended or HTML interfaces it supports.
This document provides a tutorial for distributing Rails applications by packaging them into standalone executables. It outlines the necessary ingredients like Ruby, Rails, SQLite. It then describes the steps to setup the environment, create a SQLite database, develop the Rails app, create a Ruby archive (RBA) of the application using Tar2RubyScript, and finally generate a standalone executable using RubyScript2Exe. Some adjustments are needed to the code to properly handle database file paths when running as an RBA versus a normal Rails application. Following these steps allows one to distribute a complete Rails application in a single executable without any other dependencies.
This document provides a tutorial for distributing Rails applications by packaging them into standalone executables. It outlines the necessary ingredients like Ruby, Rails, SQLite. It then describes the steps to setup the environment, create a SQLite database, develop the Rails app, create a Ruby archive (RBA) of the application using Tar2RubyScript, and finally generate a standalone executable using RubyScript2Exe. Some adjustments are needed to the code to properly handle database file paths when running as an RBA versus a normal Rails app. Following these steps allows one to distribute a complete Rails application in a single executable without any other dependencies.
This document provides instructions for installing TEXworks, a text editor for working with TeX and LaTeX documents. It describes downloading and installing TeX Live, the preferred TeX distribution to use with TEXworks. TeX Live is available for Windows, Mac OS X, and Linux operating systems. The document gives platform-specific installation instructions for each operating system. It recommends using the package manager that comes with most TeX distributions to install TEXworks, as these versions may include distribution-specific enhancements.
The document summarizes two papers about MapReduce frameworks for cloud computing. The first paper describes Hadoop, which uses MapReduce and HDFS to process large amounts of distributed data across clusters. HDFS stores data across cluster nodes in a fault-tolerant manner, while MapReduce splits jobs into parallel map and reduce tasks. The second paper discusses P2P-MapReduce, which allows for a dynamic cloud environment where nodes can join and leave. It uses a peer-to-peer model where nodes can be masters or slaves, and maintains backup masters to prevent job loss if the primary master fails.
This document describes Robert Kovacsics' diploma project to create a compiler from the Scheme programming language to Java bytecode. The project implements a front-end to parse Scheme code, a middle phase to transform the code, and a back-end to generate Java bytecode. The compiler supports basic language features like macros, Java interoperability, and tail-call optimization. The document outlines the requirements for the compiler and its development. It then describes the implementation process and modular structure. Finally, it evaluates the compiler's functionality and performance.
This document provides a brief introduction and manual for using Maple, a mathematical software program. It explains how to get started with Maple by using worksheets, describes basic Maple syntax and commands, and provides a table of contents for the sections within the manual covering various mathematical and programming topics that can be explored using Maple. The aim of the manual is to teach Maple through examples rather than detailed technical explanations, and it assumes the reader has a basic understanding of mathematics and computer use.
Machine Vision Toolbox for MATLAB (Relese 3)CHIH-PEI WEN
This document provides release notes for version 3.3 of the Robotics Toolbox for MATLAB from October 2012. It details updates made over the past decade of development, with extensive work over the last two years to support the author's new book on robotics, vision, and control. The Machine Vision Toolbox is also discussed, which provides over 100 functions for tasks like image processing, feature extraction, and camera calibration. The toolbox is open-source and intended for both teaching and research applications in robotics and computer vision.
The document is a tutorial on function pointers in C and C++. It introduces function pointers and provides examples of defining, assigning, comparing, and calling functions using pointers. It also covers callbacks and functors, which allow functions to be passed as arguments or returned.
This document summarizes a thesis about automatically deriving semantic properties from source code. It introduces the Compose .NET project, which uses aspect-oriented programming to add features to .NET languages. The thesis aims to enhance Compose by extracting more semantic information from code. It presents the Semantic Analyzer, which parses code into a metamodel representing semantic actions. This metamodel can then be queried to provide semantic properties for tasks like pointcut matching and program analysis.
Climb - Property-based dispatch in functional languages [Report]Christopher Chedeau
The document discusses property-based dispatch in functional programming languages. It first examines how the C++ library Olena uses properties to dispatch algorithms to specialized implementations at compile-time. It then presents an alternative approach using properties for dispatch in Common Lisp, taking advantage of its dynamic nature and lambda functions. Finally, it reviews different dispatch techniques in other languages like JavaScript, Python, and Haskell to understand common concerns in implementing dispatch.
This document provides an introduction to LaTeX, covering topics such as:
- What LaTeX is and its advantages over other word processors
- Installing LaTeX and the basic tools needed
- The basic structure of a LaTeX document
- Creating titles, abstracts, sections, and bodies of text
- Adding tables of contents, bibliographies and references
- Formatting elements like lists, tables, quotes and verbatim text
- Advanced topics like managing references, BibTeX, beamer and posters
The document is intended as a gentle introduction to help readers get started with LaTeX.
This document is the bachelor thesis of Vojtěch Ciml from the Czech Technical University in Prague. It discusses the development of a web-based content aggregator for educational purposes. The thesis includes an introduction describing the problem, research on existing services, a concept for the Guideler application, implementation details, a usability test, and plans for future work. The application allows teachers and individuals to create interactive course guides by organizing various web content like videos, images, and forms into steps. Students can then view the guides and see their progress through questions and answers at each step.
The document provides an overview of key-value stores and discusses CouchDB, Tokyo Cabinet, Redis, and Cassandra as alternatives to relational databases for web applications. It describes each system's features and interface to the Ruby programming language. CouchDB uses JavaScript for generating views and stores schema-less data accessed via HTTP/JSON. Tokyo Cabinet supports hashtable, B-tree, and table modes and is used by Mixi, a Japanese social network. Redis is an in-memory key-value store focused on performance. Cassandra is a distributed, structured key-value store developed by Facebook based on Amazon's Dynamo database.
This document provides a crash course introduction to the Perl programming language. It discusses running Perl scripts, basic syntax including variables and data types, and some key concepts. It aims to give readers enough knowledge to write simple Perl programs and an awareness of more advanced topics to explore further if desired.
This document provides a crash course introduction to the Perl programming language. It discusses running Perl scripts, basic syntax including variables and data types, and some important concepts. It aims to give readers enough knowledge to write simple Perl programs and be aware of more advanced topics to explore further if desired.
This document provides a crash course introduction to the Perl programming language. It discusses running Perl scripts, Perl's syntax which is case-sensitive, and built-in data types like scalars, strings, arrays and hashes. It also covers important concepts in Perl including truth and undef values, variadic subroutines, context, and the philosophy of "TMTOWTDI". The document concludes by discussing control structures, I/O, pattern matching with regular expressions, and interacting with the UNIX system in Perl.
This document provides a help and tutorial for TopStyle Pro version 3.11. It covers getting started with TopStyle, editing style sheets and HTML/XHTML, working with colors, previews, validation, site management, reports, mappings, customization, and third-party integration. It also includes appendices on CSS basics and tips, TopStyle tips and tricks, style sheet resources, keyboard shortcuts, and regular expressions.
TopStyle Help & <b>Tutorial</b>tutorialsruby
This document provides a table of contents for the TopStyle Pro Help & Tutorial, which teaches how to use the TopStyle software for editing style sheets and HTML/XHTML documents. It lists over 50 sections that provide explanations and instructions for features like creating and opening files, editing styles, working with colors, previews, validation, site management, reports and customizing the software. The document was created by Giampaolo Bellavite from the online help provided with TopStyle version 3.11.
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>tutorialsruby
This document provides the course outline for IMD 210 Fundamentals of Scripting Languages at The Art Institute of Atlanta during the Spring 2005 quarter. The course focuses on integrating programming concepts with interface design using scripting languages like JavaScript and CSS. It will cover topics like DOM, CSS layout, JavaScript variables, conditionals, and events. Students will complete 4 assignments including redesigning existing websites, and there will be weekly quizzes, a midterm, and final exam. The course is worth 4 credits and meets once a week for class and lab.
This document provides the course outline for IMD 210 Fundamentals of Scripting Languages at The Art Institute of Atlanta during the Spring 2005 quarter. The course focuses on integrating programming concepts with interface design using scripting languages like JavaScript and CSS. It will cover topics like DOM, CSS layout, JavaScript variables, conditionals, and events. Students will complete 4 assignments including redesigning existing websites, and there will be weekly quizzes, a midterm, and final exam. The course is worth 4 credits and meets once a week for class and lab.
The group aims to bridge gaps between peer-to-peer database architectures and scaling multimedia information retrieval. They develop a probabilistic multimedia database system with abstraction layers for applications and researchers. They also research challenges of peer-to-peer networks for distributed data management. Both lines are supported by the MonetDB platform to exploit custom hardware and adaptive query optimization. The goal is a modular solution linking theoretical optimal solutions to application demands under resource limitations.
Standardization and Knowledge Transfer – INS0tutorialsruby
The group aims to bridge gaps between peer-to-peer database architectures and scaling multimedia information retrieval. They develop a probabilistic multimedia database system with abstraction layers and a flexible model. They also research challenges of peer-to-peer networks for distributed data management. Both lines are supported by the MonetDB platform to exploit custom hardware and adaptive query optimization. The goal is a modular solution linking theoretical optimal solutions to application demands under resource limitations.
This document provides an introduction to converting HTML documents to XHTML, including the basic syntax changes needed like making all tags lowercase and closing all tags. It provides examples of correct XHTML markup for different tags. It also explains the new DOCTYPE declaration and shows a sample well-formed XHTML document incorporating all the discussed changes. Resources for learning more about XHTML are listed at the end.
This document provides an introduction to converting HTML documents to XHTML, including the basic syntax changes needed like making all tags lowercase and closing all tags. It provides examples of correct XHTML markup for different tags. It also explains the new DOCTYPE declaration and shows a sample well-formed XHTML document incorporating all the discussed changes. Resources for learning more about XHTML are listed at the end.
XHTML is a markup language that provides structure and semantics to web pages. It is based on XML and is more strict than HTML. XHTML pages must have a document type definition, html and head tags, and a body where the visible content goes. Common XHTML tags include paragraphs, lists, links, images, and divisions to logically separate content. While XHTML provides structure, CSS is used to style pages and control visual presentation by defining rules for tags. CSS rules are defined in external style sheets to keep presentation separate from structure and content.
XHTML is a markup language that provides structure and semantics to web pages. It is based on XML and is more strict than HTML. XHTML pages must have a document type definition, html and head tags, and a body where the visible content goes. Common XHTML tags include paragraphs, lists, links, images, and divisions to logically separate content. While XHTML provides structure, CSS is used to style pages and control visual presentation through rules that target specific XHTML elements.
This document discusses how to create and use external cascading style sheets (CSS) in Dreamweaver. It provides steps to:
1. Open the CSS Styles tab in Dreamweaver and create a new external CSS stylesheet using a sample text style.
2. Save the stylesheet and link it to a new HTML page to style elements like headings, text sizes, and boxes.
3. Edit existing styles by selecting a tag in the CSS Styles panel and modifying properties directly, or by clicking the tag and using the pencil icon to edit in a window. This allows customizing styles globally across all linked pages.
This document provides an overview of how to create and use cascading style sheets (CSS) in Dreamweaver. It describes the different types of style sheets, including external and internal style sheets. It outlines the steps to create an external style sheet in Dreamweaver using the CSS Styles panel and provides instructions for linking the external style sheet to an HTML page. The document demonstrates how to experiment with predefined styles and how to edit, add, and delete styles in the CSS stylesheet.
This document appears to be a weekly update from an intro to computer science course. It includes summaries of classmates' demographics, comfort levels, and prior experience. It also discusses time spent on problem sets and recommends upcoming courses in CS51 and CS61. Finally, it recommends reading on TCP/IP, HTTP, XHTML, CSS, PHP, SQL and using the bulletin board for questions.
This document appears to be a weekly update from an intro to computer science course. It includes summaries of classmates' demographics, comfort levels, and prior experience. It also discusses time spent on problem sets and recommends upcoming courses in CS51 and CS61. Finally, it recommends reading on topics like TCP/IP, HTTP, XHTML, CSS, PHP, SQL and using bulletin boards, and includes images related to these topics.
The document discusses how to use Cascading Style Sheets (CSS) with Corvid Servlet Runtime templates to control formatting and layout. CSS allows separating design from content, making templates simpler and easier to maintain. It also enables adapting appearance for different devices. The document provides examples of using CSS classes to style template elements and explains how to set up a demo system using the included CSS and templates.
The document discusses how to use Cascading Style Sheets (CSS) with Corvid Servlet Runtime templates to control formatting and layout. CSS allows separating design from content, making templates simpler and easier to maintain. It also enables customization of appearance for different devices. The document provides examples of how to apply CSS classes and rules to Corvid template elements to control fonts, colors, positioning and more.
The document provides an introduction to CSS and how it works with HTML to control the presentation and styling of web page content. It explains basic CSS concepts like selectors, properties and values, and how CSS rules are used to target specific HTML elements and style them. Examples are given of common CSS properties and selectors and how they can be used to style elements and format the layout of web pages.
The document introduces CSS and how it works with HTML to separate content from presentation, allowing the styling of web pages through rules that target HTML elements. It explains CSS syntax and various selectors like type, class, ID, and descendant selectors. Examples are provided of how CSS can be used to style properties like color, font, padding, and layout of elements on a page.
Cascading Style Sheets (CSS) allow users to define how HTML elements are presented on a page. CSS enables changing the appearance and layout of an entire website by editing just one CSS file. CSS uses selectors to apply styles to HTML elements via properties and values. Styles can be defined internally in HTML or externally in CSS files. CSS can control text formatting, colors, spacing, positioning and more to achieve visual consistency across web pages.
Cascading Style Sheets (CSS) allow users to define how HTML elements are presented on a page. CSS enables changing the appearance and layout of an entire website by editing just one CSS file. CSS uses selectors to apply styles to HTML elements via properties and values. Styles can be defined internally in HTML or externally in CSS files. CSS can control text formatting, colors, spacing, positioning and more to achieve visual consistency across web pages.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
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!
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
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.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Webinar: Designing a schema for a Data WarehouseFederico Razzoli
Are you new to data warehouses (DWH)? Do you need to check whether your data warehouse follows the best practices for a good design? In both cases, this webinar is for you.
A data warehouse is a central relational database that contains all measurements about a business or an organisation. This data comes from a variety of heterogeneous data sources, which includes databases of any type that back the applications used by the company, data files exported by some applications, or APIs provided by internal or external services.
But designing a data warehouse correctly is a hard task, which requires gathering information about the business processes that need to be analysed in the first place. These processes must be translated into so-called star schemas, which means, denormalised databases where each table represents a dimension or facts.
We will discuss these topics:
- How to gather information about a business;
- Understanding dictionaries and how to identify business entities;
- Dimensions and facts;
- Setting a table granularity;
- Types of facts;
- Types of dimensions;
- Snowflakes and how to avoid them;
- Expanding existing dimensions and facts.
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.
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
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
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.
Project Management Semester Long Project - Acuityjpupo2018
Acuity is an innovative learning app designed to transform the way you engage with knowledge. Powered by AI technology, Acuity takes complex topics and distills them into concise, interactive summaries that are easy to read & understand. Whether you're exploring the depths of quantum mechanics or seeking insight into historical events, Acuity provides the key information you need without the burden of lengthy texts.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
5. Chapter 1
Introduction
This is a sample document for what will become the Ruby on Rails Tutorial book. It is by no means a real
book yet—there’s even some lorem ipsum text in what follows (see, e.g., Box 1.1 and Chapter 2). Its purpose
is to show that all the elements are in place to produce a pleasing final product, and to give a hint of what that
final product might eventually look like.
Box 1.1. Cicero dixit
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Ex-
cepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
1.1 Technology
Rails Tutorial is written in PolyTEXnic, a dialect of the LTEX technical typesetting system (which in turn
A
is based on TEX). I wrote PolyTEXnic because I wanted to produce both beautiful PDF (and hence print)
documents and pretty HTML documents at the same time, from the same source file. As a result, this
sample document is available both as HTML and as a PDF download. Both formats come with plenty of rich
book-y goodness, including a linked table of contents; numbered sections, tables, figures, and code listings;
linked cross references; syntax highlighting; numbered, shaded sidebars (Box 1.1); footnotes1 ; and even math
(Section 1.4).
Currently, PolyTEXnic is only available for my private use, but I plan to release it as an open-source
project once it’s battle-tested and ready for general consumption.
1 Like this.
5
6. 6 CHAPTER 1. INTRODUCTION
1.2 Sample code and such
Often, Rails books include lots of code samples and such. Let’s look at some examples of how PolyTEXnic
makes them both useful and pretty.
1.2.1 Code samples
We’ll likely have some Ruby code in our Rails tutorial, with snippets such as the following:
Listing 1.1. Part of the ClassMethods module in ActiveRecord::Validations.
module ClassMethods
.
.
.
# File rails-2.3.2/activerecord/lib/active_record/validations.rb, line 511
def validates_presence_of(*attr_names)
configuration = { :on => :save }
configuration.update(attr_names.extract_options!)
# can’t use validates_each here, because it cannot cope with
# nonexistent attributes, while errors.add_on_empty can
send(validation_method(configuration[:on]), configuration) do |record|
record.errors.add_on_blank(attr_names, configuration[:message])
end
end
.
.
.
end
Note that Listing 1.1 is both syntax-highlighted and numbered—and, as you can see, it can be cross-
referenced as well.
Of course, we’re not limited to vanilla Ruby; let’s also include some embedded Ruby:
Listing 1.2. The index.html.erb file for the People controller.
<%- column_div :type => :primary do -%>
<% unless @people.empty? -%>
<h2>People</h2>
<%= will_paginate %>
<ul class="list people">
<%= render :partial => @people %>
</ul>
<%= will_paginate %>
<% end -%>
<%- end -%>
<%- column_div :type => :secondary do -%>
7. 1.3. FIGURES AND TABLES 7
<%= render :partial => ’searches/box’ %>
<%= render :partial => ’shared/minifeed’ %>
<%- end -%>
In fact, we can include code in virtually any language and get nice syntax highlighting for free via the
excellent Pygments program:
;; Common Lisp
;; Return the square of the given number.
(defun square (x)
"Calculates the square of the single-float x."
(declare (single-float x) (optimize (speed 3) (debug 0) (safety 1)))
(* x x))
Note here that we have a nice highlighted code block, but no listing number. This is useful for short
snippets that aren’t likely ever to be referenced.
1.2.2 And such
Code isn’t everything; sometimes you just want to show shell commands. No problem:
$ rake -T db
(in /Users/mhartl/rails/rails_tutorial)
rake backup:db # Backup the current database.
rake db:avatars:delete # Delete all the avatars.
rake db:avatars:load # Make sample avatars.
.
.
.
We can also include console sessions:
>> a = 1
=> 1
>> puts a
1
=> nil
1.3 Figures and tables
It’s easy to include figures, such as screenshots (Fig. 1.1). (These are particularly useful for a tutorial.) We
can also make tables. I don’t have nice styling yet, but you get the idea (Table 1.1).
8. 8 CHAPTER 1. INTRODUCTION
Figure 1.1: A screenshot of the Rails Tutorial site.
Foo bar Baz Quux
foo bar baz quux
Table 1.1: An ugly table.
9. 1.4. MATH 9
1.4 Math
While LTEX is great for writing a programming book, DocBook might have worked as well, and rumor has
A
it DocBook can be converted to HTML. So why bother writing my own system? I went with LTEX for two
A
main reasons:
1. I don’t know DocBook, but I know LTEX well, so I could be confident in being able to hack something
A
together.
2. LTEX is great at math typesetting.
A
Though I expect Rails Tutorial will have little or no math, eventually I’d like to use this system to write
math-heavy articles and books, and DocBook can’t do math typesetting. So, in reality, the second consid-
eration alone was decisive, and—if you care about math typesetting—it’s not hard to see why; consider,
for example, the exponential decay factor e−t/τ , or the time-independent Schr¨ dinger equation in quantum
o
mechanics:
¯2
h 2
− +V ψ = Eψ
2m
Both these math examples look great by construction in the PDF version of this document (since LTEX is a
A
master math typesetter), but if you’re viewing them on the web you’ll see that they look great there, too.
How does this work? I began with the only place I’d seen nice math typesetting on the web: Wikipedia’s
math articles.2 This had always been a mystery, because all the nice math typesetting I’d ever seen was
produced by LTEX(or by TEX itself). So how does Wikipedia do it? Well, Wikipedia is built on top of
A
MediaWiki, and MediaWiki comes bundled with a program called texvc that converts wiki math markup to
pretty PNGs using—wait for it—LTEX. So PolyTEXnic, like MediaWiki, just uses texvc under the hood.3
A
2 Not quite true: MathWorld looks nice, too, but it’s closed-source.
3 Ifyou look at the MediaWiki source to find out how it does math conversion, you’ll see that it’s literally just a shell call to texvc,
so that’s what I did as well.
11. Chapter 2
Lorem ipsum
We certainly expect to have more than one chapter in this book. Here’s the start of a second one.
2.1 Lorem
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim
id est laborum.
Listing 2.1. The Forum model.
# == Schema Information
# Schema version: 20080916002106
#
# Table name: forums
#
# id :integer(4) not null, primary key
# name :string(255)
# description :text
# topics_count :integer(4) default(0), not null
# created_at :datetime
# updated_at :datetime
#
class Forum < ActiveRecord::Base
attr_accessible :name, :description
has_many :topics, :order => "created_at DESC", :dependent => :destroy
has_many :posts, :through => :topics
validates_length_of :name, :maximum => 255, :allow_nil => true
11
12. 12 CHAPTER 2. LOREM IPSUM
validates_length_of :description, :maximum => 1000, :allow_nil => true
end
2.2 Ipsum
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim
id est laborum.