Productivity Hacks

Total Page:16

File Type:pdf, Size:1020Kb

Productivity Hacks PERL HACKSTM Other Perl resources from O’Reilly Related titles Perl Best Practices Programming Perl Perl Testing: A Devel- Intermediate Perl oper’s Notebook Perl Cookbook Advanced Perl Programming Hacks Series Home hacks.oreilly.com is a community site for developers and power users ofall stripes. Readers learn fromeach other as they share their favorite tips and tools for Mac OS X, Linux, Google, Windows XP, and more. Perl Books perl.oreilly.com is a complete catalog ofO’Reilly’s books Resource Center on Perl and related technologies, including sample chap- ters and code examples. Perl.com is the central web site for the Perl community. It is the perfect starting place for finding out everything there is to know about Perl. Conferences O’Reilly brings diverse innovators together to nurture the ideas that spark revolutionary industries. We special- ize in documenting the latest tools and systems, translating the innovator’s knowledge into useful skills for those in the trenches. Visit conferences.oreilly.com for our upcoming events. Safari Bookshelf (safari.oreilly.com) is the premier online reference library for programmers and IT professionals. Conduct searches across more than 1,000 books. Sub- scribers can zero in on answers to time-critical questions in a matter ofseconds. Read the books on your Book- shelf from cover to cover or simply flip to the page you need. Try it today for free. PERL HACKSTM chromatic with Damian Conway and Curtis "Ovid" Poe Beijing • Cambridge • Farnham • Köln • Paris • Sebastopol • Taipei • Tokyo Perl Hacks™ by chromatic with Damian Conway and Curtis “Ovid” Poe Copyright © 2006 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 (safari.oreilly.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Editors: Allison Randal and Tatiana Apandi Indexer: Johnna VanHoose Dinse Production Editor: Darren Kelly Cover Designer: Linda Palo Copyeditor: Nancy Reinhardt Interior Designer: David Futato Proofreader: Darren Kelly Illustrators: Robert Romano and Jessamyn Read Printing History: May 2006: First Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks ofO’Reilly Media, Inc. The Hacks series designations, Perl Hacks, the image ofa pair ofwork boots, 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. Small print: The technologies discussed in this publication, the limitations on these technologies that technology and content owners seek to impose, and the laws actually limiting the use ofthese technologies are constantly changing. Thus, some of the hacks described in this publication may not work, may cause unintended harm to systems on which they are used, or may not be consistent with applicable user agreements. Your use ofthese hacks is at your own risk, and O’Reilly Media, Inc. disclaims responsibility for any damage or expense resulting from their use. In any event, you should take care that your use of these hacks does not violate any applicable laws, including copyright laws. This book uses RepKover™, a durable and flexible lay-flat binding. ISBN13: 978-0-596-52674-0 [M] [4/08] (-Contents Credits . ix Preface . xv Chapter 1. Productivity Hacks . 1 1. Add CPAN Shortcuts to Firefox 1 2. Put Perldoc to Work 3 3. Browse Perl Docs Online 6 4. Make the Most of Shell Aliases 8 5. Autocomplete Perl Identifiers in Vim 11 6. Use the Best Emacs Mode for Perl 14 7. Enforce Local Style 15 8. Don’t Save Bad Perl 18 9. Automate Checkin Code Reviews 22 10. Run Tests from Within Vim 25 11. Run Perl from Emacs 26 Chapter 2. User Interaction . 28 12. Use $EDITOR As Your UI 28 13. Interact Correctly on the Command Line 30 14. Simplify Your Terminal Interactions 32 15. Alert Your Mac 37 16. Interactive Graphical Apps 39 17. Collect Configuration Information 45 18. Rewrite the Web 48 v Chapter 3. Data Munging . 51 19. Treat a File As an Array 51 20. Read Files Backwards 53 21. Use Any Spreadsheet As a Data Source 54 22. Factor Out Database Code 58 23. Build a SQL Library 61 24. Query Databases Dynamically Without SQL 63 25. Bind Database Columns 64 26. Iterate and Generate Expensive Data 66 27. Pull Multiple Values from an Iterator 68 Chapter 4. Working with Modules . 71 28. Shorten Long Class Names 71 29. Manage Module Paths 72 30. Reload Modified Modules 74 31. Create Personal Module Bundles 76 32. Manage Module Installations 78 33. Presolve Module Paths 81 34. Create a Standard Module Toolkit 83 35. Write Demos from Tutorials 85 36. Replace Bad Code from the Outside 87 37. Drink to the CPAN 89 38. Improve Exceptional Conditions 90 39. Search CPAN Modules Locally 93 40. Package Standalone Perl Applications 96 41. Create Your Own Lexical Warnings 99 42. Find and Report Module Bugs 101 Chapter 5. Object Hacks . 106 43. Turn Your Objects Inside Out 106 44. Serialize Objects (Mostly) for Free 109 45. Add Information with Attributes 111 46. Make Methods Really Private 113 47. Autodeclare Method Arguments 116 48. Control Access to Remote Objects 119 49. Make Your Objects Truly Polymorphic 122 50. Autogenerate Your Accessors 125 vi | Contents Chapter 6. Debugging . 129 51. Find Compilation Errors Fast 129 52. Make Invisible Characters Apparent 130 53. Debug with Test Cases 133 54. Debug with Comments 135 55. Show Source Code on Errors 138 56. Deparse Anonymous Functions 141 57. Name Your Anonymous Subroutines 143 58. Find a Subroutine’s Source 145 59. Customize the Debugger 146 Chapter 7. Developer Tricks . 150 60. Rebuild Your Distributions 150 61. Test with Specifications 151 62. Segregate Developer and User Tests 155 63. Run Tests Automatically 158 64. See Test Failure Diagnostics—in Color! 159 65. Test Live Code 162 66. Cheat on Benchmarks 164 67. Build Your Own Perl 166 68. Run Test Suites Persistently 168 69. Simulate Hostile Environments in Your Tests 173 Chapter 8. Know Thy Code . 178 70. Understand What Happens When 178 71. Inspect Your Data Structures 182 72. Find Functions Safely 184 73. Know What’s Core and When 186 74. Trace All Used Modules 187 75. Find All Symbols in a Package 191 76. Peek Inside Closures 193 77. Find All Global Variables 196 78. Introspect Your Subroutines 198 79. Find Imported Functions 202 80. Profile Your Program Size 204 81. Reuse Perl Processes 206 Contents | vii 82. Trace Your Ops 208 83. Write Your Own Warnings 211 Chapter 9. Expand Your Perl Foo . 215 84. Double Your Data with Dualvars 215 85. Replace Soft References with Real Ones 217 86. Optimize Away the Annoying Stuff 219 87. Lock Down Your Hashes 221 88. Clean Up at the End of a Scope 222 89. Invoke Functions in Odd Ways 224 90. Glob Those Sequences 230 91. Write Less Error-Checking Code 233 92. Return Smarter Values 235 93. Return Active Values 238 94. Add Your Own Perl Syntax 241 95. Modify Semantics with a Source Filter 244 96. Use Shared Libraries Without XS 248 97. Run Two Services on a Single TCP Port 250 98. Improve Your Dispatch Tables 253 99. Track Your Approximations 257 100. Overload Your Operators 260 101. Learn from Obfuscations 264 Index . 267 viii | Contents 0 Credits About the Authors chromatic works for O’Reilly Media, where he edits the free and open source web sites ofthe O’Reilly Network. In his spare time, he writes books such as this one. In the remaining minutes, he contributes to the CPAN, Perl 5, Perl 6, Parrot, and even Pugs. He lives just west ofPortland, Oregon by a park and a creek and would like to finish more projects someday, including writing a novel, a comic book, a television show, and sleeping. Catch up on his hobbies at http://wgz.org/chromatic. Dr. Damian Conway is a professional Perl boffin. As the author of numer- ous popular CPAN modules (http://search.cpan.org/~dconway) and two highly regarded books on Perl, he is also a widely sought-after conference speaker and runs an international IT training company—Thoughtstream (http://damian.conway.org)—which provides Perl training from beginner to masterclass level throughout Europe, North America, and Australasia. He spends most ofhis less-than-copious freetime working with Larry Wall on the design ofPerl 6. [Hack #5], [Hack #13], [Hack #14], [Hack #34], [Hack #54], [Hack #86], [Hack #90], [Hack #92], [Hack #93], [Hack #94], [Hack #95], [Hack #99], [Hack #100] Earlier this century, displaying his usual stellar sense oftiming, Curtis “Ovid” Poe switched from mainframes to web programming in Perl and promptly watched the dot-com industry implode. Despite this minor set- back and working for several currently non-existent companies, Ovid stuck with Perl and actually discovered he liked it. A frequent speaker at user groups and author ofnumerous CPAN modules and a popular Perl CGI course, Ovid is a Perl Foundation Steering Committee member and also heads the TPF grant committee.
Recommended publications
  • Easybuild Documentation Release 20210907.0
    EasyBuild Documentation Release 20210907.0 Ghent University Tue, 07 Sep 2021 08:55:41 Contents 1 What is EasyBuild? 3 2 Concepts and terminology 5 2.1 EasyBuild framework..........................................5 2.2 Easyblocks................................................6 2.3 Toolchains................................................7 2.3.1 system toolchain.......................................7 2.3.2 dummy toolchain (DEPRECATED) ..............................7 2.3.3 Common toolchains.......................................7 2.4 Easyconfig files..............................................7 2.5 Extensions................................................8 3 Typical workflow example: building and installing WRF9 3.1 Searching for available easyconfigs files.................................9 3.2 Getting an overview of planned installations.............................. 10 3.3 Installing a software stack........................................ 11 4 Getting started 13 4.1 Installing EasyBuild........................................... 13 4.1.1 Requirements.......................................... 14 4.1.2 Using pip to Install EasyBuild................................. 14 4.1.3 Installing EasyBuild with EasyBuild.............................. 17 4.1.4 Dependencies.......................................... 19 4.1.5 Sources............................................. 21 4.1.6 In case of installation issues. .................................. 22 4.2 Configuring EasyBuild.......................................... 22 4.2.1 Supported configuration
    [Show full text]
  • Bioperl What’S Bioperl?
    Bioperl What’s Bioperl? Bioperl is not a new language It is a collection of Perl modules that facilitate the development of Perl scripts for bioinformatics applications. Bioperl and perl Bioperl Modules Perl Modules Perls script input Perl Interpreter output Bioperl and Perl Why bioperl for bioinformatics? Perl is good at file manipulation and text processing, which make up a large part of the routine tasks in bioinformatics. Perl language, documentation and many Perl packages are freely available. Perl is easy to get started in, to write small and medium-sized programs. Where to get help Type perldoc <modulename> in terminal Search for particular module in https://metacpan.org Bioperl Document Object-oriented and Process-oriented programming Process-oriented: Yuan Hao eats chicken Name object: $name Action method: eat Food object: $food Object-oriented: $name->eat($food) Modularize the program Platform and Related Software Required Perl 5.6.1 or higher Version 5.8 or higher is highly recommended make for Mac OS X, this requires installing the Xcode Developer Tools Installation On Linux or Max OS X Install from cpanminus: perlbrew install-cpanm cpanm Bio::Perl Install from source code: git clone https://github.com/bioperl/bioperl-live.git cd bioperl-live perl Build.PL ./Build test (optional) ./Build install Installation On Windows Install MinGW (MinGW is incorporated in Strawberry Perl, but must it be installed through PPM for ActivePerl) : ppm install MinGW Install Module::Build, Test::Harness and Test::Most through CPAN: Type cpan to enter the CPAN shell. At the cpan> prompt, type install CPAN Quit (by typing ‘q’) and reload CPAN.
    [Show full text]
  • The Bioperl Toolkit: Perl Modules for the Life Sciences
    Downloaded from genome.cshlp.org on January 25, 2012 - Published by Cold Spring Harbor Laboratory Press The Bioperl Toolkit: Perl Modules for the Life Sciences Jason E. Stajich, David Block, Kris Boulez, et al. Genome Res. 2002 12: 1611-1618 Access the most recent version at doi:10.1101/gr.361602 Supplemental http://genome.cshlp.org/content/suppl/2002/10/20/12.10.1611.DC1.html Material References This article cites 14 articles, 9 of which can be accessed free at: http://genome.cshlp.org/content/12/10/1611.full.html#ref-list-1 Article cited in: http://genome.cshlp.org/content/12/10/1611.full.html#related-urls Email alerting Receive free email alerts when new articles cite this article - sign up in the box at the service top right corner of the article or click here To subscribe to Genome Research go to: http://genome.cshlp.org/subscriptions Cold Spring Harbor Laboratory Press Downloaded from genome.cshlp.org on January 25, 2012 - Published by Cold Spring Harbor Laboratory Press Resource The Bioperl Toolkit: Perl Modules for the Life Sciences Jason E. Stajich,1,18,19 David Block,2,18 Kris Boulez,3 Steven E. Brenner,4 Stephen A. Chervitz,5 Chris Dagdigian,6 Georg Fuellen,7 James G.R. Gilbert,8 Ian Korf,9 Hilmar Lapp,10 Heikki Lehva¨slaiho,11 Chad Matsalla,12 Chris J. Mungall,13 Brian I. Osborne,14 Matthew R. Pocock,8 Peter Schattner,15 Martin Senger,11 Lincoln D. Stein,16 Elia Stupka,17 Mark D. Wilkinson,2 and Ewan Birney11 1University Program in Genetics, Duke University, Durham, North Carolina 27710, USA; 2National Research Council of
    [Show full text]
  • Vasco Da Rocha Figueiras Algoritmos Para Genómica Comparativa
    Universidade de Aveiro Departamento Electrónica, Telecomunicações 2010 e Informática Vasco da Rocha Algoritmos para Genómica Comparativa Figueiras Universidade de Aveiro Departamento de Electrónica, Telecomunicações 2010 e Informática Vasco da Rocha Algoritmos para Genómica Comparativa Figueiras Dissertação apresentada à Universidade de Aveiro para cumprimento dos requisitos necessários à obtenção do grau de Mestre em Engenharia Electrónica e Telecomunicações, realizada sob a orientação científica do Doutor José Luís Oliveira, Professor associado da Universidade de Aveiro. o júri presidente Prof. Doutor Armando José Formoso de Pinho Professor Associado do Departamento de Electrónica, Telecomunicações e Informática da Universidade de Aveiro Prof. Doutor Rui Pedro Sanches de Castro Lopes Professor Coodenador do Departamento de Informática e Comunicações do Instituto Politécnico de Bragança orientador Prof. Doutor José Luis Guimarães de Oliveira Professor Associado do Departamento de Electrónica, Telecomunicações e Informática da Universidade de Aveiro agradecimentos Durante o desenvolvimento desta dissertação, recebi muito apoio de colegas e amigos. Agora que termino o trabalho não posso perder a oportunidade de agradecer a todas as pessoas que me ajudaram nesta etapa. Um agradecimento ao meu orientador Professor Doutor José Luís Oliveira e ao Doutor Miguel Monsanto Pinheiro, pela oportunidade de aprendizagem. À minha família pelo apoio incondicional, incentivo e carinho. Aos meus colegas e amigos por toda a ajuda e pelos momentos de convívio e de descontracção, que quebraram tantas dificuldades, ao longo desta etapa. A ti, Rita por todo o carinho, paciência e amor. palavras-chave Bioinformática, sequenciação, BLAST, alinhamento de sequências, genómica comparativa. resumo Com o surgimento da Genómica e da Proteómica, a Bioinformática conduziu a alguns dos avanços científicos mais relevantes do século XX.
    [Show full text]
  • Perl for Bioinformatics Perl and Bioperl I
    Perl for Bioinformatics Perl and BioPerl I Jason Stajich July 13, 2011 Perl for Bioinformatics Slide 1/83 Outline Perl Intro Basics Syntax and Variables More complex: References Routines Reading and Writing Regular Expressions BioPerl Intro Useful modules Data formats Databases in BioPerl Sequence objects details Trees Multiple Alignments BLAST and Sequence Database searching Other general Perl modules Perl for Bioinformatics Perl Intro Slide 2/83 Outline Perl Intro Basics Syntax and Variables More complex: References Routines Reading and Writing Regular Expressions BioPerl Intro Useful modules Data formats Databases in BioPerl Sequence objects details Trees Multiple Alignments BLAST and Sequence Database searching Other general Perl modules Perl for Bioinformatics Perl Intro Basics Slide 3/83 Why Perl for data processing & bioinformatics Fast text processing Regular expressions Extensive module libraries for pre-written tools Large number of users in community of bioinformatics Scripts are often faster to write than full compiled programs Cons Syntax sometimes confusing to new users; 'There's more than one way to do it' can also be confusing. (TMTOWTDI) Cons Not a true object-oriented language so some abstraction is clunky and hacky Scripting languages (Perl, Python, Ruby) generally easier to write simply than compiled ones (C, C++, Java) as they are often not strongly typed and less memory management control. Perl for Bioinformatics Perl Intro Basics Slide 4/83 Perl packages CPAN - Comprehensive Perl Archive http://www.cpan.org Perl
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Index Images Download 2006 News Crack Serial Warez Full 12 Contact
    index images download 2006 news crack serial warez full 12 contact about search spacer privacy 11 logo blog new 10 cgi-bin faq rss home img default 2005 products sitemap archives 1 09 links 01 08 06 2 07 login articles support 05 keygen article 04 03 help events archive 02 register en forum software downloads 3 security 13 category 4 content 14 main 15 press media templates services icons resources info profile 16 2004 18 docs contactus files features html 20 21 5 22 page 6 misc 19 partners 24 terms 2007 23 17 i 27 top 26 9 legal 30 banners xml 29 28 7 tools projects 25 0 user feed themes linux forums jobs business 8 video email books banner reviews view graphics research feedback pdf print ads modules 2003 company blank pub games copyright common site comments people aboutus product sports logos buttons english story image uploads 31 subscribe blogs atom gallery newsletter stats careers music pages publications technology calendar stories photos papers community data history arrow submit www s web library wiki header education go internet b in advertise spam a nav mail users Images members topics disclaimer store clear feeds c awards 2002 Default general pics dir signup solutions map News public doc de weblog index2 shop contacts fr homepage travel button pixel list viewtopic documents overview tips adclick contact_us movies wp-content catalog us p staff hardware wireless global screenshots apps online version directory mobile other advertising tech welcome admin t policy faqs link 2001 training releases space member static join health
    [Show full text]
  • Web & Grid Technologies in Bioinformatics, Computational And
    Current Bioinformatics, 2008, 3, 000-000 1 Web & Grid Technologies in Bioinformatics, Computational and Systems Biology: A Review Azhar A. Shah1, Daniel Barthel1, Piotr Lukasiak2,3, Jacek Blazewicz2,3 and Natalio Krasnogor*,1 1School of Computer Science, University of Nottingham, Jubilee Campus, NG81BB, Nottingham, UK 2Institute of Computing Science, Poznan University of Technology, Piotrowo 2, 60-965 Poznan, Poland 3Institute of Bioorganic Chemistry, Laboratory of Bioinformatics, Polish Academy of Sciences, Noskowskiego 12/14, 61- 704 Poznan, Poland Abstract: The acquisition of biological data, ranging from molecular characterization and simulations (e.g. protein fold- ing dynamics), to systems biology endeavors (e.g. whole organ simulations) all the way up to ecological observations (e.g. as to ascertain climate change’s impact on the biota) is growing at unprecedented speed. The use of computational and networking resources is thus unavoidable. As the datasets become bigger and the acquisition technology more refined, the biologist is empowered to ask deeper and more complex questions. These, in turn, drive a runoff effect where large re- search consortia emerge that span beyond organizations and national boundaries. Thus the need for reliable, robust, certi- fied, curated, accessible, secure and timely data processing and management becomes entrenched within, and crucial to, 21st century biology. Furthermore, the proliferation of biotechnologies and advances in biological sciences has produced a strong drive for new informatics solutions, both at the basic science and technological levels. The previously unknown situation of dealing with, on one hand, (potentially) exabytes of data, much of which is noisy, has large experimental er- rors or theoretical uncertainties associated with it, or on the other hand, large quantities of data that require automated computationally intense analysis and processing, have produced important innovations in web and grid technology.
    [Show full text]
  • BINF 634 Bioinformatics Programming
    UNIVERSITA’ DEGLI Teacher: Matteo Re STUDI DI MILANO Metodi e linguaggi per il trattamento dei dati PERL scripting S introduction • PERL programming • Problem solving and Debugging • To read and write documentation • Data manipulation: filtering and transformation • Pattern matching and data mining (examples) • Example application: Computational Biology • Analysis and manipulation of biological sequences • Interaction with biological batabases (NCBI, EnsEMBL, UCSC) • BioPERL Objectives Guidelines • Operating system • During class appointments we will use windows • PERL installation WIN: http://www.activestate.com/activeperl/downloads UNIX, MacOS: available by default • Text editor PERL are saved as text files. Many options available… Vim (UNIX like OS) Notepad (Windows) Sequence file – FASTA format >gi|40457238|HIV-1 isolate 97KE128 from Kenya gag gene, partial cds CTTTTGAATGCATGGGTAAAAGTAATAGAAGAAAGAGGTTTCAGTCCAGAAGTAATACCCATGTTCTCAG CATTATCAGAAGGAGCCACCCCACAAGATTTAAATACGATGCTGAACATAGTGGGGGGACACCAGGCAGC TATGCAAATGCTAAAGGATACCATCAATGAGGAAGCTGCAGAATGGGACAGGTTACATCCAGTACATGCA GGGCCTATTCCGCCAGGCCAGATGAGAGAACCAAGGGGAAGTGACATAGCAGGAACTACTAGTACCCCTC AAGAACAAGTAGGATGGATGACAAACAATCCACCTATCCCAGTGGGAGACATCTATAAAAGATGGATCAT CCTGGGCTTAAATAAAATAGTAAGAATGTATAGCCCTGTTAGCATTTTGGACATAAAACAAGGGCCAAAA GAACCCTTTAGAGACTATGTAGATAGGTTCTTTAAAACTCTCAGAGCCGAACAAGCTT >gi|40457236| HIV-1 isolate 97KE127 from Kenya gag gene, partial cds TTGAATGCATGGGTGAAAGTAATAGAAGAAAAGGCTTTCAGCCCAGAAGTAATACCCATGTTCTCAGCAT TATCAGAAGGAGCCACCCCACAAGATTTAAATATGATGCTGAATATAGTGGGGGGACACCAGGCAGCTAT
    [Show full text]
  • Pragmaticperl-Interviews-A4.Pdf
    Pragmatic Perl Interviews pragmaticperl.com 2013—2015 Editor and interviewer: Viacheslav Tykhanovskyi Covers: Marko Ivanyk Revision: 2018-03-02 11:22 © Pragmatic Perl Contents 1 Preface .......................................... 1 2 Alexis Sukrieh (April 2013) ............................... 2 3 Sawyer X (May 2013) .................................. 10 4 Stevan Little (September 2013) ............................. 17 5 chromatic (October 2013) ................................ 22 6 Marc Lehmann (November 2013) ............................ 29 7 Tokuhiro Matsuno (January 2014) ........................... 46 8 Randal Schwartz (February 2014) ........................... 53 9 Christian Walde (May 2014) .............................. 56 10 Florian Ragwitz (rafl) (June 2014) ........................... 62 11 Curtis “Ovid” Poe (September 2014) .......................... 70 12 Leon Timmermans (October 2014) ........................... 77 13 Olaf Alders (December 2014) .............................. 81 14 Ricardo Signes (January 2015) ............................. 87 15 Neil Bowers (February 2015) .............................. 94 16 Renée Bäcker (June 2015) ................................ 102 17 David Golden (July 2015) ................................ 109 18 Philippe Bruhat (Book) (August 2015) . 115 19 Author .......................................... 123 i Preface 1 Preface Hello there! You have downloaded a compilation of interviews done with Perl pro- grammers in Pragmatic Perl journal from 2013 to 2015. Since the journal itself is in Russian
    [Show full text]
  • Modern Perl, Fourth Edition
    Prepared exclusively for none ofyourbusiness Prepared exclusively for none ofyourbusiness Early Praise for Modern Perl, Fourth Edition A dozen years ago I was sure I knew what Perl looked like: unreadable and obscure. chromatic showed me beautiful, structured expressive code then. He’s the right guy to teach Modern Perl. He was writing it before it existed. ➤ Daniel Steinberg President, DimSumThinking, Inc. A tour de force of idiomatic code, Modern Perl teaches you not just “how” but also “why.” ➤ David Farrell Editor, PerlTricks.com If I had to pick a single book to teach Perl 5, this is the one I’d choose. As I read it, I was reminded of the first time I read K&R. It will teach everything that one needs to know to write Perl 5 well. ➤ David Golden Member, Perl 5 Porters, Autopragmatic, LLC I’m about to teach a new hire Perl using the first edition of Modern Perl. I’d much rather use the updated copy! ➤ Belden Lyman Principal Software Engineer, MediaMath It’s not the Perl book you deserve. It’s the Perl book you need. ➤ Gizmo Mathboy Co-founder, Greater Lafayette Open Source Symposium (GLOSSY) Prepared exclusively for none ofyourbusiness We've left this page blank to make the page numbers the same in the electronic and paper books. We tried just leaving it out, but then people wrote us to ask about the missing pages. Anyway, Eddy the Gerbil wanted to say “hello.” Prepared exclusively for none ofyourbusiness Modern Perl, Fourth Edition chromatic The Pragmatic Bookshelf Dallas, Texas • Raleigh, North Carolina Prepared exclusively for none ofyourbusiness Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks.
    [Show full text]
  • Vom Weblog Lernen... Community, Peer-To-Peer Und Eigenständigkeit
    Vom Weblog lernen... Community, Peer-to-Peer und Eigenst¨andigkeit als ein Modell fur¨ zukunftige¨ Wissenssammlungen∗ J¨org Kantel Der Schockwellenreiter www.schockwellenreiter.de 20. Mai 2003 Zusammenfassung Das Internet erscheint vielen als unubersichtlicher,¨ anarchischer Raum, in dem zwar alles zu finden ist, aber nicht das, wonach man sucht (Lost in Cyberspace). Die bisherigen L¨osungsans¨atze bestanden in der Regel darin, daß man versuchte, die Informationen zentral zu sammeln, zu bundeln¨ und sie geordnet“ wieder zur Verfugung¨ zu stel- ” len. Demgegenuber¨ sind in den letzten Jahre mit den Weblogs und um die Weblogs herum Strategien entstanden, wie verteilte Informationen behandelt und dennoch zug¨anglich gemacht werden k¨onnen. Dieser Ar- tikel zeigt auf, was fur¨ verteilte Informationssammlungen spricht, wie Weblogs mit uber¨ das gesamte Netz verstreuten Informationen umge- hen, um dann zu untersuchen, wie die dabei entstandenen Techniken auch auf andere Wissenssammlungen im Internet angewandt werden k¨onnen. Beispielhaft wird das an der Implementierung einer verteilten Musiknoten-Sammlung aufgezeigt. ∗Keynote speach given at BlogTalk - A European Conference On Weblogs: Web-based publishing, communication and collaboration tools for professional and private use, Vien- na, May 23 - 24, 2003 1 1 Motivation 1.1 Weblogs und pers¨onliche Wissenssammlungen 1.1.1 Was sind Weblogs Auch wenn manchmal etwas anderes behauptet wird, werden Weblogs als Medienereignis fruhestens¨ seit 1999 (in Deutschland nicht vor 2000) von der Offentlichkeit¨ wahrgenommen1. Im Gegensatz zu der schon vor 1999 existie- renden Tagebuchszene (die ihre Webseiten noch liebvoll mit handgestrick- ” tem“ HTML pflegte), sind Weblogs ohne die dazugeh¨orende Software, wie z.B. Blogger (www.blogger.com), Radio UserLand (radio.uslerland.com) oder Movable Type (www.movabletype.org) nicht zu denken.
    [Show full text]