Unidad 5 Interfaz Gráfica De Usuarios (GUI)

Total Page:16

File Type:pdf, Size:1020Kb

Unidad 5 Interfaz Gráfica De Usuarios (GUI) U5 Interfaz gráfica Unidad 5 Interfaz Gráfica de Usuarios (GUI) Informática III – ISM – UNL 2018 Motivación Durante todo el cursado los programas que hemos realizado se utilizan mediante ingreso de texto por teclado en una consola (es decir, un interprete de comandos). Esto hace poco “amigable” e interactivo a nuestros desarrollos, más aún que actualmente tenemos tantos dispositivos con posibilidades gráficas como laptops, celulares, tablets, etc. Por lo tanto daremos una introducción a la programación de interfaces gráficas, usando en Python el módulo wxPython. GUI para Python GUI proviene de Graphical User Interface, que podríamos traducir a “Interfaz Gráfica de Usuario” en español, es decir, una forma de programar que nos permita desarrollar usando elementos gráficos estándar como ventanas, menúes, botones, grillas, etc. Cada lenguaje tiene sus propios GUIs, en el caso de Python podemos nombrar a Tkinter (nativo en Python) wxPython, Qt, GTK, entre los más conocidos. En este cursado aprenderemos wxPython. wxPython wxPython es un módulo para Python de la librería wxWidgets (escrita para C++) creado en 1996. El principal desarrollador de wxPython es Robin Dunn, quien en 1995 necesitaba mostrar un desarrollo gráfico en una máquina Unix (HP-UX) , pero su jefe también quería mostrarlo en Windows 3.1. wxPython es cross platform, es decir, puede usarse el mismo código para desarrollar en Windows, Mac y Unix. Nota: una guía de instalación de wxPython en Thonny puede encontrarse en este link. Ejemplo de wxPython Veamos el siguiente ejemplo: Ejemplo de wxPython Veamos el siguiente ejemplo: Importar el módulo wxPython Esto importa el módulo que tiene todas las funciones de wxPython. Todas las funciones de wxPython que usemos de ahora en adelante deberán comenzar con wx. Ejemplo de wxPython Veamos el siguiente ejemplo: Se crea la aplicación gráfica Si o si, todas las aplicaciones que desarrollemos de ahora en adelante con wxPython deben tener creado un objeto wx.App() que representa la aplicación gráfica. Ejemplo de wxPython Veamos el siguiente ejemplo: Se crea la ventana gráfica (wx.Frame) y se le da un título wx.Frame es la ventana gráfica, un tipo de “contenedor” (container) ya que es el objeto base que contendrá a los demás objetos (botones, menués, grillas, etc.). En otras palabras un objeto Frame es el “padre” (parent) de los otros objetos que crearemos. En este caso, el parent de frame no existe (es None) ya que es la ventana principal (o sea, no depende de nadie para inicializarse). Ejemplo de wxPython Veamos el siguiente ejemplo: Se muestra la ventana Al objeto frame debemos mostrarlo en pantalla usando el método Show() Si no lo hacemos, al ejecutarlo no veremos la ventana, aunque esté creada correctamente. Ejemplo de wxPython Veamos el siguiente ejemplo: Inicia la ejecución de la aplicación gráfica Finalmente ejecutamos un bucle infinito (si! y antes se enseñó que no debieran existir…). MainLoop (o “bucle principal”) nos permite ejecutar la aplicación hasta que la misma se cierre Mientras tanto, permite capturar todos los eventos de la ventana, como por ejemplo cuando se hace clic en el botón cerrar. El objeto wx.Frame Como vimos en el ejemplo, Frame es el objeto que representa una ventana y forma parte de los contenedores. wx.Frame posee una barra de título, bordes y un área central contenedora. Barra de titulo Borde Área contenedora El objeto wx.Frame Tamaño de la ventana: Se puede aplicar un tamaño específico de ventana mediante el método SetSize(ancho,alto), donde alto y ancho son los valores en píxeles. Por defecto el tamaño es 400x250 Posición de la ventana: También se puede configurar en qué posición de nuestra pantalla posicionar inicialmente la ventana con SetPosition((x,y)). Donde x e y son las posiciones de la esquina superior izquierda de la ventana. Por defecto (0,0). El objeto wx.Frame Posición de la ventana: frame.SetPosition((0,0)) frame.SetPosition((500,0)) - Centrado en pantalla: frame.Centre() Crear objetos de wx.Frame Usar una variable de tipo wx.Frame nos permite hacer ventanas y aplicaciones rápidamente, pero necesitamos cosas más complejas, como eventos, por ejemplo. Para eso debemos crear nuestra propia clase ventana, extendiendo de la clase wx.Frame: import wx class MiVentana(wx.Frame): def __init__(self,parent,id,name): wx.Frame.__init__(self,parent,id,name) Crear objetos de wx.Frame class es una palabra reservada que nos permite crear una ventana customizada, pero usando las propiedades genéricas de wx.Frame. Cuando se crea una nueva ventana se ejecuta automáticamente el método __init__() por eso lo escribimos ejecutando el método __init__() de la clase (wx.Frame). Una vez que definimos MiVentana, decimos que esta clase es “hija” de la clase wx.Frame. Análogamente decimos que wx.Frame es “padre” de MiVentana. Crear objetos de wx.Frame Dentro de la clase MiVentana el objeto self sirve para referenciar las propiedades de la ventana misma (self). Por ejemplo, si queremos cambiar el tamaño, hacemos: self.SetSize(300,500) Además, cada función creada dentro de la clases MiVentana, deberá llevar como primer parámetro la palabra self: class MiVentana(wx.Frame): … def CargarTitulo(self,titulo): self.SetTitle(titulo) Crear objetos de wx.Frame Este es un ejemplo de una clase derivada de wx.Frame Menú principal El menú principal de una ventana es el que vemos en la barra de título. wxPython nos permite crear esta barra de menú mediante el componente wx.MenuBar. Cada menú dentro de la barra puede crearse mediante wx.Menu. Y los items de cada menú mediante wx.MenuItem. Luego de creados cada item debe ser agregado a su correspondiente menú, y cada menú a la barra. Veamos un ejemplo: Menú principal Menú principal wxFormBuilder Programar ventanas desde el código si bien permite mayor control, hace más difícil de diseñar un programa con ventanas. Para diseñar visualmente las ventanas usaremos un software que nos permitirá crear las ventanas y luego exportar el código generado a nuestra IDE (Thonny). Este tipo de software se denominan RAD por Rapid Application Development (Desarrollo Rápido de Aplicaciones). Este software es wxFormBuilder (link) cuyo tutorial para instalar en su máquina pueden encontrarlo en el PDF de instalación de wxPython y Pyo. En este cursado cubriremos el uso de wxFormBuilder, pero también se pueden usar otras alternativas como wxGlade o DialogBlocks (free trial). wxFormBuilder Selección de componentes Componentes del proyecto Visualización gráfica/ Visualización código Propiedades y eventos de los componentes Ejemplo de uso de wxFormBuilder A continuación se mostrarán los pasos necesarios para hacer una aplicación con wxFormBuilder y wxPython. Vamos a generar una ventana con un botón y al hacer clic en el mismo, se mostrará un mensaje La salida debería ser la siguiente: Ejemplo de uso de wxFormBuilder El primer paso es crear el Proyecto Se ingresa un nombre en “name” y en “path” se hace clic en […] para elegir donde se guarda en la PC Ejemplo de uso de wxFormBuilder (1) Ahora agregaremos wx.Frame a nuestro (2) En Component Palette proyecto Elegimos la pestaña “Forms” y luego “Frame” Le damos el nombre (“name”), que será el nombre de variable y el titulo (“title”) Ejemplo de uso de wxFormBuilder La Paleta de Componentes (“Component Palette”) permite seleccionar los componentes visuales para hacer una aplicación con wxPython Cada pestaña es una categoría: Common (Comunes) tiene los componentes más usados en general, botones, menú de selección, texto estático, checks, imágenes, etc. Additional (adicionales) tiene componentes menos usados, pero útiles como buscador de archivos, colores, hiperlinks. Data (datos) posee los componentes para mostrar información, como grillas. Ejemplo de uso de wxFormBuilder Cada pestaña es una categoría: Containers (contenedores) son los componentes que permiten tener otros componentes, como paneles y separadores. Menu/Toolbar (menú y barra de herramientas) como los que vimos, pero permite otras configuraciones de menú con botones e imágenes. Layout: permiten ordenar automáticamente los componentes mediante los “sizers”. Forms: frames y ventanas de diálogos. Ejemplo de uso de wxFormBuilder Una vez creada la Ventana tenemos que posicionar un botón para hacer clic. Para ese paso vamos a la pestaña “Common” y seleccionamos “wxButton”. Probablemente veamos un mensaje de error como este: El mensaje nos indica que tenemos que agregar un “sizer” para que el objeto creado se posicione correctamente en la ventana. Ejemplo de uso de wxFormBuilder Podemos encontrar los sizers en la pestaña “Layout”, donde veremos las siguientes opciones: wxBoxSizer es el que más se usa y nos permite elegir ordenar los componentes dentro de la ventana en sentido horizontal o vertical. wxGridSizer permite ordenar los componentes en una grilla de filas y columnas de igual tamaño. wxFlexGridSizer es igual al wxGridSizer, pero las columnas o filas pueden variar de tamaño. wxGridBagSizer similar a wxGridSizer , pero permite cambiar el tamaño por celdas. Ejemplo de uso de wxFormBuilder (1) Agregamos el sizer (2) En Component Palette A la ventana Elegimos la pestaña “Layout” y luego “wxBoxSizer” (3) Le damos el nombre (“name”) y la orientación “orient” wxVERTICAL, de manera que los items ubiquen uno debajo del otro. Ejemplo de uso de wxFormBuilder (1) dentro del sizer (2) En Component Palette ubicamos el botón elegimos la pestaña “Common” y luego “wxButton” (3) Le damos el nombre (“name”) y un mensaje para mostrar en la opción
Recommended publications
  • Staged Model-Driven Generators Shifting Responsibility for Code Emission to Embedded Metaprograms
    Staged Model-Driven Generators Shifting Responsibility for Code Emission to Embedded Metaprograms Yannis Lilis1, Anthony Savidis1, 2 and Yannis Valsamakis1 1Institute of Computer Science, FORTH, Heraklion, Crete, Greece 2Department of Computer Science, University of Crete, Crete, Greece Keywords: Model-Driven Engineering, Multistage Languages, Code Generation, Compile-Time Metaprogramming. Abstract: We focus on MDE tools generating source code, entire or partial, providing a basis for programmers to introduce custom system refinements and extensions. The latter may introduce two maintenance issues once code is freely edited: (i) if source tags are affected model reconstruction is broken; and (ii) code inserted without special tags is overwritten on regeneration. Additionally, little progress has been made in combining sources whose code originates from multiple generative tools. To address these issues we propose an alternative path. Instead of generating code MDE tools generate source fragments as abstract syntax trees (ASTs). Then, programmers deploy metaprogramming to manipulate, combine and insert code on-demand from ASTs with calls resembling macro invocations. The latter shifts responsibility for source code emission from MDE tools to embedded metaprograms and enables programmers control where the produced code is inserted and integrated. Moreover, it supports source regeneration and model reconstruction causing no maintenance issues since MDE tools produce non-editable ASTs. We validate our proposition with case studies involving a user-interface builder and a general purpose modeling tool. 1 INTRODUCTION driven tools and focuses on addressing the maintenance issues arising from code generation. In general, Model-Driven Engineering (MDE) We continue elaborating on parameters of the involves tools, models, processes, methods and problem and then brief the key contributions of our algorithms addressing the demanding problem of work to address this issue.
    [Show full text]
  • Learning Perl Through Examples Part 2 L1110@BUMC 2/22/2017
    www.perl.org Learning Perl Through Examples Part 2 L1110@BUMC 2/22/2017 Yun Shen, Programmer Analyst [email protected] IS&T Research Computing Services Spring 2017 Tutorial Resource Before we start, please take a note - all the codes and www.perl.org supporting documents are accessible through: • http://rcs.bu.edu/examples/perl/tutorials/ Yun Shen, Programmer Analyst [email protected] IS&T Research Computing Services Spring 2017 Sign In Sheet We prepared sign-in sheet for each one to sign www.perl.org We do this for internal management and quality control So please SIGN IN if you haven’t done so Yun Shen, Programmer Analyst [email protected] IS&T Research Computing Services Spring 2017 Evaluation One last piece of information before we start: www.perl.org • DON’T FORGET TO GO TO: • http://rcs.bu.edu/survey/tutorial_evaluation.html Leave your feedback for this tutorial (both good and bad as long as it is honest are welcome. Thank you) Yun Shen, Programmer Analyst [email protected] IS&T Research Computing Services Spring 2017 Today’s Topic • Basics on creating your code www.perl.org • About Today’s Example • Learn Through Example 1 – fanconi_example_io.pl • Learn Through Example 2 – fanconi_example_str_process.pl • Learn Through Example 3 – fanconi_example_gene_anno.pl • Extra Examples (if time permit) Yun Shen, Programmer Analyst [email protected] IS&T Research Computing Services Spring 2017 www.perl.org Basics on creating your code How to combine specs, tools, modules and knowledge. Yun Shen, Programmer Analyst [email protected] IS&T Research Computing
    [Show full text]
  • Raul Oscar Irene Rivas Resume
    R a u l O s car Ir ene Rivas Contact Com p ute r Sys t e ms Engi neer i n g +64 (021) 2019196 [email protected] m PERSO N A L INFORMA TION EXPERIENCE S kype: osca r _ i r ene www.raulrivas.info Name Raúl Oscar Irene Rivas Aurora College Birthday 14th May 1991 (28) 2018-2019 Spanish Tutor Aid Interpreter OBJECTIVE Relationship Single * Help Colombian refugees to understand their high school Born Mexican subjects. Hard-working and results-oriented java, swift and python programmer with over three years Languages Spanish, English Computers in Home of experience in producing robust and clean code. 2018-2019 Tutor CONTACT * Teach Colombian refugees As a mobile developer, have created two published how to use the core functions of a computer and le apps for both Android and iOS and one Android Mobile +64 (021) 2019196 management. prototype as part of my master thesis project. Email [email protected] 2018-2019 Master in Information Technology Looking to support and participate in the (Graduated May-2019) Skype oscar_irene growth of the company by applying Southern Institute of Technology * proven programming skills. Address 43 Islington St. Invercargill, New Zealand. Invercargill, New Zealand. 2017 9810 May - Dec High level in English 2014 AREAS OF INT EREST * Southern Lakes English College Queenstown, New Zealand. PROFESSI ONA L EXPER IENCE Mobile and web development, 2014-2017 P i neda Covalin Experience 7 years Software Developer data analysis and project management. Currently Software Developer * Automate administrative processes through software SOFT SKILLS EDUCATIO N (Python, Java).
    [Show full text]
  • An Operationally Based Vision Assessment Simulator for Domes
    IMAGE 2012 Conference AN OPERATIONALLY BASED VISION ASSESSMENT SIMULATOR FOR DOMES John Archdeacon, Principal Engineer and IG Architect Dell Services Federal Government/NASA Ames Research Center Moffett Field, CA James P. Gaska, Ph.D 711 HPW/USAFSAM/FECO Wright Patterson AFB, OH Samson Timoner, Ph.D Scalable Display Technologies Cambridge, MA with an objective of minimizing latency in the system. The ABSTRACT performance of the automatic calibration system used in the dome is also described. Various recommendations for The Operational Based Vision Assessment (OBVA) possible future implementations shall also be discussed. simulator was designed and built by NASA and the United States Air Force (USAF) to provide the Air Force School of Aerospace Medicine (USAFSAM) with a scientific INTRODUCTION testing laboratory to study human vision and testing standards in an operationally relevant environment. This The work described here is part of the U.S. Air Force paper describes the general design objectives and sponsored Operational Based Vision Assessment (OBVA) implementation characteristics of the simulator visual program which has been tasked with developing a high system being created to meet these requirements. fidelity flight simulation laboratory to determine the relationship between visual capabilities and performance A key design objective for the OBVA research simulator is in simulated operationally relevant tasks. This paper to develop a real-time computer image generator (IG) and describes the general design objectives and display subsystem that can display and update at 120 implementation characteristics of the visual system being frames per second (design target), or at a minimum, 60 developed by NASA to meet this requirement.
    [Show full text]
  • Desktop GUI Development
    Learn Quickly Creating Professional Looking Desktop Application Using Python2.7/wxPython, wxFormBuilder, Py2exe and InnoSetup Take your ability to develop powerful applications for desktop to the next level today. This book is the companion to my video series on Learning GUI with Python You may freely copy and distribute this eBook as long as you do not modify the text. You must not make any charge for this eBook. Author: Umar Yusuf Tel: +2348039508010 URL: www.UmarYusuf.com Email: [email protected] 1 | P a g e LESSON CONTENTS 1: Introduction and overview of our app 2: Beautiful Apps created with wxPython 3: Downloading and Installation o Python 2.x.x o Python Libraries: wxPython, and Py2Exe (easy_install, PIP) o wxFormBuilder o InnoSetup o Editor/IDE (NotePad++, SublimeText, or AptanaStudio) 4: Testing installations 5: Developing the console program 6: Sketch the App GUI (Graphical User Interface) 7: Creating GUI (Graphical User Interface) Setup wxformbuilder Create Frame Window Add Menu and Status bars Add Widgets (Buttons and TextControl) Define/name Widgets Methods 8: Binding Events to Methods 9: Compiling, Packaging and distributing our completed App 10: References 2 | P a g e INTRODUCTION AND OVERVIEW OF OUR APP My name is Umar Yusuf, am based in Nigeria, Africa. I love to help people grow in their technical careers! I have a passion for condensing complex topics into accessible concepts, practical skills and ready-to- use examples. See more details about me here: www.UmarYusuf.com This tutorial will show you how to design and build a fully-functional desktop Graphical User Interface (GUI) application for maths Expression Evaluation using a combination of Python 2.x, wxPython, wxFormBuilder, Py2exe and InnoSetup.
    [Show full text]
  • Difference Between Perl and Python Key Difference
    Difference Between Perl and Python www.differencebetween.com Key Difference - Perl vs Python A computer program provides instructions for a computer to perform tasks. A set of instructions is known as a computer program. A computer program is developed using a programming language. High-level languages are understandable by programmers but not understandable by the computer. Therefore, those programs are converted to machine-understandable format. Perl and Python are two high-level programming languages. Perl has features such as built-in regular expressions, file scanning and report generation. Python provides support for common programming methodologies such as data structures, algorithms etc. The key difference between Perl and Python is that Perl emphasizes support for common application-oriented tasks while Python emphasizes support for common programming methodologies. What is Perl? Perl is general purpose high-level programing language. It was designed by Larry Wall. Perl stands for Practical Extraction and Reporting Language. It is open source and is useful for text manipulation. Perl runs on various platforms such as Windows, Mac, Linux etc. It is a multi-paradigm language that supports mainly procedural programming and object-oriented programming. Procedure Programming helps to divide the program into functions. Object Oriented programming helps to model a software or a program using objects. Perl is an interpreted language. Therefore, each line is read one after the other by the interpreter. High-level language programs are understandable by the programmer, but they are not understandable by the machine. Therefore, the instructions should be converted into the machine-understandable format. Programming languages such as C and C++ converts the source code to machine language using a compiler.
    [Show full text]
  • Instituto Tecnológico Superior “San Gabriel”
    INSTITUTO TECNOLÓGICO SUPERIOR “SAN GABRIEL” ESPECIALIDAD INFORMÁTICA TRABAJO DE INVESTIGACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE: TECNÓLOGO EN INFORMÁTICA MENCIÓN ANÁLISIS EN SISTEMAS TEMA: DESARROLLO E IMPLEMENTACIÓN DE UN SOFTWARE EDUCATIVO DE NOCIONES BÁSICAS PARA MEJORAR EL PROCESO DE ENSEÑANZA APRENDIZAJE, DESARROLLADO EN LENGUAJE PHP CON MOTOR BASE DE DATOS MYSQL DEL CENTRO INFANTIL DEL BUEN VIVIR “ESTRELLITAS” EN ACHUPALLAS BARRIO TOTORAS PAMPA EN EL PERIODO LECTIVO 2016- 2017 AUTOR: MARVIN SANTIAGO AJITIMBAY ZAMBRANO RIOBAMBA-ECUADOR 2018 CERTIFICACIÓN Certifico que el Sr. MARVIN SANTIAGO AJITIMBAY ZAMBRANO, con el N° de Cédula 060410972-8 ha elaborado bajo mi Asesoría el Trabajo de Investigación titulado: DESARROLLO E IMPLEMENTACIÓN DE UN SOFTWARE EDUCATIVO DE NOCIONES BÁSICAS PARA MEJORAR EL PROCESO DE ENSEÑANZA APRENDIZAJE, DESARROLLADO EN LENGUAJE PHP CON MOTOR BASE DE DATOS MYSQL DEL CENTRO INFANTIL DEL BUEN VIVIR “ESTRELLITAS” EN ACHUPALLAS BARRIO TOTORAS PAMPA EN EL PERIODO LECTIVO 2016-2017 Por tanto autorizo la presentación para la calificación respectiva. ____________________________________ Ing. Ángel Huilca TUTOR DE TESIS “El presente Trabajo de Investigación constituye un requisito previo para la obtención del Título de Tecnólogo en Informática mención Análisis de Sistema” II “Yo, MARVIN SANTIAGO AJITIMBAY ZAMBRANO con N° de Cédula 060410972-8, declaro que la investigación es absolutamente original, autentica, personal y los resultados y conclusiones a los que se han llegado es de mi absoluta responsabilidad.” ____________________________________
    [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]
  • 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]
  • Under Doctors' Eyes: Private Life in Russian Literature In
    UNDER DOCTORS’ EYES: PRIVATE LIFE IN RUSSIAN LITERATURE IN THE FIRST HALF OF THE NINETEENTH CENTURY A DISSERTATION SUBMITTED TO THE DEPARTMENT OF SLAVIC LANGUAGES AND LITERATURES AND THE COMMITTEE ON GRADUATE STUDIES OF STANFORD UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY Ekaterina Neklyudova December 2012 © 2012 by Ekaterina Neklyudova. All Rights Reserved. Re-distributed by Stanford University under license with the author. This work is licensed under a Creative Commons Attribution- Noncommercial 3.0 United States License. http://creativecommons.org/licenses/by-nc/3.0/us/ This dissertation is online at: http://purl.stanford.edu/xk765sg1658 ii I certify that I have read this dissertation and that, in my opinion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy. Gabriella Safran, Primary Adviser I certify that I have read this dissertation and that, in my opinion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy. Gregory Freidin I certify that I have read this dissertation and that, in my opinion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy. Monika Greenleaf Approved for the Stanford University Committee on Graduate Studies. Patricia J. Gumport, Vice Provost Graduate Education This signature page was generated electronically upon submission of this dissertation in electronic format. An original signed hard copy of the signature page is on file in University Archives. iii Abstract My dissertation deals with the figure of the doctor in early Russian nineteenth- century prose, which manifests a shift in the way literature depicts human physicality and the characters’ everyday life.
    [Show full text]
  • DVD-Libre 2007-12 DVD-Libre Diciembre De 2007 De Diciembre
    (continuación) Java Runtime Environment 6 update 3 - Java Software Development Kit 6 update 3 - JClic 0.1.2.2 - jEdit 4.2 - JkDefrag 3.32 - jMemorize 1.2.3 - Joomla! 1.0.13 - Juice Receiver 2.2 - K-Meleon 1.1.3 - Kana no quiz 1.9 - KDiff3 0.9.92 - KeePass 1.04 Catalán - KeePass 1.09 - KeePass 1.09 Castellano - KeyJnote 0.10.1 - KeyNote 1.6.5 - Kicad 2007.07.09 - Kitsune 2.0 - Kompozer 0.7.10 - Kompozer 0.7.10 Castellano - KVIrc 3.2.0 - Launchy 1.25 - Lazarus 0.9.24 - LenMus 3.6 - Liberation Fonts 2007.08.03 - lightTPD 1.4.18-1 - Lilypond 2.10.33-1 - Linux DVD-Libre Libertine 2.6.9 - LockNote 1.0.4 - Logisim 2.1.6 - LPSolve IDE 5.5.0.5 - Lynx 2.8.6 rel2 - LyX 1.5.2-1 - LyX 1.5.2-1 cdlibre.org Bundle - Macanova 5.05 R3 - MALTED 2.5 - Mambo 4.6.2 - Maxima 5.13.0 - MD5summer 1.2.0.05 - Media Player Classic 6.4.9.0 Windows 9X / Windows XP - MediaCoder 0.6.0.3996 - MediaInfo 0.7.5.6 - MediaPortal 0.2.3.0 - 2007-12 MediaWiki 1.11.0 - Memorize Words Flashcard System 2.1.1.0 - Mercurial 0.9.5 - Minimum Profit 5.0.0 - Miranda IM 0.7.3 Windows 9X / Windows XP - Miro 1.0 - Mixere 1.1.00 - Mixxx 1.5.0.1 - mod_python 3.3.1 (py 2.4 - ap 2.0 / py 2.4 - ap 2.2 / py 2.5 - ap 2.0 / py 2.5 - ap 2.2) - Mono 1.2.4 - MonoCalendar 0.7.2 - monotone 0.38 - Moodle DVD-Libre es una recopilación de programas libres para Windows.
    [Show full text]
  • Instalación Wxpython Y Pyo En Thonny
    Instalaci´on wxPython y pyo en Thonny Inform´aticaIII ISM - UNL [email protected] updated: 29 ago 2018 ´Indice 1. Introducci´on 2 2. Instalaci´onen Windows 7/8.1/10 (32 y 64 bits) 3 2.1. Reconocer arquitectura del Sistema Operativo . .3 2.2. Instalar paquetes de MS Visual C++ . .3 2.3. Instalar wxPython con Thonny .........................................4 2.4. Instalar pyo en Thonny . .5 2.5. Instalaci´onde wxFormBuilder .........................................6 3. Instalaci´onen Linux (Ubuntu 16.04 64 bits) 8 3.1. Prerrequisitos . .8 3.2. Instalar wxPython en Thonny .........................................8 3.3. Instalar pyo en Thonny . 10 3.4. Instalaci´onde wxFormBuilder ......................................... 12 4. Instalaci´onen MacOSX (Sierra 10.12 - 64 bits) 13 4.1. Instalar wxPython con Thonny ......................................... 13 4.2. Instalar pyo con Thonny ............................................ 14 4.3. Instalaci´onde wxFormBuilder ......................................... 16 1. Introducci´on En este documento se intentar´adar los pasos para la instalaci´onde wxPython y pyo en la interfaz Thonny. wxPython (https://wxpython.org) es un conjunto de librer´ıasgr´aficaspara Python que permite la interacci´on entre el usuario y componentes GUI (Graphical User Interface) de manera tal que se pueda programar ventanas, botones, listas, menu´es,facilitando as´ıla interacci´onentre el usuario y los programas. Por otro lado, pyo (http://ajaxsoundstudio.com/software/pyo) es un m´odulode Python dise~nadopor Olivier Belanger (PhD en Composici´onElectroac´usticadel Ajax Sound Studio, de Montreal, Canad´a)para procesamiento digital de se~nales(o DSP - Digital Signal Processing) que se utilizar´apara sintetizar, filtrar y generar efectos de audio utilizando Python.
    [Show full text]