Étoile Status Update (Slides), FOSDEM 2011
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Working with System Frameworks in Python and Objective-C
Working with System Frameworks in Python and Objective-C by James Barclay Feedback :) j.mp/psumac2015-62 2 Dude, Where’s My Source Code? CODE https://github.com/futureimperfect/psu-pyobjc-demo https://github.com/futureimperfect/PSUDemo SLIDES https://github.com/futureimperfect/slides 3 Dude, Where’s My Source Code? CODE https://github.com/futureimperfect/psu-pyobjc-demo https://github.com/futureimperfect/PSUDemo SLIDES https://github.com/futureimperfect/slides 3 Dude, Where’s My Source Code? CODE https://github.com/futureimperfect/psu-pyobjc-demo https://github.com/futureimperfect/PSUDemo SLIDES https://github.com/futureimperfect/slides 3 Agenda 1. What are system frameworks, and why should you care? 2. Brief overview of the frameworks, classes, and APIs that will be demonstrated. 3. Demo 1: PyObjC 4. Demo 2: Objective-C 5. Wrap up and questions. 4 What’s a System Framework? …and why should you care? (OS X) system frameworks provide interfaces you need to write software for the Mac. Many of these are useful for Mac admins creating: • scripts • GUI applications • command-line tools Learning about system frameworks will teach you more about OS X, which will probably make you a better admin. 5 Frameworks, Classes, and APIs oh my! Cocoa CoreFoundation • Foundation • CFPreferences - NSFileManager CoreGraphics - NSTask • Quartz - NSURLSession - NSUserDefaults • AppKit - NSApplication 6 CoreFoundation CoreFoundation is a C framework that knows about Objective-C objects. Some parts of CoreFoundation are written in Objective-C. • Other parts are written in C. CoreFoundation uses the CF class prefix, and it provides CFString, CFDictionary, CFPreferences, and the like. Some Objective-C objects are really CF types behind the scenes. -
Porting a Window Manager from Xlib to XCB
Porting a Window Manager from Xlib to XCB Arnaud Fontaine (08090091) 16 May 2008 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version pub- lished by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". Contents List of figures i List of listings ii Introduction 1 1 Backgrounds and Motivations 2 2 X Window System (X11) 6 2.1 Introduction . .6 2.2 History . .6 2.3 X Window Protocol . .7 2.3.1 Introduction . .7 2.3.2 Protocol overview . .8 2.3.3 Identifiers of resources . 10 2.3.4 Atoms . 10 2.3.5 Windows . 12 2.3.6 Pixmaps . 14 2.3.7 Events . 14 2.3.8 Keyboard and pointer . 15 2.3.9 Extensions . 17 2.4 X protocol client libraries . 18 2.4.1 Xlib . 18 2.4.1.1 Introduction . 18 2.4.1.2 Data types and functions . 18 2.4.1.3 Pros . 19 2.4.1.4 Cons . 19 2.4.1.5 Example . 20 2.4.2 XCB . 20 2.4.2.1 Introduction . 20 2.4.2.2 Data types and functions . 21 2.4.2.3 xcb-util library . 22 2.4.2.4 Pros . 22 2.4.2.5 Cons . 23 2.4.2.6 Example . 23 2.4.3 Xlib/XCB round-trip performance comparison . -
The GNOME Desktop Environment
The GNOME desktop environment Miguel de Icaza ([email protected]) Instituto de Ciencias Nucleares, UNAM Elliot Lee ([email protected]) Federico Mena ([email protected]) Instituto de Ciencias Nucleares, UNAM Tom Tromey ([email protected]) April 27, 1998 Abstract We present an overview of the free GNU Network Object Model Environment (GNOME). GNOME is a suite of X11 GUI applications that provides joy to users and hackers alike. It has been designed for extensibility and automation by using CORBA and scripting languages throughout the code. GNOME is licensed under the terms of the GNU GPL and the GNU LGPL and has been developed on the Internet by a loosely-coupled team of programmers. 1 Motivation Free operating systems1 are excellent at providing server-class services, and so are often the ideal choice for a server machine. However, the lack of a consistent user interface and of consumer-targeted applications has prevented free operating systems from reaching the vast majority of users — the desktop users. As such, the benefits of free software have only been enjoyed by the technically savvy computer user community. Most users are still locked into proprietary solutions for their desktop environments. By using GNOME, free operating systems will have a complete, user-friendly desktop which will provide users with powerful and easy-to-use graphical applications. Many people have suggested that the cause for the lack of free user-oriented appli- cations is that these do not provide enough excitement to hackers, as opposed to system- level programming. Since most of the GNOME code had to be written by hackers, we kept them happy: the magic recipe here is to design GNOME around an adrenaline response by trying to use exciting models and ideas in the applications. -
X Meets Z: Verifying Correctness in the Presence of POSIX Threads
X Meets Z: Verifying Correctness In The Presence Of POSIX Threads Bart Massey Robert Bauer Computer Science Department Rational Software Corporation Portland State University 1920 Amberglen Pkwy, Suite 200 Portland, Oregon USA 97207–0751 Beaverton, Oregon USA 97006 [email protected] [email protected] Abstract and guide the development of resulting code. While this approach is not a panacea, it typically does dramatically The engineering of freely-available UNIX software nor- reduce the likelihood of defects and increase confidence mally utilizes an informal analysis and design process in the developed system. A more surprising finding of coupled with extensive user testing. While this approach most of these case studies, confirmed by the authors’ ex- is often appropriate, there are situations for which it pro- perience in teaching formal methods to industrial prac- duces less-than-stellar results. titioners, is that Z-like lightweight formal methods are quite accessible to reasonably experienced software en- A case study is given of such a situation that arose dur- gineers. In fact, in many studies, the savings in time and ing the design and implementation of a thread-safe li- effort due to reduced defect rates has exceeded the extra brary for interaction with the X Window System. XCB cost of judiciously-applied formal analysis. is a C binding library for the X protocol designed to work transparently with either single-threaded or multi- Thus, using the Z notation to construct a lightweight threaded clients. Managing XCB client thread access to problem model can enable the construction of an algo- the X server while honoring the constraints of both XCB rithm for controlling client thread access to the server and the X server is thus a delicate matter. -
Openstep User Interface Guidelines
OpenStep User Interface Guidelines 2550 Garcia Avenue Mountain View, CA 94043 U.S.A. Part No: 802-2109-10 A Sun Microsystems, Inc. Business Revision A, September 1996 1996 Sun Microsystems, Inc. 2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A. All rights reserved. Portions Copyright 1995 NeXT Computer, Inc. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Portions of this product may be derived from the UNIX® system, licensed from UNIX System Laboratories, Inc., a wholly owned subsidiary of Novell, Inc., and from the Berkeley 4.3 BSD system, licensed from the University of California. Third-party font software, including font technology in this product, is protected by copyright and licensed from Sun's suppliers. This product incorporates technology licensed from Object Design, Inc. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR 52.227-19. The product described in this manual may be protected by one or more U.S. patents, foreign patents, or pending applications. TRADEMARKS Sun, Sun Microsystems, the Sun logo, SunSoft, the SunSoft logo, Solaris, SunOS, and OpenWindows are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. -
Gnustep-Gui Improvements
GNUstep-gui Improvements Author: Eric Wasylishen Presenter: Fred Kiefer Overview ● Introduction ● Recent Improvements ● Resolution Independence ● NSImage ● Text System ● Miscellaneous ● Work in Progress ● Open Projects 2012-02-04 GNUstep-gui Improvements 2 Introduction ● Cross-platform (X11, Windows) GUI toolkit, fills a role similar to gtk ● Uses cairo as the drawing backend ● License: LGPLv2+; bundled tools: GPLv3+ ● Code is copyright FSF (contributors must sign copyright agreement) ● Latest release: 0.20.0 (2011/04) ● New release coming out soon 2012-02-04 GNUstep-gui Improvements 3 Introduction: Nice Features ● Objective-C is a good compromise language ● Readable, Smalltalk-derived syntax ● Object-Oriented features easy to learn ● Superset of C ● OpenStep/Cocoa API, which GNUstep-gui follows, is generally well-designed 2012-02-04 GNUstep-gui Improvements 4 Recent Improvements: Resolution Independence ● Basic problem: pixel resolution of computer displays varies widely 2012-02-04 GNUstep-gui Improvements 5 Resolution Independence ● In GNUstep-gui we draw everything with Display PostScript commands and all graphics coordinates are floating-point, so it would seem to be easy to scale UI graphics up or down ● Drawing elements ● Geometry ● Images ● Text 2012-02-04 GNUstep-gui Improvements 6 Resolution Independence ● Challenges: ● Auto-sized/auto-positioned UI elements should be aligned on pixel boundaries ● Need a powerful image object which can select between multiple versions of an image depending on the destination resolution (luckily NSImage is capable) 2012-02-04 GNUstep-gui Improvements 7 Recent Improvements: NSImage ● An NSImage is a lightweight container which holds one or more image representations (NSImageRep) ● Some convenience code for choosing which representation to use, drawing it, caching.. -
Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference
USENIX Association Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference Monterey, California, USA June 10-15, 2002 THE ADVANCED COMPUTING SYSTEMS ASSOCIATION © 2002 by The USENIX Association All Rights Reserved For more information about the USENIX Association: Phone: 1 510 528 8649 FAX: 1 510 548 5738 Email: [email protected] WWW: http://www.usenix.org Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein. XCL : An Xlib Compatibility Layer For XCB Jamey Sharp Bart Massey Computer Science Department Portland State University Portland, Oregon USA 97207–0751 fjamey,[email protected] Abstract 1 The X Window System The X Window System [SG86] is the de facto standard technology for UNIX applications wishing to provide a graphical user interface. The power and success of the X model is due in no small measure to its separation of The X Window System has provided the standard graph- hardware control from application logic with a stable, ical user interface for UNIX systems for more than 15 published client-server network protocol. In this model, years. One result is a large installed base of X applica- the hardware controller is considered the server, and in- tions written in C and C++. In almost all cases, these dividual applications and other components of a com- programs rely on the Xlib library to manage their inter- plete desktop environment are clients. -
Hitachi Cloud Accelerator Platform Product Manager HCAP V 1
HITACHI Inspire the Next 2535 Augustine Drive Santa Clara, CA 95054 USA Contact Information : Hitachi Cloud Accelerator Platform Product Manager HCAP v 1 . 5 . 1 Hitachi Vantara LLC 2535 Augustine Dr. Santa Clara CA 95054 Component Version License Modified 18F/domain-scan 20181130-snapshot-988de72b Public Domain Exact BSD 3-clause "New" or "Revised" a connector factory 0.0.9 Exact License BSD 3-clause "New" or "Revised" a connector for Pageant using JNA 0.0.9 Exact License BSD 3-clause "New" or "Revised" a connector for ssh-agent 0.0.9 Exact License a library to use jsch-agent-proxy with BSD 3-clause "New" or "Revised" 0.0.9 Exact sshj License Exact,Ma activesupport 5.2.1 MIT License nually Identified Activiti - BPMN Converter 6.0.0 Apache License 2.0 Exact Activiti - BPMN Model 6.0.0 Apache License 2.0 Exact Activiti - DMN API 6.0.0 Apache License 2.0 Exact Activiti - DMN Model 6.0.0 Apache License 2.0 Exact Activiti - Engine 6.0.0 Apache License 2.0 Exact Activiti - Form API 6.0.0 Apache License 2.0 Exact Activiti - Form Model 6.0.0 Apache License 2.0 Exact Activiti - Image Generator 6.0.0 Apache License 2.0 Exact Activiti - Process Validation 6.0.0 Apache License 2.0 Exact Addressable URI parser 2.5.2 Apache License 2.0 Exact Exact,Ma adzap/timeliness 0.3.8 MIT License nually Identified aggs-matrix-stats 5.5.1 Apache License 2.0 Exact agronholm/pythonfutures 3.3.0 3Delight License Exact ahoward's lockfile 2.1.3 Ruby License Exact Exact,Ma ahoward's systemu 2.6.5 Ruby License nually Identified GNU Lesser General Public License ai's -
Latexsample-Thesis
INTEGRAL ESTIMATION IN QUANTUM PHYSICS by Jane Doe A dissertation submitted to the faculty of The University of Utah in partial fulfillment of the requirements for the degree of Doctor of Philosophy Department of Mathematics The University of Utah May 2016 Copyright c Jane Doe 2016 All Rights Reserved The University of Utah Graduate School STATEMENT OF DISSERTATION APPROVAL The dissertation of Jane Doe has been approved by the following supervisory committee members: Cornelius L´anczos , Chair(s) 17 Feb 2016 Date Approved Hans Bethe , Member 17 Feb 2016 Date Approved Niels Bohr , Member 17 Feb 2016 Date Approved Max Born , Member 17 Feb 2016 Date Approved Paul A. M. Dirac , Member 17 Feb 2016 Date Approved by Petrus Marcus Aurelius Featherstone-Hough , Chair/Dean of the Department/College/School of Mathematics and by Alice B. Toklas , Dean of The Graduate School. ABSTRACT Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. -
Upgrading and Performance Analysis of Thin Clients in Server Based Scientific Computing
Institutionen för Systemteknik Department of Electrical Engineering Examensarbete Upgrading and Performance Analysis of Thin Clients in Server Based Scientific Computing Master Thesis in ISY Communication System By Rizwan Azhar LiTH-ISY-EX - - 11/4388 - - SE Linköping 2011 Department of Electrical Engineering Linköpings Tekniska Högskola Linköpings universitet Linköpings universitet SE-581 83 Linköping, Sweden 581 83 Linköping, Sweden Upgrading and Performance Analysis of Thin Clients in Server Based Scientific Computing Master Thesis in ISY Communication System at Linköping Institute of Technology By Rizwan Azhar LiTH-ISY-EX - - 11/4388 - - SE Examiner: Dr. Lasse Alfredsson Advisor: Dr. Alexandr Malusek Supervisor: Dr. Peter Lundberg Presentation Date Department and Division 04-02-2011 Department of Electrical Engineering Publishing Date (Electronic version) Language Type of Publication ISBN (Licentiate thesis) X English Licentiate thesis ISRN: Other (specify below) X Degree thesis LiTH-ISY-EX - - 11/4388 - - SE Thesis C-level Thesis D-level Title of series (Licentiate thesis) 55 Report Number of Pages Other (specify below) Series number/ISSN (Licentiate thesis) URL, Electronic Version http://www.ep.liu.se Publication Title Upgrading and Performance Analysis of Thin Clients in Server Based Scientific Computing Author Rizwan Azhar Abstract Server Based Computing (SBC) technology allows applications to be deployed, managed, supported and executed on the server and not on the client; only the screen information is transmitted between the server and client. This architecture solves many fundamental problems with application deployment, technical support, data storage, hardware and software upgrades. This thesis is targeted at upgrading and evaluating performance of thin clients in scientific Server Based Computing (SBC). Performance of Linux based SBC was assessed via methods of both quantitative and qualitative research. -
Linux, Yocto and Fpgas
Embedded Open Source Experts Linux, Yocto and FPGAs Integrating Linux and Yocto builds into different SoCs From a Linux software perspective: ➤ Increased demand for Linux on FPGAs ➤ Many things to mange, both technical and practical ➤ FPGAs with integrated CPU cores – very similar many other SoCs Here are some experiences and observations... © Codiax 2019 ● Page 2 Why use Linux? ➤ De-facto standard ➤ Huge HW support ➤ FOSS ➤ Flexible ➤ Adaptable ➤ Stable ➤ Scalable ➤ Royalty free ➤ Vendor independent ➤ Large community ➤ Long lifetime Why not Linux? ➤ Too big ➤ Real-time requirements ➤ Certification ➤ Boot time ➤ Licensing ➤ Too open? Desktop Shells: Desktop Display server: Display BrailleDisplay Touch-Screen Mouse & Keyboard Wayland Compositor Wayland + development tools = a lot code!of source Linux system example weston, clayton,mutter,KWin evdev libinput GNOME Shell D radeon nouveau lima etna_viv freedreno tegra-re lima nouveau radeon freedreno etna_viv e libwayland-server libwayland-server s Cinnamon k t o kms p Linux kernel, Linux kernel, Plasma 2 w i (Kernel Mode Setting) Mode (Kernel d g Cairo-Dock e t s drm (Direct Rendering Manager) Rendering (Direct drm cache coherent L2-Caches L2-Caches cache coherent CPU &GPU Enlight. DR19 System libraries: System oflibraries): form (in the Toolkits Interface User µClibc Pango glibc glibc main memory possibly adaptations to Wayland/Mir libwayland / COGL libwayland Cairo Cairo (Xr) GTK+ Clutter 2D Application 2D GModule GThread GThread GLib GObject Glib GIO ATK devicedrivers other& modules System -
Extensibility in Gnustep & Étoilé
Extensibility in GNUstep & Étoilé GNU Hackers 2011 http://www.gnustep.org http://www.etoileos.com jeudi 1 septembre 2011 Objective-C & GNUstep jeudi 1 septembre 2011 Objective-C • Created by Brad Cox and Tom Love in 1986 to package C libraries in Smalltalk-like classes • Comes with dynamic features such as • message forwarding • categories to extend existing classes • resolve methods lazily etc. jeudi 1 septembre 2011 Class Example @interface Person : NSObject - (void) sleep; @end @implementation - (void) sleep { NSLog(@“Zzzz!”); } @end jeudi 1 septembre 2011 Category Example @interface Person (Talktative) - (NSString *) talk; @end @implementation Person (Talktative) - (NSString *) talk { return @“poumpoumpidoum”; } @end jeudi 1 septembre 2011 Objective-C Runtime • No virtual machine, but a small runtime library • class_getSuperclass() • class_setSuperclass() • class_replaceMethod() • method_getArgumentType() etc. • Provides type infos for C types such as structs, unions, pointer etc. jeudi 1 septembre 2011 Class Transform • Dynamic implicit subclass creation • Many Use cases • Persistency (Fast Portable Orthogonally Persistent Java) • Change Notifications (Key Value Observing) • Prototypes (Google V8, libobjc2) • Faulting, State Machine, AOP etc. jeudi 1 septembre 2011 Composition of Class Transforms • Multiple transforms create several implicit subclasses… • Methods can be overriden several times • Composition order matters • How to be sure the resulting behavior is correct? • No well-known model to support composition jeudi 1 septembre