My Whole Blog

Total Page:16

File Type:pdf, Size:1020Kb

My Whole Blog My Whole Blog Contents Definiendo sintaxis y comportamiento 4 Creando el template 5 A los bifes 7 Los parámetros ................................ 7 Entendiendo los Nodos ............................ 9 Entendienfo figure ............................... 9 Explicando el método run ........................... 10 Explicando el método _render_svg ...................... 11 El método _resolve_render_name ....................... 12 El método _separate_content ......................... 13 Pensando en sphinx 13 Y como se usa todo esto 14 Y funciona? 14 Concept 82 The binding side of things 85 What should a shell scripting language be like? 145 What doesn’t matter? 146 Now, the example 147 Why not use reportlab directly? 285 So, how do you do a report? 286 Trickier: tables 287 Frobniz time measurements 288 How would it work? 288 Missing pieces 289 1 Introduction 369 1. Grok the Disqus API 370 2. Grok the Haloscan comments file 371 3. Create the necessary threads and whatever in Disqus 371 4. Post the comments from Haloscan to Disqus 372 5. Hack the blog so the links to Haloscan now work for Disqus 374 What the Ipad means 384 The User, In Linux 389 The User, in Windows 389 The Developer, in Linux 389 Windows for the developer 391 Problem 1: You need an installer ....................... 391 Problem 2: system libraries don’t exist .................... 393 Creating a plugin 396 Making the Plugin Configurable 397 Making it Work 398 Titanic 417 I’m Mark Shuttleworth! 418 Python vs. Ruby 418 Butter 418 Visa discount! 418 A Stable Deployment Target 478 Deployment Services 478 Monetization Services 478 The Store Itself 478 Intro 491 Chucherías Chinas 491 Cómo Pagar 492 2 El amigo que viene de afuera 492 Accesorios 493 Conclusión 494 Cooking is easy 498 Cooking is fun 500 Cooking is good for you 500 Cooking is cheap 501 Cooking is Applied Nerdiness 501 He’s Ill-Defined 502 The Excluded Middle and Popularity 502 It’s Unethical to Believe in Heaven and Hell 503 Conclusion 503 Proxy Support 524 Persistent Cookies 524 Using Properties and Signals in Object Creation 525 Download Manager 526 Printing 528 Other Tricks 528 Features 634 Bugfixes 635 Filters 636 Bundles 637 Conclusion 637 Hosting 670 Distribution 670 Web Server 670 Mail Server 671 3 Misc 672 Status 673 Docutils System Messages 686 Sorry, spanish only post! Estimado público lector, una cosa muy especial: un post que no escribí yo! Dé- mosle una bienvenida al autor invitado, Juan BC! Una de mis promesas en el año fue terminar uno de los proyectos mas ambi- ciosos que me había propuesto: terminar mi ambientación de rol utilizando el sis- tema matemático que había diseñado junto con un amigo tiempo atras llamado Cros aprovechando la barbaridad de imagenes que tenía guardada de mi tesis de grado. Como no puede ser de otra manera como miembro de Python Argentina utilice el programa utilizado por rst2pdf creado por Roberto Alsina el cual es el dueño de este blog En un punto necesitaba hacer una especie de plantillas de dibujos para repetir el estilo donde hay descripciones de un personaje pero el estilo se mantiene, como por ejemplo las tarjetas de este manual de DC Universe RPG : y me dije a mi mismo ¿Por que demonios no puedo dibujar un svg_ dejar espacios en blancoy luego los lleno dentro del svg? En definitiva, me imaginaba algo así: .. template_svg: path/a/mi/archivo/svg/que/tiene/las/variables/definidas/adentro.svg :nombre_variable_1: valor_de_variable_1 :nombre_variable_2: valor_de_variable_2 ... :nombre_variable_N: valor_de_variable_N Entonces me puse en campaña para poder programar el código python que realiza esa tarea como una extensión de rst2pdf. AVISO!!! este texto lo llevara a usted por cada una de las desiciones dediseño que involucran la creación de mi extensión para rst2pdf Definiendo sintaxis y comportamiento Por empezar aprendí de las limitaciones de la directiva, decidí un nombre para ella y definí cual era el comportamiento que hiba a tener. 4 • Dado que una directiva como template_svg me sonaba a larga decidí que el nombre sería svgt (SVG template). • Las directivas soportan parámetros fijos, no puedo tener un número variable de argumentos para pasarle: nombre_variable_1, nombre_variable_2, variable_N a algo como directiva(**kwargs). Mi solución fue pasarle todo en un json. • Por último definí que svgt generaría un nodo de tipo figure con lo cual mi directiva aceptaría, además de mis parámetros, los argumentos que ya tenía in- corporados en dicha directiva. Esta última decisión me llevó también a contemplar que el archivo svg debería convertirse en un png, y para esto utilizaría la herramienta Inkscape con una llamada al sistema para realizar dicha conversión (la gran ventaja de inkscape es que puede correr totalmente headless con el parámetro -z). En definitiva mi directiva tomaría un nodo asi: .. svgt:: file.svg :vars: { "nombre_variable_1": "valor_de_variable_1", "nombre_variable_2": "valor_de_variable_2", ..., "nombre_variable_N": "valor_de_variable_N"} <figure parameters> Y lo convertería en un nodo así .. figure:: file_con_parametros_resueltos.png <figure parameters> Creando el template Yo uso para crear svg a Inkscape y no pensaba en ningún momento dejar de hacerlo para crear este proyecto. Así que solo era cuestión de abrir el programa y poner en la parte de donde se referencia a una url de una imagen o en un texto algún formato que indique que eso es una variable (recordemos que por dentro el svg no deja de ser texto plano). Para elegir el lenguaje de template decidí utilizar el formato que propone la clase Template que viene en la librería estandar de; la cual dispone que las declaraciones de hacen anteponiendo el símbolo $ al nombre de la variable y pudiendo o no este nombre estar encerrado entre { y }. Por ejemplo en el siguiente imagen se ve como declaro dos variables con Inkscape 5 Por otra parte inkscape desde consola se ejecuta de la siguiente manera para con- vertir un svg a png :: $ inkscape -z file.svg -e file.png -d 300 Donde: • inkscape es el comando para correr inkscape. • -z sirve para deshabilitar el entorno gráfico. • file.svg es el archivo a convertir. • -e file.png indica que se va a exportar el archivo file.svg al for- mato png y se guardara en el archivo file.png. • -d 300 dice que el archivo file.png se creara con 300 dpi de cal- idad. Con esto me genero los siguientes problemas: • ¿Qué sucede si otro me pasa un template y no se cuales son las vari- ablesque tiene adentro? • ¿Y si inkscape no está en el path de ejecución? • ¿Y si no me gustan los 300 dpi de calidad? A este punto usted lector ya se dara cuenta que todo se trata de agregarle mas variables a nuestra sintaxis ya definida: con lo cual todo este cachibache quedaría así: .. svgt:: file.svg :vars: { "nombre_variable_1": "valor_de_variable_1", "nombre_variable_2": "valor_de_variable_2", ..., "nombre_variable_N": "valor_de_variable_N"} :dpi: 72 :inkscape_dir: /usr/bin :list_vars_and_exit: <figure parameters> Siendo: • :dpi: 72 dice que el archivo generado para la figura resultante tendra 72dpi. • :inkscape_dir: /usr/bin indica que el comando inkscape vive dentro de la carpeta /usr/bin • :list_vars_and_exit: establece que svgt solo listara por stdout la lista de variales existente dentro de file.svg y luego el programa terminara (notese que solo tiene motivos de debuging). En código python sólo hay que crear un string con esos huecos y luego llenarlos como en el siguiente ejemplo: 6 \ :kn:‘import‘\ \ :nn:‘os‘\ \ :n:‘cmd‘\ \ :o:‘=‘\ \ :s:‘"{isp} {svg} -z -e {png} -d {dpi}"‘\ \ :k:‘print‘\ \ :n:‘cmd‘\ \ :o:‘.‘\ \ :n:‘format‘\ \ :p:‘(‘\ \ :n:‘isp‘\ \ \ :n:‘svg‘\ \ :o:‘=‘\ \ :s:‘"file.svg"‘\ \ :p:‘,‘\ \ :n:‘png‘\ \ :o:‘=‘\ \ :s:‘"file.png"‘\ \ :p:‘,‘\ \ :n:‘dpi‘\ \ :o:‘=‘\ \ :s:‘"72"‘\ \ :p:‘)‘\ \ :p:‘[‘\ \ :n:‘out‘\ \ :p:‘]‘\ \ :o:‘/‘\ \ :n:‘usr‘\ \ :o:‘/‘\ \ :nb:‘bin‘\ A los bifes Ahora si leyendo el manual de como crear directivas para docutils uno se encuentra que el esqueleto mínimo para crear estos bichos es el siguiente: \ :c:‘# imports necesarios‘\ \ :kn:‘from‘\ \ :nn:‘docutils‘\ \ :kn:‘import‘\ \ :n:‘nodes‘\ \ :kn:‘from‘\ \ :nn:‘docutils.parsers.rst‘\ \ :kn:‘import‘\ \ :n:‘directives‘\ \ :kn:‘from‘\ \ :nn:‘docutils.parsers.rst‘\ \ :kn:‘import‘\ \ :n:‘Directive‘\ \ :kn:‘from‘\ \ :nn:‘docutils.statemachine‘\ \ :kn:‘import‘\ \ :n:‘StringList‘\ \ :c:‘# la directiva es una clase‘\ \ :k:‘class‘\ \ :nc:‘SVGTemplate‘\ \ :p:‘(‘\ \ :n:‘Directive‘\ \ :p:‘):‘\ \ :sd:‘""" The svgt directive"""‘\ \ :c:‘# cuantos argumentos obligatorios tenemos‘\ \ :n:‘required_arguments‘\ \ :o:‘=‘\ \ :mi:‘0‘\ \ :c:‘# cuantos argumentos opcionales‘\ \ :n:‘optional_arguments‘\ \ :o:‘=‘\ \ :mi:‘0‘\ \ :c:‘# si la directiva termina con una linea en blanco‘\ \ :n:‘final_argument_whitespace‘\ \ :o:‘=‘\ \ :bp:‘False‘\ \ :c:‘# funciones de validación para los argumentos‘\ \ :n:‘option_spec‘\ \ :o:‘=‘\ \ :p:‘{}‘\ \ :c:‘# si puede tener mas rst adentro de la directiva‘\ \ :n:‘has_content‘\ \ :o:‘=‘\ \ :bp:‘True‘\ \ :c:‘# método que hace el procesamiento‘\ \ :k:‘def‘\ \ :nf:‘run‘\ \ :p:‘(‘\ \ :bp:‘self‘\ \ :p:‘):‘\ \ :k:‘return‘\ \ :p:‘[]‘\ \ :c:‘# le pone nombre a la directiva y la registra‘\ \ :n:‘directives‘\ \ :o:‘.‘\ \ :n:‘register_directive‘\ \ :p:‘(‘\ \ :s:‘"svgt"‘\ Los parámetros Primero empecemos definiendo un diccionario que relaciona cada nombre de parámetro (los cuales yo defino que son TODOS opcionales) con una función que los valida. Por 7 otra parte dado la estructura que queremos generar de figure posee contenido y la nues- tra también debe poseerlo. \ :kn:‘import‘\ \ :nn:‘json‘\ \ :c:‘# docutils imports‘\ \ :n:‘SPECS‘\ \ :o:‘=‘\
Recommended publications
  • Pris for Fremme Av Fri Programvare I Norge 2002
    NUUG og HiOs Pris for fremme av fri programvare i Norge 2002 Sted: Høgskolen i Oslo, Festsalen, Anna Sethnes hus Dato: 7. oktober 2002 Tid: 17:00 Prisen for fremme av fri programvare For første gang i Norge deles det ut en Fri programvare pris for fri programvare, dvs programvare hvor Hva er fri programvare? Fri programvare er brukerne har fullt innsyn og kontroll. Fri programvare laget med fullt innsyn for alle. programvare er mest kjent gjennom operativ- Brukere st˚arfritt til ˚abenytte programvaren systemet Linux som gir en enorm base med som de vil og s˚amye de vil, og de f˚ar tilgang til programvare som er rimelig ˚ata i bruk – og kildekoden, slik at eventuelle feil raskere opp- som lastes ned helt gratis fra Internett. dages og fikses, og forbedringer kan program- Prisen er et stipend p˚a30.000 kroner i meres av brukere selv. Programvaren er oftest stipend fra NUUG pluss diplom og vase fra gratis, og leverandører tjener heller penger gjen- Høgskolen i Oslo. Den g˚ar til prosjekter eller nom brukerstøtte og opplæring. personer i henhold til utvalgskriteriene som Fri programvare er miljøskapende og har ble vedtatt av NUUG-styret 13. mai 2002. b˚adepedagogiske og praktiske fordeler for de Prisen deles ut p˚aet arrangement ved Høg- involverte. Fri programvare gir ofte en inngangs- skolen i Oslo mandag 7. oktober kl.17.00. Ut- billett til “cutting edge”-teknologi, og fører til valgskriteriene lyder: stabile, kvalitetssikrede systemer gjennom en Prisen g˚artil en person eller en “peer review”, det vil si kritisk gjennomsyn gruppe i Norge som har bidratt til av koden av andre programmerere.
    [Show full text]
  • Home Server – Das Eigene Netzwerk Mit Intel NUC Oder Raspberry Pi
    7907-9.book Seite 22 Donnerstag, 29. Oktober 2020 4:59 16 7907-9.book Seite 23 Donnerstag, 29. Oktober 2020 4:59 16 Kapitel 1 1 Die erste Begegnung mit einem Home Server Was genau ist eigentlich ein Server? Was ist das Besondere an einem Home Server? Und welche Aufgaben kann er in einem Heimnetzwerk übernehmen? Auf geht es! Jetzt können Sie in die Welt der Home Server eintauchen. Ich werde Sie zunächst einmal mit wichtigen Begriffen vertraut machen und Aufgabengebiete erklären. Danach stelle ich Ihnen die Hardware vor, um die sich dieses Buch dreht. Anschließend zeige ich Ihnen, wie Sie Ihren Home Server aufbauen und welche Zube- hörkomponenten Sie unbedingt benötigen. 1.1 Was müssen Sie mitbringen, und was können Sie von diesem Buch erwarten? Dieses Buch richtet sich an Einsteiger auf dem Gebiet der Server, die sich für einen kleinen Server im Heimnetzwerk interessieren und die Thematik erst einmal kennen- lernen und ausprobieren möchten. In diesem Buch werde ich von Ihnen keine Server- kenntnisse erwarten, sondern Sie werden sie von Grund auf erlernen. Sie sollten allerdings schon ein gewisses Grundwissen im Umgang mit Computern mitbringen. Das ist aus zwei Gründen erforderlich: Zunächst einmal müssen Sie natürlich wissen, wo Ihnen ein Server(-dienst) überhaupt behilflich sein kann und was Sie von ihm erwarten können. Zusätzlich benötigen Sie ein Grundwissen im Umgang mit Com- putern, da Sie Ihren Server ja komplett allein aufsetzen werden. Grundbegriffe wie Benutzernamen und Passwörter, die Bedeutung von Programmen und deren Installa- tion sowie der Umgang mit Dateien und Verzeichnissen auf Datenträgern sollten Ihnen also schon geläufig sein.
    [Show full text]
  • GIMP Toolkit: GTK+ V1.2
    'Construction d’IHM $ GIMP Toolkit: GTK+ v1.2 Alexis N´ed´elec Ecole Nationale d’Ing´enieursde Brest TechnopˆoleBrest-Iroise, Site de la Pointe du Diable CP 15 29608 BREST Cedex (FRANCE) e-mail : [email protected] & enib=li2 °c A.N. 1 % 'GTK+ v1.2 : GIMP Toolkit $ Table des Mati`eres Introduction 3 Premier Programme: Hello World 10 Signaux et R´eflexes 14 Description de Widget 22 Container de Widgets 32 Entr´eesde Texte 43 Les Listes multi-colonnes 76 Repr´esentation d’arborescence 89 Bibliographie 107 & enib=li2 °c A.N. 2 % 'GTK : GIMP Toolkit $ Introduction On peut d´efinirGTK comme: . une API “Orient´eObjet” . pour le d´eveloppement d’IHM graphiques (GUI) . sous Licence GNU (LGPL) Glossaire de Sigles: . GNU : GNU’s Not Unix ou “Vive le Logiciel Libre !”. GNOME : GNU Network Object Model Environment . GIMP : General Image Manipulation Program . GDK : GIMP Drawing Kit . GTK : GIMP ToolKit & enib=li2 °c A.N. 3 % 'GTK : GIMP Toolkit $ Introduction Le Projet GNOME: . 1997: Miguel de Icaza du “Mexican Autonomous National University” . objectifs : d´eveloppement de logiciels libres (open source) . inspir´edes d´eveloppements de KDE (Qt) GNOME est bas´esur un ensemble de librairies existantes . glib: utilitaire pour la cr´eationet manipulation de structures . GTK+: Boˆıte`aoutils pour le d´eveloppement d’IHM graphiques . ORBit: Le Broker GNOME (CORBA 2.2) pour la distribution d’objets . Imlib: pour la manipulation d’images sous X Window et GDK & enib=li2 °c A.N. 4 % 'GTK : GIMP Toolkit $ Introduction Librairies sp´ecifiquesdu projet GNOME . libgnome: utilitaires (non-GUI) de bases pour toute application GNOME .
    [Show full text]
  • The Kdesvn Handbook
    The kdesvn Handbook Rajko Albrecht The kdesvn Handbook 2 Contents 1 Introduction 7 1.1 Terms . .7 2 Using kdesvn 8 2.1 kdesvn features . .8 2.2 Beginning with subversion and kdesvn . .8 2.2.1 Creating a working copy . .9 2.2.2 Committing local changes . .9 2.2.3 Update working copy . .9 2.2.4 Adding and Deleting from working copy . .9 2.2.4.1 Add items . 10 2.2.4.2 Deleting items from working copy and unversion . 10 2.2.5 Displaying logs . 10 2.2.5.1 The log display dialog . 10 2.3 Working on repositories . 11 2.3.1 Restoring deleted items . 11 2.3.2 Importing folders . 11 2.3.2.1 With drag and drop . 11 2.3.2.2 Select folder to import with directory-browser . 11 2.4 Other Operations . 11 2.4.1 Merge . 11 2.4.1.1 Internal merge . 12 2.4.1.2 Using external program for merge . 12 2.4.2 Resolving conflicts . 12 2.5 Properties used by kdesvn for configuration . 13 2.5.1 Bugtracker integration . 13 2.6 The revision tree . 13 2.6.1 Requirements . 14 2.7 Internal log cache . 14 2.7.1 Offline mode . 14 2.7.2 Log cache and revision tree . 14 The kdesvn Handbook 2.8 Meaning of icon overlays . 14 2.9 kdesvn and passwords . 16 2.9.1 Not saving passwords . 16 2.9.2 Saving passwords in KWallet . 16 2.9.3 Saving to subversion’s own password storage .
    [Show full text]
  • Schon Mal Dran Gedacht,Linux Auszuprobieren? Von G. Schmidt
    Schon mal dran gedacht, Linux auszuprobieren? Eine Einführung in das Betriebssystem Linux und seine Distributionen von Günther Schmidt-Falck Das Magazin AUSWEGE wird nun schon seit 2010 mit Hilfe des Computer-Betriebs- system Linux erstellt: Texte layouten, Grafiken und Fotos bearbeiten, Webseiten ge- stalten, Audio schneiden - alles mit freier, unabhängiger Software einer weltweiten Entwicklergemeinde. Aufgrund der guten eigenen Erfahrungen möchte der folgende Aufsatz ins Betriebssystem Linux einführen - mit einem Schwerpunkt auf der Distri- bution LinuxMint. Was ist Linux? „... ein hochstabiles, besonders schnelles und vor allem funktionsfähiges Betriebssystem, das dem Unix-System ähnelt, … . Eine Gemeinschaft Tausender programmierte es und verteilt es nun unter der GNU General Public Li- cense. Somit ist es frei zugänglich für jeden und kos- tenlos! Mehrere Millionen Leute, viele Organisatio- nen und besonders Firmen nutzen es weltweit. Die meisten nutzen es aus folgenden Gründen: • besonders schnell, stabil und leistungs- stark • gratis Support aus vielen Internet- Newsgruppen Tux, der Pinguin, ist das Linux-Maskottchen • übersichtliche Mailing-Listen • massenweise www-Seiten • direkter Mailkontakt mit dem Programmierer sind möglich • Bildung von Gruppen • kommerzieller Support“1 Linux ist heute weit verbreitet im Serverbereich: „Im Oktober 2012 wurden mindes- tens 32% aller Webseiten auf einem Linux-Server gehostet. Da nicht alle Linux-Ser- ver sich auch als solche zu erkennen geben, könnte der tatsächliche Anteil um bis zu 24% höher liegen. Damit wäre ein tatsächlicher Marktanteil von bis zu 55% nicht 1 http://www.linuxnetworx.com/linux-richtig-nutzen magazin-auswege.de – 2.11.2015 Schon mal dran gedacht, Linux auszuprobieren? 1 auszuschliessen. (…) Linux gilt innerhalb von Netzwerken als ausgesprochen sicher und an die jeweiligen Gegebenheiten anpassbar.
    [Show full text]
  • Ejercicio 2 Bottle: Python Web Framework
    UNIVERSIDAD SAN PABLO - CEU departamento de tecnologías de la información ESCUELA POLITÉCNICA SUPERIOR 2015-2016 ASIGNATURA CURSO GRUPO tecnologías para la programación y el diseño web i 2 01 CALIFICACION EVALUACION APELLIDOS NOMBRE DNI OBSERVACIONES FECHA FECHA ENTREGA Tecnologías para el desarrollo web 24/02/2016 18/03/2016 Ejercicio 2 A continuación se muestran varios enlaces con información sobre la web y un tutorial para el desarrollo de una aplicación web genérica, con conexión a una base de datos y la utilización de plantillas para presentar la información. ‣ Python Web Framework http://bottlepy.org/docs/dev/ ‣ World Wide Web consortium http://www.w3.org ‣ Web Design and Applications http://www.w3.org/standards/webdesign/ Navegador 100.000 pies Website (Safari, Firefox, Internet - Cliente - servidor (vs. P2P) uspceu.com Chrome, ...) 50.000 pies - HTTP y URIs 10.000 pies html Servidor web Servidor de Base de - XHTML y CSS (Apache, aplicaciones datos Microsoft IIS, (Rack) (SQlite, WEBRick, ...) 5.000 pies css Postgres, ...) - Arquitectura de tres capas - Escalado horizontal Capa de Capa de Capa de Presentación Lógica Persistencia 1.000 pies Contro- - Modelo - Vista - Controlador ladores - MVC vs. Front controller o Page controller Modelos Vistas 500 pies - Active Record - REST - Template View - Modelos Active Record vs. Data Mapper - Data Mapper - Transform View - Controladores RESTful (Representational State Transfer for self-contained actions) - Template View vs. Transform View Bottle: Python Web Framework Bottle is a fast, simple and lightweight WSGI micro web-framework for Python. It is distributed as a single file module and has no dependencies other than the Python Standard Library.
    [Show full text]
  • Misc Thesisdb Bythesissuperv
    Honors Theses 2006 to August 2020 These records are for reference only and should not be used for an official record or count by major or thesis advisor. Contact the Honors office for official records. Honors Year of Student Student's Honors Major Thesis Title (with link to Digital Commons where available) Thesis Supervisor Thesis Supervisor's Department Graduation Accounting for Intangible Assets: Analysis of Policy Changes and Current Matthew Cesca 2010 Accounting Biggs,Stanley Accounting Reporting Breaking the Barrier- An Examination into the Current State of Professional Rebecca Curtis 2014 Accounting Biggs,Stanley Accounting Skepticism Implementation of IFRS Worldwide: Lessons Learned and Strategies for Helen Gunn 2011 Accounting Biggs,Stanley Accounting Success Jonathan Lukianuk 2012 Accounting The Impact of Disallowing the LIFO Inventory Method Biggs,Stanley Accounting Charles Price 2019 Accounting The Impact of Blockchain Technology on the Audit Process Brown,Stephen Accounting Rebecca Harms 2013 Accounting An Examination of Rollforward Differences in Tax Reserves Dunbar,Amy Accounting An Examination of Microsoft and Hewlett Packard Tax Avoidance Strategies Anne Jensen 2013 Accounting Dunbar,Amy Accounting and Related Financial Statement Disclosures Measuring Tax Aggressiveness after FIN 48: The Effect of Multinational Status, Audrey Manning 2012 Accounting Dunbar,Amy Accounting Multinational Size, and Disclosures Chelsey Nalaboff 2015 Accounting Tax Inversions: Comparing Corporate Characteristics of Inverted Firms Dunbar,Amy Accounting Jeffrey Peterson 2018 Accounting The Tax Implications of Owning a Professional Sports Franchise Dunbar,Amy Accounting Brittany Rogan 2015 Accounting A Creative Fix: The Persistent Inversion Problem Dunbar,Amy Accounting Foreign Account Tax Compliance Act: The Most Revolutionary Piece of Tax Szwakob Alexander 2015D Accounting Dunbar,Amy Accounting Legislation Since the Introduction of the Income Tax Prasant Venimadhavan 2011 Accounting A Proposal Against Book-Tax Conformity in the U.S.
    [Show full text]
  • The Glib/GTK+ Development Platform
    The GLib/GTK+ Development Platform A Getting Started Guide Version 0.8 Sébastien Wilmet March 29, 2019 Contents 1 Introduction 3 1.1 License . 3 1.2 Financial Support . 3 1.3 Todo List for this Book and a Quick 2019 Update . 4 1.4 What is GLib and GTK+? . 4 1.5 The GNOME Desktop . 5 1.6 Prerequisites . 6 1.7 Why and When Using the C Language? . 7 1.7.1 Separate the Backend from the Frontend . 7 1.7.2 Other Aspects to Keep in Mind . 8 1.8 Learning Path . 9 1.9 The Development Environment . 10 1.10 Acknowledgments . 10 I GLib, the Core Library 11 2 GLib, the Core Library 12 2.1 Basics . 13 2.1.1 Type Definitions . 13 2.1.2 Frequently Used Macros . 13 2.1.3 Debugging Macros . 14 2.1.4 Memory . 16 2.1.5 String Handling . 18 2.2 Data Structures . 20 2.2.1 Lists . 20 2.2.2 Trees . 24 2.2.3 Hash Tables . 29 2.3 The Main Event Loop . 31 2.4 Other Features . 33 II Object-Oriented Programming in C 35 3 Semi-Object-Oriented Programming in C 37 3.1 Header Example . 37 3.1.1 Project Namespace . 37 3.1.2 Class Namespace . 39 3.1.3 Lowercase, Uppercase or CamelCase? . 39 3.1.4 Include Guard . 39 3.1.5 C++ Support . 39 1 3.1.6 #include . 39 3.1.7 Type Definition . 40 3.1.8 Object Constructor . 40 3.1.9 Object Destructor .
    [Show full text]
  • WEB2PY Enterprise Web Framework (2Nd Edition)
    WEB2PY Enterprise Web Framework / 2nd Ed. Massimo Di Pierro Copyright ©2009 by Massimo Di Pierro. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600, or on the web at www.copyright.com. Requests to the Copyright owner for permission should be addressed to: Massimo Di Pierro School of Computing DePaul University 243 S Wabash Ave Chicago, IL 60604 (USA) Email: [email protected] Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created ore extended by sales representatives or written sales materials. The advice and strategies contained herein may not be suitable for your situation. You should consult with a professional where appropriate. Neither the publisher nor author shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages. Library of Congress Cataloging-in-Publication Data: WEB2PY: Enterprise Web Framework Printed in the United States of America.
    [Show full text]
  • A Wee Server for the Home
    A wee server for the home Sudarshan S. Chawathe 2018-03-24 Home server: what? why? • Something to provide small-scale local services • Printing from local network • File server • Easily and privately share files with household • Destination for backups of other computers, photos, videos • Music server • Control playback on attached home audio system • Serve music to play elsewhere • Stream music from elsewhere • Web server: Photo and video galleries • Personal XMPP/Jabber chat server • Landing spot for remote login • Wake up other computers using wake-on-LAN. • Email server, … ? • Under personal control. • Free (libre) • Independent of non-local network • availability, latency, bandwidth S.S. Chawathe, A wee server for the home 1 Why a wee server? • Low power consumption • Always-on is a nice if it only uses a few watts. • Low heat dissipation • Compact • easily stash on a shelf, behind other equipment, … • Low cost • ~ 100 USD. • Hardware options that are more open • than mainstream servers • Fun • low-risk hardware experimentation: flashing, etc. • easy hardware interfacing • blinking lights, motors, sensors, … S.S. Chawathe, A wee server for the home 2 This presentation • For, and by, a non-expert • Not very novel or unique; see FreedomBox, … • Expert advice welcome • Brief how-to and invitation • Buy, build, configure a wee home server • Use, learn, and contribute to libre software • One person’s choices and experience • not comprehensive, nor ideal • but actually used, long term • Small technical excursions (still non-expert) • udev rules • randomness • Sharing • experiences with home servers • suggestions, concerns, future directions S.S. Chawathe, A wee server for the home 3 Hardware choices • many options • examples, not exhaustive lists • what I chose and why S.S.
    [Show full text]
  • A Public Record
    Contested Commons / Trespassing Publics A Public Record I The contents of this book are available for free download and may be republished www.sarai.net/events/ip_conf/ip_conf.htm III Contested Commons / Trespassing Publics: A Public Record Produced and Designed at the Sarai Media Lab, Delhi Conference Editors: Jeebesh Bagchi, Lawrence Liang, Ravi Sundaram, Sudhir Krishnaswamy Documentation Editor: Smriti Vohra Print Design: Mrityunjay Chatterjee Conference Coordination: Prabhu Ram Conference Production: Ashish Mahajan Free Media Lounge Concept/Coordination: Monica Narula Production: Aarti Sethi, Aniruddha Shankar, Iram Ghufran, T. Meriyavan, Vivek Aiyyer Documentation: Aarti Sethi, Anand Taneja, Khadeeja Arif, Mayur Suresh, Smriti Vohra, Taha Mehmood, Vishwas Devaiah Recording: Aniruddha Shankar, Bhagwati Prasad, Mrityunjay Chatterjee, T. Meriyavan Interviews Camera/Sound: Aarti Sethi, Anand Taneja, Debashree Mukherjee, Iram Ghufran, Khadeej Arif, Mayur Suresh, Taha Mehmood Web Audio: Aarti Sethi, Bhagwati Prasad http://www.sarai.net/events/ip_conf.htm Conference organised by The Sarai Programme Centre for the Study of Developing Societies, Delhi, India www.sarai.net Alternative Law Forum (ALF), Bangalore, India www.altlawforum.org Public Lectures in collaboration with Public Service Broadcasting Trust, Delhi, India www.psbt.org Published by The Sarai Programme Centre for the Study of Developing Societies 29 Rajpur Road, Delhi 110054, India Tel: (+91) 11 2396 0040 Fax: (+91) 11 2392 8391 E-mail: [email protected] Printed at ISBN 81-901429-6-8
    [Show full text]
  • Release 2021-03
    Metrics Release 2021-03 https://chaoss.community/metrics MIT License Copyright © 2021 CHAOSS a Linux Foundation® Project CHAOSS Contributors include: Aastha Bist, Abhinav Bajpai, Ahmed Zerouali, Akshara P, Akshita Gupta, Amanda Brindle, Anita Ihuman, Alberto Martín, Alberto Pérez García-Plaza, Alexander Serebrenik, Alexandre Courouble, Alolita Sharma, Alvaro del Castillo, Ahmed Zerouali, Amanda Casari, Amy Marrich, Ana Jimenez Santamaria, Andre Klapper, Andrea Gallo, Andy Grunwald, Andy Leak, Aniruddha Karajgi, Anita Sarma, Ankit Lohani, Ankur Sonawane, Anna Buhman, Armstrong Foundjem, Atharva Sharma, Ben Lloyd Pearson, Benjamin Copeland, Beth Hancock, Bingwen Ma, Boris Baldassari, Bram Adams, Brian Proffitt, Camilo Velazquez Rodriguez, Carol Chen, Carter Landis, Chris Clark, Christian Cmehil- Warn, Damien Legay, Dani Gellis, Daniel German, Daniel Izquierdo Cortazar, David A. Wheeler, David Moreno, David Pose, Dawn Foster, Derek Howard, Don Marti, Drashti, Duane O’Brien, Dylan Marcy, Eleni Constantinou, Elizabeth Barron, Emily Brown, Emma Irwin, Eriol Fox, Fil Maj, Gabe Heim, Georg J.P. Link, Gil Yehuda, Harish Pillay, Harshal Mittal, Henri Yandell, Henrik Mitsch, Igor Steinmacher, Ildiko Vancsa, Jacob Green, Jaice Singer Du Mars, Jaskirat Singh, Jason Clark, Javier Luis Cánovas Izquierdo, Jeff McAffer, Jeremiah Foster, Jessica Wilkerson, Jesus M. Gonzalez- Barahona, Jilayne Lovejoy, Jocelyn Matthews, Johan Linåker, John Mertic, Jon Lawrence, Jonathan Lipps, Jono Bacon, Jordi Cabot, Jose Manrique Lopez de la Fuente, Joshua Hickman, Joshua
    [Show full text]