Developing Feeds with RSS and Atom by Ben Hammersley

Total Page:16

File Type:pdf, Size:1020Kb

Developing Feeds with RSS and Atom by Ben Hammersley Developing Feeds with RSS and Atom By Ben Hammersley ............................................... Publisher: O'Reilly Pub Date: April 2005 ISBN: 0-596-00881-3 Pages: 272 Table of Contents | Index | Errata Perhaps the most explosive technological trend over the past two years has been blogging. As a matter of fact, it's been reported that the number of blogs during that time has grown from 100,000 to 4.8 million-with no end to this growth in sight. What's the technology that makes blogging tick? The answer is RSS--a format that allows bloggers to offer XML-based feeds of their content. It's also the same technology that's incorporated into the websites of media outlets so they can offer material (headlines, links, articles, etc.) syndicated by other sites. As the main technology behind this rapidly growing field of content syndication, RSS is constantly evolving to keep pace with worldwide demand. That's where Developing Feeds with RSS and Atom steps in. It provides bloggers, web developers, and programmers with a thorough explanation of syndication in general and the most popular technologies used to develop feeds. This book not only highlights all the new features of RSS 2.0-the most recent RSS specification-but also offers complete coverage of its close second in the XML-feed arena, Atom. The book has been exhaustively revised to explain: metadata interpretation the different forms of content syndication the increasing use of web services how to use popular RSS news aggregators on the market After an introduction that examines Internet content syndication in general (its purpose, limitations, and traditions), this step-by-step guide tackles various RSS and Atom vocabularies, as well as techniques for applying syndication to problems beyond news feeds. Most importantly, it gives you a firm handle on how to create your own feeds, and consume or combine other feeds. If you're interested in producing your own content feed, Developing Feeds with RSS and Atom is the one book you'll want in hand. Developing Feeds with RSS and Atom By Ben Hammersley ............................................... Publisher: O'Reilly Pub Date: April 2005 ISBN: 0-596-00881-3 Pages: 272 Table of Contents | Index Copyright Preface Audience Assumptions This Book Makes How This Book Is Organized Conventions Used in This Book Using Code Examples Safari Enabled Comments and Questions Acknowledgments Chapter 1. Introduction Section 1.1. What Are RSS and Atom for? Section 1.2. A Short History of RSS and Atom Section 1.3. Why Syndicate Your Content? Section 1.4. Legal Implications Chapter 2. Using Feeds Section 2.1. Web-Based Applications Section 2.2. Desktop Applications Section 2.3. Other Cunning Techniques Section 2.4. Finding Feeds to Read Chapter 3. Feeds Without Programming Section 3.1. From Email Section 3.2. From a Search Engine Section 3.3. From Online Stores Chapter 4. RSS 2.0 Section 4.1. Bringing Things Up to Date Section 4.2. The Basic Structure Section 4.3. Producing RSS 2.0 with Blogging Tools Section 4.4. Introducing Modules Section 4.5. Creating RSS 2.0 Feeds Chapter 5. RSS 1.0 Section 5.1. Metadata in RSS 2.0 Section 5.2. Resource Description Framework Section 5.3. RDF in XML Section 5.4. Introducing RSS 1.0 Section 5.5. The Specification in Detail Section 5.6. Creating RSS 1.0 Feeds Chapter 6. RSS 1.0 Modules Section 6.1. Module Status Section 6.2. Support for Modules in Common Applications Section 6.3. Other RSS 1.0 Modules Chapter 7. The Atom Syndication Format Section 7.1. Introducing Atom Section 7.2. The Atom Entry Document in Detail Section 7.3. Producing Atom Feeds Chapter 8. Parsing and Using Feeds Section 8.1. Important Issues Section 8.2. JavaScript Display Parsers Section 8.3. Parsing for Programming Section 8.4. Using Regular Expressions Section 8.5. Using XSLT Section 8.6. Client-Side Inclusion Section 8.7. Server-Side Inclusion Chapter 9. Feeds in the Wild Section 9.1. Once You Have Created Your Simple RSS Feed Section 9.2. Publish and Subscribe Section 9.3. Rolling Your Own: LinkPimp PubSub Section 9.4. LinkpimpClient.pl Chapter 10. Unconventional Feeds Section 10.1. Apache Logfiles Section 10.2. Code TODOs to RSS Section 10.3. Daily Doonesbury Section 10.4. Amazon.com Wishlist to RSS Section 10.5. FedEx Parcel Tracker Section 10.6. Google to RSS with SOAP Section 10.7. Last-Modified Files Section 10.8. Installed Perl Modules Section 10.9. The W3C Validator to RSS Section 10.10. Game Statistics to Excel Section 10.11. Feeds by SMS Section 10.12. Podcasting Weather Forecasts Section 10.13. Having Amazon Produce Its Own RSS Feeds Section 10.14. Cross-Poster for Movable Type Chapter 11. Developing New Modules Section 11.1. Namespaces and Modules Within RSS 2.0 and Atom Section 11.2. Case Study: mod_Book Section 11.3. Extending Your Desktop Reader Section 11.4. Introducing AmphetaDesk Appendix A. The XML You Need for RSS Section A.1. What Is XML? Section A.2. Anatomy of an XML Document Section A.3. Tools for Processing XML Appendix B. Useful Sites and Software Section B.1. Uber Resources Section B.2. Specification Documents Section B.3. Mailing Lists Section B.4. Validators Section B.5. Desktop Readers Colophon Index Copyright © 2005 O'Reilly Media, Inc. All rights reserved. Printed in the United States of America. Published by O'Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O'Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://safari.oreilly.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 [email protected] . Nutshell Handbook, the Nutshell Handbook logo, and the O'Reilly logo are registered trademarks of O'Reilly Media, Inc. Developing Feeds with RSS and Atom, the image of an American kestrel, and related trade dress are trademarks of O'Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O'Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. Preface This book is about RSS and Atom, the two most popular content-syndication technologies. From distributing the latest web site content to your desktop and powering loosely coupled applications on the Internet, to providing the building blocks of the Semantic Web, these two technologies are among the Internet's fastest growing. There are millions of RSS and Atom feeds available across the Web today; this book shows you how to read them, how to create your own, and how to build applications that use them. It covers: RSS 2.0 and its predecessors RSS 1.0 and the Semantic Web Atom and the latest generation of feed technology How to create and parse feeds Extending RSS and Atom through modules Using RSS and Atom on the desktop, on the Web, and in the enterprise Building RSS- and Atom-based applications Audience This book was written with two somewhat interrelated groups in mind: Web developers and web site authors This book should be read by all web developers who want to share their site with others by offering feeds of their content. This group includes everyone from webloggers and amateur journalists to those running large-budget, multiuser sites. Whether you're working on projects for multinational news organizations or neighborhood sports groups, with RSS and Atom, you can extend the reach, power, and utility of your product, and make your life easier and your work more productive. This book shows you how. Developers This book is also for developers who want to use the content other people are syndicating and build applications that produce feeds as their output. This group includes everyone from fan- site developers wanting the latest gaming news and intranet builders needing up-to-date financial information on the corporate Web, to developers looking to incorporate news feeds into artificially intelligent systems or build data-sharing applications across platforms. For you, this book delves into the interpretation of metadata, different forms of content syndication, and the increasing use of web services technology in this field. We'll also look at how you can extend the different flavors of RSS and Atom to fit your needs. Depending on your interests, you may find some chapters more necessary than others. Don't be afraid to skip around or look through the index. There are all kinds of ways to use RSS and Atom. Assumptions This Book Makes The technology used in this book is not all that hard to understand, and the concepts specific to RSS and Atom are fully explained. The book assumes some familiarity with HTML and, specifically, XML and its processing techniques, although you will be reminded of important technical points and given places to look for further information. (Appendix A provides a brief introduction to XML if you need one.) Most of the code in this book is written in Perl, but the examples are commented sufficiently to make things clear and easily portable. There are also some examples in PHP and Ruby. However, users of any language will get a lot from this book: the explanations of the standards and the uses of RSS and Atom are language-agnostic.
Recommended publications
  • Architecture of the World Wide Web, First Edition Editor's Draft 14 October 2004
    Architecture of the World Wide Web, First Edition Editor's Draft 14 October 2004 This version: http://www.w3.org/2001/tag/2004/webarch-20041014/ Latest editor's draft: http://www.w3.org/2001/tag/webarch/ Previous version: http://www.w3.org/2001/tag/2004/webarch-20040928/ Latest TR version: http://www.w3.org/TR/webarch/ Editors: Ian Jacobs, W3C Norman Walsh, Sun Microsystems, Inc. Authors: See acknowledgments (§8, pg. 42). Copyright © 2002-2004 W3C ® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Your interactions with this site are in accordance with our public and Member privacy statements. Abstract The World Wide Web is an information space of interrelated resources. This information space is the basis of, and is shared by, a number of information systems. In each of these systems, people and software retrieve, create, display, analyze, relate, and reason about resources. The World Wide Web uses relatively simple technologies with sufficient scalability, efficiency and utility that they have resulted in a remarkable information space of interrelated resources, growing across languages, cultures, and media. In an effort to preserve these properties of the information space as the technologies evolve, this architecture document discusses the core design components of the Web. They are identification of resources, representation of resource state, and the protocols that support the interaction between agents and resources in the space. We relate core design components, constraints, and good practices to the principles and properties they support. Status of this document This section describes the status of this document at the time of its publication.
    [Show full text]
  • Base64 Character Encoding and Decoding Modeling
    Base64 Character Encoding and Decoding Modeling Isnar Sumartono1, Andysah Putera Utama Siahaan2, Arpan3 Faculty of Computer Science,Universitas Pembangunan Panca Budi Jl. Jend. Gatot Subroto Km. 4,5 Sei Sikambing, 20122, Medan, Sumatera Utara, Indonesia Abstract: Security is crucial to maintaining the confidentiality of the information. Secure information is the information should not be known to the unreliable person, especially information concerning the state and the government. This information is often transmitted using a public network. If the data is not secured in advance, would be easily intercepted and the contents of the information known by the people who stole it. The method used to secure data is to use a cryptographic system by changing plaintext into ciphertext. Base64 algorithm is one of the encryption processes that is ideal for use in data transmission. Ciphertext obtained is the arrangement of the characters that have been tabulated. These tables have been designed to facilitate the delivery of data during transmission. By applying this algorithm, errors would be avoided, and security would also be ensured. Keywords: Base64, Security, Cryptography, Encoding I. INTRODUCTION Security and confidentiality is one important aspect of an information system [9][10]. The information sent is expected to be well received only by those who have the right. Information will be useless if at the time of transmission intercepted or hijacked by an unauthorized person [7]. The public network is one that is prone to be intercepted or hijacked [1][2]. From time to time the data transmission technology has developed so rapidly. Security is necessary for an organization or company as to maintain the integrity of the data and information on the company.
    [Show full text]
  • Media Manifest App Data
    Ref: TR-CPE-APPD CPE App Data Version: v1.1 Date: December 23, 2016 Cross-Platform Extras Application Data Motion Picture Laboratories, Inc. i Ref: TR-CPE-APPD CPE App Data Version: v1.1 Date: December 23, 2016 CONTENTS 1 Introduction .............................................................................................................. 1 1.1 Overview ........................................................................................................... 1 1.1.1 Technical Approach ................................................................................... 1 1.1.2 Extras Architecture .................................................................................... 1 1.2 Document Organization .................................................................................... 1 1.3 Document Notation and Conventions ............................................................... 1 1.3.1 XML Conventions ...................................................................................... 2 1.3.2 General Notes ........................................................................................... 3 1.4 Normative References ...................................................................................... 4 1.5 Informative References..................................................................................... 5 2 Application Data Model ............................................................................................ 6 2.1 Scope of usage ................................................................................................
    [Show full text]
  • Open Babel Documentation Release 2.3.1
    Open Babel Documentation Release 2.3.1 Geoffrey R Hutchison Chris Morley Craig James Chris Swain Hans De Winter Tim Vandermeersch Noel M O’Boyle (Ed.) December 05, 2011 Contents 1 Introduction 3 1.1 Goals of the Open Babel project ..................................... 3 1.2 Frequently Asked Questions ....................................... 4 1.3 Thanks .................................................. 7 2 Install Open Babel 9 2.1 Install a binary package ......................................... 9 2.2 Compiling Open Babel .......................................... 9 3 obabel and babel - Convert, Filter and Manipulate Chemical Data 17 3.1 Synopsis ................................................. 17 3.2 Options .................................................. 17 3.3 Examples ................................................. 19 3.4 Differences between babel and obabel .................................. 21 3.5 Format Options .............................................. 22 3.6 Append property values to the title .................................... 22 3.7 Filtering molecules from a multimolecule file .............................. 22 3.8 Substructure and similarity searching .................................. 25 3.9 Sorting molecules ............................................ 25 3.10 Remove duplicate molecules ....................................... 25 3.11 Aliases for chemical groups ....................................... 26 4 The Open Babel GUI 29 4.1 Basic operation .............................................. 29 4.2 Options .................................................
    [Show full text]
  • Supplement 211: Dicomweb Support for the Application/Zip Payload
    5 Digital Imaging and Communications in Medicine (DICOM) Supplement 211: 10 DICOMweb Support for the application/zip Payload 15 20 Prepared by: Bill Wallace, Brad Genereaux DICOM Standards Committee, Working Group 27 1300 N. 17th Street Rosslyn, Virginia 22209 USA 25 Developed in accordance with work item WI 2018 -09 -C VERSION: 19 January 16, 2020 Table of Contents Scope and Field of Application ........................................................................................................................................ iii 30 Open Questions ....................................................................................................................................................... iii Closed Questions .................................................................................................................................................... iiii 8.6.1.3.1 File Extensions ................................................................................................................................. viv 8.6.1.3.2 BulkData URI ................................................................................................................................... viv 8.6.1.3.3 Logical Format ........................................................................................................................................ viv 35 8.6.1.3.4 Metadata Representations ...................................................................................................................... viv Scope and Field of Application
    [Show full text]
  • Reference Guide
    Apache Syncope - Reference Guide Version 2.1.9 Table of Contents 1. Introduction. 2 1.1. Identity Technologies. 2 1.1.1. Identity Stores . 2 1.1.2. Provisioning Engines . 4 1.1.3. Access Managers . 5 1.1.4. The Complete Picture . 5 2. Architecture. 7 2.1. Core . 7 2.1.1. REST . 7 2.1.2. Logic . 8 2.1.3. Provisioning . 8 2.1.4. Workflow. 9 2.1.5. Persistence . 9 2.1.6. Security . 9 2.2. Admin UI. 10 2.2.1. Accessibility . 10 2.3. End-user UI. 12 2.3.1. Password Reset . 12 2.3.2. Accessibility . 13 2.4. CLI . 15 2.5. Third Party Applications. 15 2.5.1. Eclipse IDE Plugin . 15 2.5.2. Netbeans IDE Plugin. 15 3. Concepts . 16 3.1. Users, Groups and Any Objects . 16 3.2. Type Management . 17 3.2.1. Schema . 17 Plain . 17 Derived . 18 Virtual . 18 3.2.2. AnyTypeClass . 19 3.2.3. AnyType . 19 3.2.4. RelationshipType . 21 3.2.5. Type Extensions . 22 3.3. External Resources. 23 3.3.1. Connector Bundles . 24 3.3.2. Connector Instance details . 24 3.3.3. External Resource details . 25 3.3.4. Mapping . 26 3.3.5. Linked Accounts . 29 3.4. Realms . 29 3.4.1. Realm Provisioning . 30 3.4.2. LogicActions . 31 3.5. Entitlements. 31 3.6. Privileges . 31 3.7. Roles. 31 3.7.1. Delegated Administration . 32 3.8. Provisioning. 33 3.8.1. Overview. 33 3.8.2.
    [Show full text]
  • Atom-Feeds for Inspire
    ATOM-FEEDS FOR INSPIRE - Perspectives and Solutions for INSPIRE Download Services in NRW WWU Münster Institute for Geoinformatics Heisenbergstraße 2 48149 Münster Masterthesis in Geoinformatics 1. Supervisor: Hon.-Prof. Dr. Albert Remke 2. Supervisor: Dr. Christoph Stasch Arthur Rohrbach [email protected] November 2014 I Plagiatserklärung der / des Studierenden Hiermit versichere ich, dass die vorliegende Arbeit ATOM-Feeds for INSPIRE – Perspectives and Solutions for Download Services in NRW selbstständig verfasst worden ist, dass keine anderen Quellen und Hilfsmittel als die angegebenen benutzt worden sind und dass die Stellen der Arbeit, die anderen Werken – auch elektronischen Medien – dem Wortlaut oder Sinn nach entnommen wurden, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht worden sind. _____________________________________ (Datum, Unterschrift) Ich erkläre mich mit einem Abgleich der Arbeit mit anderen Texten zwecks Auffindung von Übereinstimmungen sowie mit einer zu diesem Zweck vorzunehmenden Speicherung der Arbeit in eine Datenbank einverstanden. _____________________________________ (Datum, Unterschrift) II Abstract One proposed solution for providing Download Services for INSPIRE is using pre- defined ATOM-Feeds. Up to now the realization of ATOM-Feeds in NRW is still at the beginning. This master thesis will investigate possible solutions in order to help developing a methodology for the implementation of pre-defined INSPIRE Download Services in NRW. Following research questions form the basis of the thesis: What implementing alternatives for automatic generation of ATOM-Feeds based on ISO metadata exist? How do the identified solutions suit in order to fulfil the requirements of NRW? In the first step required technologies are introduced, including ATOM, OpenSearch and OGC standards.
    [Show full text]
  • ISCRAM2005 Conference Proceedings Format
    Yee et al. The Tablecast Data Publishing Protocol The Tablecast Data Publishing Protocol Ka-Ping Yee Dieterich Lawson Google Medic Mobile [email protected] [email protected] Dominic König Dale Zak Sahana Foundation Medic Mobile [email protected] [email protected] ABSTRACT We describe an interoperability challenge that arose in Haiti, identify the parameters of a general problem in crisis data management, and present a protocol called Tablecast that is designed to address the problem. Tablecast enables crisis organizations to publish, share, and update tables of data in real time. It allows rows and columns of data to be merged from multiple sources, and its incremental update mechanism is designed to support offline editing and data collection. Tablecast uses a publish/subscribe model; the format is based on Atom and employs PubSubHubbub to distribute updates to subscribers. Keywords Interoperability, publish/subscribe, streaming, synchronization, relational table, format, protocol INTRODUCTION After the January 2010 earthquake in Haiti, there was an immediate need for information on available health facilities. Which hospitals had been destroyed, and which were still operating? Where were the newly established field clinics, and how many patients could they accept? Which facilities had surgeons, or dialysis machines, or obstetricians? Aid workers had to make fast decisions about where to send the sick and injured— decisions that depended on up-to-date answers to all these questions. But the answers were not readily at hand. The U. S. Joint Task Force began a broad survey to assess the situation in terms of basic needs, including the state of health facilities. The UN Office for the Coordination of Humanitarian Affairs (OCHA) was tasked with monitoring and coordinating the actions of the many aid organizations that arrived to help.
    [Show full text]
  • Best Recommended Visual Studio Extensions
    Best Recommended Visual Studio Extensions Windowless Agustin enthronizes her cascade so especially that Wilt outstretch very playfully. If necessary or unfooled August usually supple his spruces outhits indissolubly or freest enforcedly and centesimally, how dramaturgic is Rudolph? Delbert crepitated racially. You will reformat your best visual studio extensions quickly open a bit is a development in using frequently used by the references to build crud rest client certifications, stocke quelle mise en collectant et en nuestras páginas Used by Automattic for internal metrics for user activity, nice and large monitors. The focus of this extension is to keep the code dry, and UWP apps. To visual studio extensibility with other operating systems much more readable and let you recommended by agreeing you have gained popularity, make this is through git. How many do, i want it more information and press j to best recommended visual studio extensions installed too would be accessed by the best programming tips and accessible from. If, and always has been an independent body. Unity Snippets is another very capable snippet extension for Unity Developers. Code extension very popular programming language or visual studio extensibility interfaces. The best extensions based on your own dsl model behind this, but using the highlighted in. If you recommended completion. The recommended content network tool for best recommended visual studio extensions out of the method. This can prolong the times it takes to load a project. The best of vs code again after you with vs code is the basics and. Just a custom bracket characters that best recommended visual studio extensions? Extensions i though git projects visual studio is there are mostly coherent ramblings of the latest icon.
    [Show full text]
  • Unravel Data Systems Version 4.5
    UNRAVEL DATA SYSTEMS VERSION 4.5 Component name Component version name License names jQuery 1.8.2 MIT License Apache Tomcat 5.5.23 Apache License 2.0 Tachyon Project POM 0.8.2 Apache License 2.0 Apache Directory LDAP API Model 1.0.0-M20 Apache License 2.0 apache/incubator-heron 0.16.5.1 Apache License 2.0 Maven Plugin API 3.0.4 Apache License 2.0 ApacheDS Authentication Interceptor 2.0.0-M15 Apache License 2.0 Apache Directory LDAP API Extras ACI 1.0.0-M20 Apache License 2.0 Apache HttpComponents Core 4.3.3 Apache License 2.0 Spark Project Tags 2.0.0-preview Apache License 2.0 Curator Testing 3.3.0 Apache License 2.0 Apache HttpComponents Core 4.4.5 Apache License 2.0 Apache Commons Daemon 1.0.15 Apache License 2.0 classworlds 2.4 Apache License 2.0 abego TreeLayout Core 1.0.1 BSD 3-clause "New" or "Revised" License jackson-core 2.8.6 Apache License 2.0 Lucene Join 6.6.1 Apache License 2.0 Apache Commons CLI 1.3-cloudera-pre-r1439998 Apache License 2.0 hive-apache 0.5 Apache License 2.0 scala-parser-combinators 1.0.4 BSD 3-clause "New" or "Revised" License com.springsource.javax.xml.bind 2.1.7 Common Development and Distribution License 1.0 SnakeYAML 1.15 Apache License 2.0 JUnit 4.12 Common Public License 1.0 ApacheDS Protocol Kerberos 2.0.0-M12 Apache License 2.0 Apache Groovy 2.4.6 Apache License 2.0 JGraphT - Core 1.2.0 (GNU Lesser General Public License v2.1 or later AND Eclipse Public License 1.0) chill-java 0.5.0 Apache License 2.0 Apache Commons Logging 1.2 Apache License 2.0 OpenCensus 0.12.3 Apache License 2.0 ApacheDS Protocol
    [Show full text]
  • RSS Version History
    RRSSSS -- VVEERRSSIIOONN HHIISSTTOORRYY http://www.tutorialspoint.com/rss/rss-version-history.htm Copyright © tutorialspoint.com RSS was first invented by Netscape. They wanted to use an XML format to distribute news, stories, and information. Netscape refined the version of RSS and then dropped it. Later Userland Software started controlling RSS specifications and releasing newer RSS versions. They continued development of their own version of RSS and eventually UserLand released RSS v2. RSS has been released in many different versions. 12/27/97 - Dave Winer at Userland developed scriptingNews. RSS was born. 3/15/99 - Netscape developed RSS 0.90 whichsupportedscriptingNews. This was simply XML with an RDF Header and it was used for my.netscape.com. 6/15/99 - Dave Winer at UserLand develops scriptingNews 2.0b1, which included Netscape's RSS 0.90 features also. 7/10/99 - Netscape developed RSS 0.91. In this version they removed the RDF header, but included most features from scriptingNews 2.0b1. 7/28/99 - UserLand deprecated scriptingNews formats and adopted only RSS 0.91. Netscape stops their RSS development. 6/4/00 - UserLand releases the official RSS 0.91 specification. 8/14/00 - A group led by Rael Dornfest at O'Reilly, developed RSS 1.0. This format uses RDF and namespaces. This version is often confused as being a new version of 0.91, but this is a completely new format with no ties to RSS 0.91 12/25/00 - Dave Winer at UserLand develops RSS 0.92, which is 0.91 with optional elements. 04/20/01 - RSS0.93 was discussed but never deployed.
    [Show full text]
  • Wavefront Engineering for Manipulating Light-Atom Interactions
    WAVEFRONT ENGINEERING FOR MANIPULATING LIGHT-ATOM INTERACTIONS YEO XI JIE A0140239M [email protected] Report submitted to Department of Physics, National University of Singapore in partial fulfilment for the module PC3288/PC3289 Advanced UROPS in Physics I/II November 2017 Contents 1 Manipulations of Wavefronts 5 1.1 Motivations . 5 1.2 The Spatial Light Modulator (SLM) . 5 1.3 Controlling the SLM . 8 1.3.1 The Meadowlark XY Series SLM (P512L) . 8 1.3.2 Basic Concepts . 10 1.3.3 Display Configurations . 10 1.3.4 Controlling Phase Shifts with an Image . 10 2 Simple Applications of the SLM 15 2.1 Characterising Phase Shifts of the SLM . 15 2.1.1 Background of Experiment . 15 2.1.2 Implementation . 16 2.2 Beam Displacement by Blazed Grating . 20 2.3 Beam Position Measurements . 24 2.3.1 Method A: Using the birefringence of the SLM . 24 2.3.2 Method B: Fashioning the SLM as a Knife Edge . 26 2.4 Creating Laguerre-Gaussian Mode Beams . 29 3 Measuring Wavefronts 33 1 3.1 Hartmann-Shack Wavefront Sensor . 33 3.1.1 How it Works . 34 3.1.2 A Note on the Lenslet Array . 35 3.2 Zernike Modes . 36 4 Effect of Wavefront Corrections on Fiber Coupling 38 5 Conclusion 44 5.1 Future Outlook . 44 2 Acknowledgements First, I would like to thank Christian Kurtsiefer for giving me the opportunity to work in his group for this project. I would also like to thank everyone in the Quantum Optics group for making my journey through the project enriching and enjoyable, and for the technical help all of you have provided in the lab.
    [Show full text]