Introduction to Writing GNU Emacs Native Modules Extending Emacs in C Or Other Languages
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Bringing GNU Emacs to Native Code
Bringing GNU Emacs to Native Code Andrea Corallo Luca Nassi Nicola Manca [email protected] [email protected] [email protected] CNR-SPIN Genoa, Italy ABSTRACT such a long-standing project. Although this makes it didactic, some Emacs Lisp (Elisp) is the Lisp dialect used by the Emacs text editor limitations prevent the current implementation of Emacs Lisp to family. GNU Emacs can currently execute Elisp code either inter- be appealing for broader use. In this context, performance issues preted or byte-interpreted after it has been compiled to byte-code. represent the main bottleneck, which can be broken down in three In this work we discuss the implementation of an optimizing com- main sub-problems: piler approach for Elisp targeting native code. The native compiler • lack of true multi-threading support, employs the byte-compiler’s internal representation as input and • garbage collection speed, exploits libgccjit to achieve code generation using the GNU Com- • code execution speed. piler Collection (GCC) infrastructure. Generated executables are From now on we will focus on the last of these issues, which con- stored as binary files and can be loaded and unloaded dynamically. stitutes the topic of this work. Most of the functionality of the compiler is written in Elisp itself, The current implementation traditionally approaches the prob- including several optimization passes, paired with a C back-end lem of code execution speed in two ways: to interface with the GNU Emacs core and libgccjit. Though still a work in progress, our implementation is able to bootstrap a func- • Implementing a large number of performance-sensitive prim- tional Emacs and compile all lexically scoped Elisp files, including itive functions (also known as subr) in C. -
Hacker Culture & Politics
HACKER CULTURE & POLITICS COMS 541 (CRN 15368) 1435-1725 Department of Art History and Communication Studies McGill University Professor Gabriella Coleman Fall 2012 Arts W-220/ 14:35-17:25 Professor: Dr. Gabriella Coleman Office: Arts W-110 Office hours: Sign up sheet Tuesday 2:30-3:30 PM Phone: xxx E-mail: [email protected] OVERVIEW This course examines computer hackers to interrogate not only the ethics and technical practices of hacking, but to examine more broadly how hackers and hacking have transformed the politics of computing and the Internet more generally. We will examine how hacker values are realized and constituted by different legal, technical, and ethical activities of computer hacking—for example, free software production, cyberactivism and hactivism, cryptography, and the prankish games of hacker underground. We will pay close attention to how ethical principles are variably represented and thought of by hackers, journalists, and academics and we will use the example of hacking to address various topics on law, order, and politics on the Internet such as: free speech and censorship, privacy, security, surveillance, and intellectual property. We finish with an in-depth look at two sites of hacker and activist action: Wikileaks and Anonymous. LEARNER OBJECTIVES This will allow us to 1) demonstrate familiarity with variants of hacking 2) critically examine the multiple ways hackers draw on and reconfigure dominant ideas of property, freedom, and privacy through their diverse moral 1 codes and technical activities 3) broaden our understanding of politics of the Internet by evaluating the various political effects and ramifications of hacking. -
Emacs Speaks Statistics (ESS): a Multi-Platform, Multi-Package Intelligent Environment for Statistical Analysis
Emacs Speaks Statistics (ESS): A multi-platform, multi-package intelligent environment for statistical analysis A.J. Rossini Richard M. Heiberger Rodney A. Sparapani Martin Machler¨ Kurt Hornik ∗ Date: 2003/10/22 17:34:04 Revision: 1.255 Abstract Computer programming is an important component of statistics research and data analysis. This skill is necessary for using sophisticated statistical packages as well as for writing custom software for data analysis. Emacs Speaks Statistics (ESS) provides an intelligent and consistent interface between the user and software. ESS interfaces with SAS, S-PLUS, R, and other statistics packages under the Unix, Microsoft Windows, and Apple Mac operating systems. ESS extends the Emacs text editor and uses its many features to streamline the creation and use of statistical software. ESS understands the syntax for each data analysis language it works with and provides consistent display and editing features across packages. ESS assists in the interactive or batch execution by the statistics packages of statements written in their languages. Some statistics packages can be run as a subprocess of Emacs, allowing the user to work directly from the editor and thereby retain a consistent and constant look- and-feel. We discuss how ESS works and how it increases statistical programming efficiency. Keywords: Data Analysis, Programming, S, SAS, S-PLUS, R, XLISPSTAT,STATA, BUGS, Open Source Software, Cross-platform User Interface. ∗A.J. Rossini is Research Assistant Professor in the Department of Biostatistics, University of Washington and Joint Assis- tant Member at the Fred Hutchinson Cancer Research Center, Seattle, WA, USA mailto:[email protected]; Richard M. -
1 What Is Gimp? 3 2 Default Short Cuts and Dynamic Keybinding 9
GUM The Gimp User Manual version 1.0.0 Karin Kylander & Olof S Kylander legalities Legalities The Gimp user manual may be reproduced and distributed, subject to the fol- lowing conditions: Copyright © 1997 1998 by Karin Kylander Copyright © 1998 by Olof S Kylander E-mail: [email protected] (summer 98 [email protected]) The Gimp User Manual is an open document; you may reproduce it under the terms of the Graphic Documentation Project Copying Licence (aka GDPL) as published by Frozenriver. This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT- ABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Graphic Documentation Project Copying License for more details. GRAPHIC DOCUMENTATION PROJECT COPYING LICENSE The following copyright license applies to all works by the Graphic Docu- mentation Project. Please read the license carefully---it is similar to the GNU General Public License, but there are several conditions in it that differ from what you may be used to. The Graphic Documentation Project manuals may be reproduced and distrib- uted in whole, subject to the following conditions: The Gimp User Manual Page i Legalities All Graphic Documentation Project manuals are copyrighted by their respective authors. THEY ARE NOT IN THE PUBLIC DOMAIN. • The copyright notice above and this permission notice must be preserved complete. • All work done under the Graphic Documentation Project Copying License must be available in source code for anyone who wants to obtain it. The source code for a work means the preferred form of the work for making modifications to it. -
Texing in Emacs Them
30 TUGboat, Volume 39 (2018), No. 1 TEXing in Emacs them. I used a simple criterion: Emacs had a nice tutorial, and Vim apparently did not (at that time). Marcin Borkowski I wince at the very thought I might have chosen Abstract wrong! And so it went. I started with reading the In this paper I describe how I use GNU Emacs to manual [8]. As a student, I had a lot of free time work with LAT X. It is not a comprehensive survey E on my hands, so I basically read most of it. (I still of what can be done, but rather a subjective story recommend that to people who want to use Emacs about my personal usage. seriously.) I noticed that Emacs had a nice TEX In 2017, I gave a presentation [1] during the joint mode built-in, but also remembered from one of GUST/TUG conference at Bachotek. I talked about the BachoTEXs that other people had put together my experiences typesetting a journal (Wiadomo´sci something called AUCTEX, which was a TEX-mode Matematyczne, a journal of the Polish Mathematical on steroids. Society), and how I utilized LAT X and GNU Emacs E In the previous paragraph, I mentioned modes. in my workflow. After submitting my paper to the In order to understand what an Emacs mode is, let proceedings issue of TUGboat, Karl Berry asked me me explain what this whole Emacs thing is about. whether I'd like to prepare a paper about using Emacs with LATEX. 1 Basics of Emacs Well, I jumped at the proposal. -
Introduction Making and Hacking
Introduction Making and Hacking Annika Richterich and Karin Wenz “While hacking is a wonderful way of viewing the world, ‘making’ was a more positive framing for customizing and changing the world.” (DOUGHERTY 2014) In August 2014, hackerspaces in the Netherlands issued an open letter to the Dutch Public Prosecution Service (PPS): in this document, members of hacker communi- ties from Amsterdam, Heerlen, Utrecht and other cities called upon the govern- mental institution to revise the definition of ‘hacking’ as presented on its website (Walboer et al. 2014). While the PPS described it as “breaking into computers without permission”, the hackerspace members highlighted that hacking refers to citizens’ creative engagement with technologies. Opposing the reduction of hacking to illegal activities, they described hacking as exploration of technological possibilities and boundaries in unforeseen, innovative ways. Even though this particular initiative was started in the Netherlands, the letter echoes wider, historical as well as ongoing negotiations regarding the meanings and origins of hacking. It seems closely related to earlier requests such as an open letter to the Wall Street Journal which was written more than 20 years ago by Richard Stallman (presumably). In this letter, the founder of the Free Software Foundation states: There’s nothing shameful about the hacking I do. But when I tell people I am a hacker, people think I’m admitting something naughty – because newspapers such as yours misuse the word ‘hacker’, giving the impression that it means ‘security breaker’ and nothing else. You are giving hackers a bad name. (Raymond 1996: 532) While one cannot find any explicit reference to this letter on Stallman’s own website, similar statements were made in his article ‘On Hacking’ (n. -
GNU Texmacs User Manual Joris Van Der Hoeven
GNU TeXmacs User Manual Joris van der Hoeven To cite this version: Joris van der Hoeven. GNU TeXmacs User Manual. 2013. hal-00785535 HAL Id: hal-00785535 https://hal.archives-ouvertes.fr/hal-00785535 Preprint submitted on 6 Feb 2013 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. GNU TEXMACS user manual Joris van der Hoeven & others Table of contents 1. Getting started ...................................... 11 1.1. Conventionsforthismanual . .......... 11 Menuentries ..................................... 11 Keyboardmodifiers ................................. 11 Keyboardshortcuts ................................ 11 Specialkeys ..................................... 11 1.2. Configuring TEXMACS ..................................... 12 1.3. Creating, saving and loading documents . ............ 12 1.4. Printingdocuments .............................. ........ 13 2. Writing simple documents ............................. 15 2.1. Generalities for typing text . ........... 15 2.2. Typingstructuredtext ........................... ......... 15 2.3. Content-basedtags -
Hacked: a Radical Approach to Hacker Culture and Crime by Kevin F.Steinmetz Richard A
International Social Science Review Volume 93 | Issue 2 Article 10 Book Review: Hacked: A Radical Approach to Hacker Culture and Crime by Kevin F.Steinmetz Richard A. Almeida Francis Marion University Follow this and additional works at: https://digitalcommons.northgeorgia.edu/issr Part of the Anthropology Commons, Communication Commons, Economics Commons, Geography Commons, International and Area Studies Commons, Political Science Commons, and the Public Affairs, Public Policy and Public Administration Commons Recommended Citation Almeida, Richard A. () "Book Review: Hacked: A Radical Approach to Hacker Culture and Crime by Kevin F.Steinmetz," International Social Science Review: Vol. 93 : Iss. 2 , Article 10. Available at: https://digitalcommons.northgeorgia.edu/issr/vol93/iss2/10 This Book Review is brought to you for free and open access by Nighthawks Open Institutional Repository. It has been accepted for inclusion in International Social Science Review by an authorized editor of Nighthawks Open Institutional Repository. Almeida: Book Review: Hacked Steinmetz, Kevin F. Hacked: A Radical Approach to Hacker Culture and Crime. 2016. New York: New York University Press. xv + 285 pages. Paperback, $28. “Hackers” and “hacking” occupy a complicated place in twenty-first century American life. Images of misfit teenagers, sinister manipulators of the democratic process, and monomaniacally-focused corporate intruders abound. Kevin Steinmetz acknowledges that those archetypes have some legitimacy but makes a convincing case that “craftsperson,” “guild member,” and “exploited proletarian” should be added to the iconography of hacking. On his account, hackers and hacker culture occupy an interesting and important place in American culture and the post-Fordist economy, one that can be fruitfully explored with a “radical” (Marx- inspired) approach. -
Duane's Incredibly Brief Intro to Unix How to Get Help on Unix: Man
Duane’s Incredibly Brief Intro to Unix Duane’s Ten Ways To Make Your Unix Life More Reasonable How to get help on unix: 0. Walk away from the machine. Don’t waste your time in front of a man <command-name> Get full description of command machine if you’re not making any progress. Print a listing and walk away. man -k <keyword> List commands mentioning keyword in title Make and take a friend with you. Life will be better if you reconsider the situation without the pressure of a computer. Logging in and out: logout Terminate session 1. Read the man pages. exit Terminate current "shell" Realize, if you haven’t already, that you don’t know everything. Learn. ssh <remote host> Login securely to a remote host The world travels about 66,600 miles an hour about our Sun, and the Sun glides gracefully along its own path dragging us along. File manipulation: Hackers have no impact. None. emacs <file> Edit a text file (see "cheat sheet") mv <old> <new> Rename/move <old> file to a <new> name 2. Learn the emacs keystrokes. It will save you when you have to rm <file(s)> Delete file(s) from system use a system whose mouse is not working. Avoid the "arrow keys". Why?... cp <orig> <duplicate> Copy <orig> to file named <duplicate> sftp <remote host> Secure batch file transfers between mach’ns 3. Use emacs keystrokes in the shell. Many cursor manipulation keystrokes scp host:<orig> host:<dup> Securely transfer files between machines from emacs recall history in the "bash" shell: cat <file> Display/catenate file contents to screen ^P = previous command, ^N = next command, more <file> Display file, page by page (but: use less) ^R = search for command from the past by typing a few letters less <file> Display file, page by page (avoid more) ^A = go to beginning of command line head <file> Display the first few lines of a file ^E = go to end of command line tail <file> Display the last few lines of a file ^B = go back one character grep <pattern> <file(s)> Search for/display pattern within file(s) ^F = go forward one character source <file> Read commands from <file> (also: . -
Harley Hahn's Emacs Field Guide
Harley Hahn’s Emacs Field Guide Harley Hahn Harley Hahn’s Emacs Field Guide Harley Hahn www.harley.com ISBN-13 (pbk): 978-1-4842-1702-3 ISBN-13 (electronic): 978-1-4842-1703-0 DOI 10.1007/978-1-4842-1703-0 Library of Congress Control Number: 2016938804 Copyright © 2016 by Harley Hahn This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher’s location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. -
Learn Emacs Through Org-Mode
About Emacs Configuration & Basics The org-mode Further Topics Learn Emacs through org-mode Linyxus1 Dec 2018 [email protected] Linyxus Learn Emacs through org-mode About Emacs Configuration & Basics The org-mode Further Topics Outline About Emacs Configuration & Basics The org-mode Further Topics Linyxus Learn Emacs through org-mode About Emacs Configuration & Basics The org-mode Further Topics Learning curve Emacs may be best known for its learning curve: Linyxus Learn Emacs through org-mode About Emacs Configuration & Basics The org-mode Further Topics History2 A brief list: I 1970s, in Artificial Intelligence Laboratory at MIT, TECO I 1976, by Stallman, the first Emacs("Editor MACroS") I 1978, by Bernard Greenberg, MulticsEmacs, introducing MacLisp I 1981, the first Emacs to run on Linux, Gosling Emacs I 1984, by Stallman, GNU Emacs 2according to EmacsWiki Linyxus Learn Emacs through org-mode About Emacs Configuration & Basics The org-mode Further Topics What a excellent editor is like I Highly extensible (Emacs can do everthing!) I FLexible (freely define your own key bindings) I Portable (bring your Emacs everywhere) I Compatible (GUI && Terminal) I Macros Linyxus Learn Emacs through org-mode About Emacs Configuration & Basics The org-mode Further Topics Emacs deserves your efforts I It will never be out of date. I Be used in a wide range. I Programming I Documenting I Mailing I IRC I Playing games I ... I It’s really powerful. Linyxus Learn Emacs through org-mode About Emacs Configuration & Basics The org-mode Further Topics Aim of this lecture Find your passion The best way to learn Emacs is to use it. -
Free As in Freedom (2.0): Richard Stallman and the Free Software Revolution
Free as in Freedom (2.0): Richard Stallman and the Free Software Revolution Sam Williams Second edition revisions by Richard M. Stallman i This is Free as in Freedom 2.0: Richard Stallman and the Free Soft- ware Revolution, a revision of Free as in Freedom: Richard Stallman's Crusade for Free Software. Copyright c 2002, 2010 Sam Williams Copyright c 2010 Richard M. Stallman 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 published 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." Published by the Free Software Foundation 51 Franklin St., Fifth Floor Boston, MA 02110-1335 USA ISBN: 9780983159216 The cover photograph of Richard Stallman is by Peter Hinely. The PDP-10 photograph in Chapter 7 is by Rodney Brooks. The photo- graph of St. IGNUcius in Chapter 8 is by Stian Eikeland. Contents Foreword by Richard M. Stallmanv Preface by Sam Williams vii 1 For Want of a Printer1 2 2001: A Hacker's Odyssey 13 3 A Portrait of the Hacker as a Young Man 25 4 Impeach God 37 5 Puddle of Freedom 59 6 The Emacs Commune 77 7 A Stark Moral Choice 89 8 St. Ignucius 109 9 The GNU General Public License 123 10 GNU/Linux 145 iii iv CONTENTS 11 Open Source 159 12 A Brief Journey through Hacker Hell 175 13 Continuing the Fight 181 Epilogue from Sam Williams: Crushing Loneliness 193 Appendix A { Hack, Hackers, and Hacking 209 Appendix B { GNU Free Documentation License 217 Foreword by Richard M.