Writing Clean and Pythonic Code

Total Page:16

File Type:pdf, Size:1020Kb

Writing Clean and Pythonic Code SQI Seminar Series Writing Clean and Pythonic Code James Mertz (5125 – Software Quality Assurance) © 2019 California Institute of Technology. Government sponsorship acknowledged. About Me • Started at JPL in 2018 • Software QA Engineer for the Europa Clipper Project • Using Python for ~10 years • Software Test Engineer • JPL side tools • Hobby • GitHub Profiles • JPL: https://github.jpl.nasa.gov/mertz • Public: https://github.com/mertzjames © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov Abstract Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code readability with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects. New Python developers sometimes struggle with “Pythonic” philosophy of clean, readable code. In this presentation, I will share with you my top techniques to make your Python code cleaner and easier to read. © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov Why Should I Care About Clean Python Code? Guido Van Rossum (Python Creator) “Code is read much more often than it is written.” File:Guido-portrait-2014-curvves.jpg. (2019, May 24). Wikimedia Commons, the free media repository. Retrieved 17:04, August 13, 2019 from https://commons.wikimedia.org/w/index.php?title=File:Guido-portrait-2014-curvves.jpg&oldid=351725518. © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov What Does It Mean to be Pythonic? The Zen of Python; import this Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov The 4 Ways… 1. Use tools to help you. 2. Properly structure your project. 3. Follow a Style Guide. 4. Document all the things! © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 1. Use Tools To Help You • Tools such as IDEs, linters, and auto formatting modules can: • Make writing clean code easier • Make writing your code quicker • Make your code easier to test • Make it easier to refactor (change) you code © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 1. Use Tools To Help You Suggested Tools • black.py – Auto-formatting tool for the PEP 8 Style Guide. (Officially supported and maintained by Python Software Foundation) • PyLint – Linter (checking tool) that includes checking for PEP 8 Style Guide. • PyCharm – Full Python developmental IDE that incorporates the features of black.py and PyLint. (Supported by CAE) • VS Code – Text Editor with a Python extension that incorporates the features of black.py and PyLint. • Sphinx - Documentation site generator. © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 2. Properly Structure Your Project • Properly structuring your project will: • Make the project easier to navigate and read • Enable you to quickly make changes • Guide your development process © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 2. Properly Structure Your Project Suggested Project Layout: Notebooks • notebooks/ - The location of all your notebooks project_root/ • data/ - Any data (external, interim, processed, and raw) │ • reports/ - Reports intended for your audience ├── notebooks/ • Cookie Cutter: https://github.jpl.nasa.gov/mertz/project_cookiec ├── data/ utter_notebook • For more complex projects, consider this ├── reports/ “cookie cutter”: https://drivendata.github.io/cookiecutter-data- └── README science/ © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 2. Properly Structure Your Project Suggested Project Layout: One off scripts project_root/ • project.py – The main script • tests.py – A script that conducts testing │ of the main script • requirements.txt – A list of any third ├── project.py party packages required to run the script ├── tests.py • README – A brief overview of what your project is, how to use, and how to install ├── requirements.txt • setup.py – A special script used to “install” your script (optional) ├── README • Cookie Cutter: https://github.jpl.nasa.gov/mertz/project_c └── setup.py ookiecutter_script © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 2. Properly Structure Your Project Suggested Project Layout: Installable Packages project_root/ • project/ - The source of your project code • tests/ - A collection of testing scripts that test out │ your source code ├── project/ • docs/ - A collection of documentation for the project (including Tutorials, How-To Guides, References, ├── tests/ and Explanations) ├── docs/ • HOW_TO_CONTRIBUTE – How others from the ├── HOW_TO_CONTRIBUTE team (or puBlic) can help to contriBute to the project • examples.py – A small script that shows examples ├── examples.py of how to use your project (optional) • requirements.txt, README, and setup.py are the ├── requirements.txt same as previous slide ├── README • Cookie Cutter: https://githuB.jpl.nasa.gov/mertz/project_cookiecutt └── setup.py er_package © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 3. Follow a Style Guide Relevant XKCD: https://xkcd.com/1513/ “Code Quality” by Randall Munroe is licensed under CC BY 2.5 © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 3. Follow a Style Guide Relevant XKCD: https://xkcd.com/1513/ “Code Quality” by Randall Munroe is licensed under CC BY 2.5 © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 3. Follow a Style Guide Relevant XKCD: https://xkcd.com/1513/ “Code Quality” by Randall Munroe is licensed under CC BY 2.5 © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 3. Follow a Style Guide Relevant XKCD: https://xkcd.com/1513/ “Code Quality” by Randall Munroe is licensed under CC BY 2.5 © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 3. Follow a Style Guide PEP 8 • I recommend starting with PEP 8 • PEP – Python Enhancement Proposal • A collection of suggestions on how to improve Python • PEP 8 is the official style guide for Python • https://www.python.org/dev/peps/pep-0008/ • “A style guide is about consistency. Consistency with this style guide is important. Consistency within a project is more important. Consistency within one module or function is the most important.” • Tools such as PyLint or black and IDEs such as PyCharm or VS Code will automatically check for PEP 8 adherence © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 3. Follow a Style Guide PEP 8 Examples: Indentation • Use 4 spaces per indentation level • Do not use tabs • Mixing tabs and spaces will raise an error in Python 3 • Using tabs instead of spaces may change the way that the Python file is viewed • Most IDEs will insert spaces instead of tabs when using the tab key • PyCharm and VS Code have these as configurable settings © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 3. Follow a Style Guide PEP 8 Examples: Indentation © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 3. Follow a Style Guide PEP 8 Examples: Indentation © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 3. Follow a Style Guide PEP 8 Examples: Line length 79 88 • Keep a consistent max line length • 88 chars is what black auto formats to • No more than 99 chars • No less than 79 chars • Comments and Docstrings should be limited to 72 characters • Use “rulers” in IDEs to place a visual guide • Why? • Terminals • Presentations • Reports • Online © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 3. Follow a Style Guide PEP 8 Examples: Arguments • Try to limit your functions to no more than 2 or 3 arguments • If you must have more, do not exceed your selected line length • Keep arguments lined up and indented to distinguish between arguments listed and start of function code • If calling a function that require multiple arguments that spans multiple lines, add an additional level of identation © 2019 California Institute of Technology. Government sponsorship acknowledged. jpl.nasa.gov 3. Follow a Style Guide PEP 8 Examples: Arguments There is a clear distinction between arguments It’s not immediately clear where the arguments and
Recommended publications
  • Hacking Motivation
    Hacking Life • Hacking Life Chapter 4: Hacking Motivation Joseph Reagle Published on: Apr 03, 2019 Updated on: Apr 09, 2019 Hacking Life • Hacking Life Chapter 4: Hacking Motivation On a lovely summer day, I headed to San Francisco’s Presidio Park for a picnic unlike any other I have attended. The small gathering was for fans of the motivation app Beeminder, and Nick Winter, author of The Motivation Hacker, was the special guest. Winter is the “founder/hacker” behind Skritter, an app for learning Chinese characters, and CodeCombat, a platform that gamifies learning to code. It’s clear that despite being someone who sometimes spends many hours in front of a computer, like Ferriss and Tynan, he isn’t content with the skinny-nerd stereotype. Winter’s webpage features a picture of him doing a single-arm handstand: he’s wearing a Google T-shirt, thin-soled “five-finger” shoes—also preferred by Tynan—and a surprisingly serene expression for someone who is upside down (figure 4.1). When I met at him at the picnic, he was wearing the same nonshoes and tossing a Frisbee. 2 Hacking Life • Hacking Life Chapter 4: Hacking Motivation Nick Winter doing a handstand, 2013, http://www.nickwinter.net/. Used with permission. The Motivation Hacker is a lab report of self-experimentation and a tutorial on how to maximize motivation. Winter’s goal had been to write the book in three months “while simultaneously 3 Hacking Life • Hacking Life Chapter 4: Hacking Motivation skydiving, learn three thousand new Chinese characters, go on ten romantic dates with his
    [Show full text]
  • Blog Title Blog URL Blog Owner Blog Category Technorati Rank
    Technorati Bloglines BlogPulse Wikio SEOmoz’s Blog Title Blog URL Blog Owner Blog Category Rank Rank Rank Rank Trifecta Blog Score Engadget http://www.engadget.com Time Warner Inc. Technology/Gadgets 4 3 6 2 78 19.23 Boing Boing http://www.boingboing.net Happy Mutants LLC Technology/Marketing 5 6 15 4 89 33.71 TechCrunch http://www.techcrunch.com TechCrunch Inc. Technology/News 2 27 2 1 76 42.11 Lifehacker http://lifehacker.com Gawker Media Technology/Gadgets 6 21 9 7 78 55.13 Official Google Blog http://googleblog.blogspot.com Google Inc. Technology/Corporate 14 10 3 38 94 69.15 Gizmodo http://www.gizmodo.com/ Gawker Media Technology/News 3 79 4 3 65 136.92 ReadWriteWeb http://www.readwriteweb.com RWW Network Technology/Marketing 9 56 21 5 64 142.19 Mashable http://mashable.com Mashable Inc. Technology/Marketing 10 65 36 6 73 160.27 Daily Kos http://dailykos.com/ Kos Media, LLC Politics 12 59 8 24 63 163.49 NYTimes: The Caucus http://thecaucus.blogs.nytimes.com The New York Times Company Politics 27 >100 31 8 93 179.57 Kotaku http://kotaku.com Gawker Media Technology/Video Games 19 >100 19 28 77 216.88 Smashing Magazine http://www.smashingmagazine.com Smashing Magazine Technology/Web Production 11 >100 40 18 60 283.33 Seth Godin's Blog http://sethgodin.typepad.com Seth Godin Technology/Marketing 15 68 >100 29 75 284 Gawker http://www.gawker.com/ Gawker Media Entertainment News 16 >100 >100 15 81 287.65 Crooks and Liars http://www.crooksandliars.com John Amato Politics 49 >100 33 22 67 305.97 TMZ http://www.tmz.com Time Warner Inc.
    [Show full text]
  • Investigating the My Hobby Webcomics by Randall Munroe
    DERAILING DEFAULT INTERPRETATIONS: INVESTIGATING THE MY HOBBY WEBCOMICS BY RANDALL MUNROE Elizabeth Closs Traugott In collaboration with Arnold Zwicky IPra 14, Antwerp July 26-31 2015 2 Prelude • The main content of cartoons and comic strips is visuals, usually (though not always) with speech (McCloud 1993). • Visual literacy, cognitive processing and how we derive meaning from sequential images have been the main topics of research on the language of comic strips to date (e.g. Cohn et al. 2012, Cohn 2013). 3 • The topic of this paper is different: non-narrative, stand-alone cartoons, with focus on how metadiscourse can be used to counter default linguistic pragmatic expectations. • The data are from Randall Munroe’s webcomic series MY HOBBY within xkdc (http://www.xkcd.com). • For index of categories of MY HOBBY see Munroe (2015). 4 Acknowledgements: • inspiration from Qian (2013), • great indebtedness to - Arnold Zwicky’s Blog, a blog mostly about language (http://arnoldzwicky.org), - http://www.explainxkcd.com/wiki/index.php/ Category:My_Hobby. 5 Outline • Definition of metadiscourse: - textual - interpersonal • Textual types in cartoons, comic strips, and webcomics • Metadiscourse in Munroe’s MY HOBBY • Two case studies • Conclusion 6 Metadiscourse “Metadiscourse”: comments on accompanying text. • Of two types (Hyland 2005, Cuenca 2015): - Textual: explicit guidance to interpretation (cognitive orientation; “metatext”). - Interpersonal: personal commentary and explicit interaction with reader (social orientation). Webcomics provide a rich medium for exploiting metadiscourse, because of mouse-over capability as well as visuals. 7 Types of metatext in comics • Zwicky 2014a analyzes metatext in cartoons (e.g. Rhymes with Orange), comic strips (e.g.
    [Show full text]
  • Randall Munroe
    what if? Serious Scientific Answers to Absurd Hypothetical Questions RANDALL MUNROE HOUGHTON MIFFLIN HARCOURT 2014 • BOSTON • NEW YORK Copyright © 2014 by xkcd Inc. ALL RIGHTS RESERVED For information about permission to reproduce selections from this book, write to Permissions, Houghton Mifflin Harcourt Publishing Company, 215 Park Avenue South, New York, New York 10003. www.hmhco.com The Library of Congress has cataloged the print edition as follows: Munroe, Randall, author. What if? : serious scientific answers to absurd hypothetical questions / Randall Munroe. pages cm ISBN 978-0-544-27299-6 (hardback) ISBN 978-0-544-45686-0 (international pbk.) 1. Science—Miscellanea. I. Title. Q173.M965 2014 500—dc23 2014016311 Book design by Christina Gleason Lyrics from “If I Didn’t Have You” © 2011 by Tim Minchin. Reprinted by permission of Tim Minchin. eISBN 978-0-544-27264-4 V1.0914 QUESTIONS Disclaimer [>] Introduction [>] Global Windstorm [>] Relativistic Baseball [>] Spent Fuel Pool [>] Weird (and Worrying) Questions from the What If? Inbox, #1 [>] New York–Style Time Machine [>] Soul Mates [>] Laser Pointer [>] Periodic Wall of the Elements [>] Everybody Jump [>] A Mole of Moles [>] Hair Dryer [>] Weird (and Worrying) Questions from the What If? Inbox, #2 [>] The Last Human Light [>] Machine-Gun Jetpack [>] Rising Steadily [>] Weird (and Worrying) Questions from the What If? Inbox, #3 [>] Orbital Submarine [>] Short-Answer Section [>] Lightning [>] Weird (and Worrying) Questions from the What If? Inbox, #4 [>] Human Computer [>] Little
    [Show full text]
  • Dowthwaite, Liz (2018) Crowdfunding Webcomics
    CROWDFUNDING WEBCOMICS: THE ROLE OF INCENTIVES AND RECIPROCITY IN MONETISING FREE CONTENT Liz Dowthwaite Thesis submitted to the University of Nottingham for the degree of Doctor of Philosophy September 2017 Liz Dowthwaite Crowdfunding Webcomics: The Role of Incentives and Reciprocity in Monetising Free Content Thesis submitted to the School of Engineering, University of Nottingham, in partial fulfilment of the requirements for the degree of Doctor of Philosophy. © September 2017 Supervisors: Robert J Houghton Alexa Spence Richard Mortier i To my parents, and James. ii Doug Savage, 2007 http://www.savagechickens.com/2007/05/morgan-freeman.html “They’re not paying for the content. They’re paying for the people.” Jack Conte, founder of Patreon “We ascribe to the idealistic notion that audiences don’t pay for things because they’re forced to, but because they care about the stuff that they love and want it to continue to grow.” Hank Green, founder of Subbable iii CROWDFUNDING WEBCOMICS – LIZ DOWTHWAITE – AUGUST 2017 ABSTRACT The recent phenomenon of internet-based crowdfunding has enabled the creators of new products and media to share and finance their work via networks of fans and similarly-minded people instead of having to rely on established corporate intermediaries and traditional business models. This thesis examines how the creators of free content, specifically webcomics, are able to monetise their work and find financial success through crowdfunding and what factors, social and psychological, support this process. Consistent with crowdfunding being both a large-scale social process yet based on the interactions of individuals (albeit en mass), this topic was explored at both micro- and macro-level combining methods from individual interviews through to mass scraping of data and large-scale questionnaires.
    [Show full text]
  • Foreign Rights Guide Frankfurt 2019
    Foreign Rights Guide Frankfurt 2019 www.thegernertco.com [email protected] fiction THE GUARDIANS • “The Guardians are lawyers who believe that the guilty should go to prison and that the John Grisham innocent should not. It is their mission to eXonerate their clients who have been wrongfully convicted, regardless of how dangerous the cases might be.” – John Grisham In the small north Florida town of Seabrook, a young lawyer named Keith Russo was shot dead at his desk as he worked late one night. The killer left no clues behind. There were no witnesses, no real suspects, no one with a motive. The police soon settled on Quincy Miller, a young black man who was once a client of Russo’s. Quincy was framed, convicted, and sent to prison for life. For twenty-two years he languished in prison with no lawyer, no advocate on the outside. Then he wrote a letter to Guardian Ministries, a small innocence group founded by a lawyer/minister named Cullen Post. Guardian handles only a few innocence cases at a time, and Post is its only investigator. He travels the South fighting wrongful convictions and taking cases no one else will touch. With Quincy Miller, though, he gets far more than he bargained for. Powerful, ruthless people murdered Keith Russo, and they do not want Quincy eXonerated. They killed one lawyer twenty-two years ago, and they will kill another one without a second thought. John Grisham is the author of thirty novels, one work of nonfiction, a collection of stories and seven novels for young readers.
    [Show full text]
  • Your Weather Tweets Are Showing Your Climate Amnesia
    EVERY TIME SOMEONE in a position of power (for example) says that a cold snap in winter proves that climate change is not a thing, a dutiful chorus responds with a familiar refrain: Weather is not climate. Weather happens on the scale of days or weeks, over a distance relevant to cities or states. Climate happens over decades, centuries even, to an entire planet. The problem is, guess what timescale and space-scale people live on? The question of what can make human beings understand climate change is literally an existential one. It’s complicated by humans’ pathetically short lifespan and their attention-span, roughly akin to that of a cat in a laser- pointer QA lab. How can anyone expect people to grasp the planetary, millennium-encompassing implications of their half-remembered actions? There’s bad news on that front, and as is customary with bad news, it comes from Twitter. The charts on the left show temperature anomalies—more cold weeks on top, more hot weeks on the bottom. And on the right, the number of tweets overall, in decline after years of exposure to those anomalies. MOORE ET AL./PNAS From a database of 2.18 billion tweets sent by 12.8 million people in the continental US—stripped of all identifying information except for date and location—a team of climate researchers isolated the ones that talked about the weather. Specifically, they looked for tweets talking about whether it was hot or cold. And then they compared the volume of those tweets to the “reference temperature” for the county where they originated; which is to say, they looked at historical data for whether that county was seeing an unusual number of hot or cold days over time.
    [Show full text]
  • TGC February 2017
    foreign rights February 2017 www.thegernertco.com JOHN GRISHAM #1 New York Times bestseller • Published in 40 languages • 375+ million books in print 6 June 2017 Bestselling author John Grisham stirs up trouble in paradise in his endlessly surprising new thriller: Camino Island unspools over one long summer, when a daring group of thieves pilfer five priceless handwritten F. Scott Fitzgerald manuscripts from Princeton University’s Library and send them into the rare books black market. As the FBI and a secret underground agency race to hunt them down, a young writer embarks on her own investigation into a prominent bookseller who is believed to have the precious documents. A daring heist; a young woman recruited to recover them; a beach-resort bookseller who gets more than he bargained for—all in one long summer on Camino Island. John Grisham is the author of thirty novels, one work of nonfiction, a collection of stories, and six novels for young readers. He lives in Virginia and Mississippi. www.thegernertco.com 2 fiction Jessie Chaffee, FLORENCE IN ECSTASY A visceral, vivid debut inspired by the novels of Jean Rhys, Elena Ferrante, and Catherine Lacey, that follows a troubled woman’s attempt to find herself in an unstable world Literary fiction Publisher: Unnamed Press – May 16, 2017 Editor: Chris Heiser Agent: Sarah Burnes Material: Advanced Reader’s Copy • “Jessie Chaffee's luminous debut is a hypnotic, addictive read. The shade of E. M. Forster stalks the heels of this story of one American woman at a crossroads in her life, in prose as lyrical and precise as it is evocative and haunting.” – Katherine Howe, author of The Physick Book of Deliverance Dane • “Be ready to be provoked and transported by FLORENCE IN ECSTASY, a haunting, beautiful novel of womanhood, the saints, and the mysteries of the body.
    [Show full text]
  • Wikipedia Sources: Managing Sources in Rapidly Evolving Global News Articles on the English Wikipedia
    Wikipedia Sources: Managing sources in rapidly evolving global news articles on the English Wikipedia An Ushahidi/SwiftRiver Report by Heather Ford, Ushahidi Ethnographer, August, 2012 “Wikipedia Sources: Managing sources in rapidly evolving global news articles on the English Wikipedia” by Heather Ford, Ushahidi is licensed under a Creative Commons Attribution-ShareAlike 3.0 license “Wikipedia Sources: On the books and on the ground” 2012 Heather Ford. Ushahidi 1 Table of contents 1. Introduction 3 2. Acknowledgements 5 3. Executive summary 6 4. Preface 13 5. Sources on the books 15 6. Sources on the ground: The Case of the 2011 Egyptian Revolution Wikipedia article 22 7. Conclusions and design considerations 49 8. Bibliography 57 2 “Wikipedia Sources: On the books and on the ground” 2012 Heather Ford. Ushahidi Introduction How is a Wikipedia article different from a news article about the 2011 Egyptian revolution at different points in the story’s evolution? What are the roles of social media and other Internet sources in rapidly evolving articles? And what, really, is Wikipedia’s working perspective on social media sources? This report tells the story of Wikipedia sources through a series of case studies including the 2011 Egyptian Revolution Wikipedia article, highlighting how sources were chosen and categorized, what were the most important variables used in discussing sources, and what this might mean for future tool-building and other projects related to sources. What do we mean by sources? My working definition of sources comes from Wikipedia’s definition but with one important addition. While Wikipedia refers to the characteristics of sources in terms of the references cited in articles (including characteristics of a) the article or book etc, b) the creator and the c) publisher of the work), I add the Wikipedia editor as an important source of the evolving article.
    [Show full text]
  • MA How to Make Comics the Successful Way WH.Pdf
    How to Make Comics the Successful Way An Investigation into the Strategies for Successful Comics Creators by William Hill Canterbury Christ Church University Thesis submitted for the Degree of MA by Research 2021 Abstract Success is chiefly viewed as a destination point, often containing no clear direction as to how to arrive, or assurances of when one’s arrival has taken place. House this delicate theme of success amongst the vast genre of comics books and several questions occur: “What is success?” “Who has previously been successful?” “How did they gain success?” “What are the proven routes to success?” This study explores the different methods to find success within the comics industry, these methods included classical approaches such as periodical comics and newspaper strips as well as the more contemporary avenues such as self-publishing & web-comics. To gain a solid understanding and context of the commercial aspect of the business, first the study reviews the history of the comics industry. This is followed by an analysis of the definition and essential components of the comic book, to achieve a better understanding of the structure and classification of comics and, therefore, their intrinsic value as a product. The rise of the digital revolution, recent developments in technologies and web2.0 have not only contributed to expanding areas of production, distribution and fandom recognition, but also to implement innovative ideas and projects. This has led to the expansion of both profitable potentials and perilous pitfalls. To analyse the implications of these new means of creation and distribution, themes such as Communities, Pitfalls of the Internet Age and Crowdfunding have been explored.
    [Show full text]
  • TGC Frankfurt 2015
    foreign rights Frankfurt Book Fair 2015 www.thegernertco.com JOHN GRISHAM #1 New York Times bestseller Published in 40 languages 300+ million books in print ROGUE LAWYER by John Grisham Doubleday – 20 October 2015 His phone number is unlisted. His office is a bulletproof van. He’s on the right side of the law, sort of… Sebastian Rudd is not your typical street lawyer. He works out of a customized bulletproof van, complete with Wi-Fi, a bar, a small fridge, fine leather chairs, a hidden gun compartment, and a heavily armed driver. He has no firm, no partners, no associates, and only one employee, his driver, who’s also his bodyguard, law clerk, confidant, and golf caddy. He lives alone in a small but extremely safe penthouse apartment, and his primary piece of furniture is a vintage pool table. He drinks small-batch bourbon and carries a gun. Sebastian defends people other lawyers won’t go near: a drug-addled, tattooed kid rumored to be in a satanic cult, who is accused of molesting and murdering two little girls; a vicious crime lord on death row; a homeowner arrested for shooting at a SWAT team that mistakenly invaded his house. Why these clients? Because he believes everyone is entitled to a fair trial, even if he, Sebastian, has to cheat to secure one. He hates injustice, doesn’t like insurance companies, banks, or big corporations; he distrusts all levels of government and laughs at the Justice system’s notions of ethical behavior. Sebastian Rudd is one of John Grisham’s most colorful, outrageous, and vividly drawn characters yet.
    [Show full text]
  • Hour 8: the Thing Explainer! Those of You Who Are Fans of Xkcd's Randall
    Hour 8: The Thing Explainer! Those of you who are fans of xkcd’s Randall Munroe may be aware of his book Thing ​ Explainer: Complicated Stuff in Simple Words, in which he describes a variety of things using ​ only the thousand simplest words in the English language. We liked the idea so much that we’ve decided to Thing-Explain a whole bunch of things his book didn’t get to. Since we’ve broken them down into little words, surely you’ll be able to correctly identify the assorted stuff we’ve translated below. Section I. Quotations The questions below have taken famous quotes whose language is just a little too highfalutin for the average person and made them more accessible. They are taken from a wide variety of sources: songs, literature, history, movies—anywhere, really. From our Thing-Explained version of the quote, either give us the original quote or (if that’s too unwieldy) just name its source. 1. The people who make laws cannot make a law making any god-following special or stopping other god-followings; or one stopping free talking and news-writing; or one ending the right of people to hang out without fighting or to write to the people who run things when they're not happy about something that's happened to them. 2. If your line of leaves and sticks is moving around, don't get worried. It's just the lady who runs one of the months cleaning things out for spring. 3. I am a person who believes in the old book.
    [Show full text]