Arielvb's Notes

Total Page:16

File Type:pdf, Size:1020Kb

Arielvb's Notes arielvb’s notes Release 1.0 @arielvb May 04, 2015 Contents 1 Applications 3 1.1 Firefox..................................................3 1.2 LibreOffice................................................4 1.3 Virtualbox................................................5 2 Command line 7 2.1 Colorize.................................................7 2.2 Ripping DVD with FFMPEG......................................8 2.3 Imagemagick...............................................8 2.4 SoX - Sound eXchange.........................................9 2.5 Vi/vim.................................................. 11 3 Development 13 3.1 Apache.................................................. 13 3.2 BlackBerry................................................ 17 3.3 Buildout................................................. 17 3.4 Encodings................................................ 17 3.5 Jenkins and Python............................................ 18 3.6 Mono................................................... 18 3.7 PERL................................................... 20 3.8 PictureFlow................................................ 20 3.9 Python.................................................. 21 3.10 Sphinx.................................................. 24 3.11 Webfaction................................................ 24 3.12 wxwidgets................................................ 26 4 Mac Os X 27 4.1 Mac Os X: Command line........................................ 27 4.2 Dictionary................................................ 28 5 Various 31 5.1 Blender.................................................. 31 5.2 Gnome Shell............................................... 32 5.3 GPS - Tracker’s and more........................................ 32 5.4 MIDI................................................... 34 i ii arielvb’s notes, Release 1.0 This are my notes, they help me to remember things. Most of my notes are about software development. Use the searchbox to find what you are looking for! Or take a look to the top sections: Contents 1 arielvb’s notes, Release 1.0 2 Contents CHAPTER 1 Applications 1.1 Firefox 1.1.1 Pàgines especials No totes les opcions de Firefox estàn accesibles des de les opcions dels menus. Algunes només es pot accedir escribint una adreça concreta a la barra de navegació i algunes de les opcions del menu tenen un accés també des de aquesta: • about:home la pàgina definida com predeterminada. • about:addons per accedir a la finestra de complements. • about:memory informació sobre la gestió de memòria. • about:support informació sobre la configuració tecnica del navegador. • about:config consulta i modificació de paràmetres configurables del navegador i complements. 1.1.2 Ubuntu - Instal·lació des de els repositoris de Mozilla 1. Afegir repositori i instal·lar firefox: sudo add-apt-repository ppa:mozillateam/firefox-stable sudo apt-get update sudo apt-get upgrade 2. Instal·lar paquet d’idioma català, canviar ca per es si es vol castellà: sudo apt-get install firefox-locale-ca 3. Arrancar Firefox i escriure a la barra de navegació: about:addons 4. Clicar a l’icona d’eines i triar l’opció Check for updates / Comprova si hi ha actualitzacions 5. Reiniciar Firefox. 1.1.3 Complements Url: about:addons Llista de complements intersants: 3 arielvb’s notes, Release 1.0 Firebug Per a tots aquells que creen webs i aquells que fan web-scrapping:) Web Developer barra d’eines per desenvolupadors, permet desactivar la memòria cau del navegador, javascript... Pearl Crescent Page Saver permet desar pàgina sencera, o la part visible, com imatge. JSONView visualitza les respostes JSON en colors i amb format directament al navegador [by laura.p] httpsEveryWhere activa la navegació per https a una serie de llocs web on no ho està de forma prede- terminada. adblock plus bloqueja els anuncis de les pàgines web. Per que una navegació sense publicitat no té preu. 1.1.4 Modify about:home search engine Modify the key search-engine in the chromeappstore.sqlite inside your profile. Default value in firefox-beta 17 is: > sqlite3 chromeappsstore.sqlite "SELECT * FROM webappsstore2 WHERE key=’search-engine’;" emoh.:moz-safe-about|search-engine|{"name":"Google","searchUrl":"https://www.google.com/search?q=_searchTerms_&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:es-ES:official&client=firefox-beta"}|0| To set duckduckgo as search engine: sqlite3 chromeappsstore.sqlite ’UPDATE webappsstore2 SET value=\’{"name":"DuckDuckGo","searchUrl":"https://duckduckgo.com/?q=_searchTerms_"}\’ WHERE key="search-engine";’ The easy way, in the about:home page, paste in the url field: javascript:{localStorage["search-engine"]="{\"name\":\"Google\",\"searchUrl\":\"http://www.google.com/search?q=_searchTerms_&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a\"}";void(0);} 1.1.5 References • http://support.mozilla.org/ca/questions/779082 (2012-10-28) 1.2 LibreOffice LibreOffice is a free and open source office suite, developed by The Document Foundation. It is descended from OpenOffice.org, from which it was forked in 2010. – Wikipedia 1.2.1 Command line • Create pdf from all the odt of the current dir: lowriter --headles --convert-to pdf *.odt Advanced command line tools unoconv is a command line tool to convert LibreOffice documents 4 Chapter 1. Applications arielvb’s notes, Release 1.0 1.2.2 References • https://en.wikipedia.org/wiki/Libreoffice • https://help.libreoffice.org/Common/Starting_the_Software_With_Parameters • http://rocreguant.com/como-instalar-un-nuevo-diccionariocorrector-para-libreoffice-en-ubuntu/270/ • http://www.computercorrect.com/2011/desktop-applications/openoffice-org/custom-fill-colors-in-openoffice- org/ 1.3 Virtualbox Virtualbox is a virtualizacion software, it’s opensource and is avaible under a GPLv2. You can download it for free at https://www.virtualbox.org/wiki/Downloads 1.3.1 Obtain images You can manualy install lot of OS. But if you want to start very fast VirtualBoxImages offers ready to launch images, some are free others not. Free VDI’s are avaible at http://virtualboximages.com/Free.VirtualBox.VDI.Downloads. 1.3.2 Tunning SSH To connect to guest using ssh, it’s needed to configure the port redirecton at the virtualbox image. You can do using the commandline or the gui. Using the commandline (when the image is stopped): VBoxManage modifyvm "VM name" --natpf1 "ssh,tcp,,2222,,22" Using the gui: Machine > Settings > Network > Port forwarding > Insert new Rule (+) And fill the table with (4th column is empty, see pecture): ssh | tcp | 127.0.0.1 | | 22 1.3.3 API Virtualbox has an API or SDK for developers, see SDK Programmin Guide at https://www.virtualbox.org/wiki/Technical_documentation The API can’t be used with Python, Java, C++, C or Visualbasic. The following example shows how to retrive the name of the existing machines: import vboxapi man = vboxapi.VirtualBoxManager(None, None) [i.name for i in man.getArray(man.vbox, "machines")] 1.3. Virtualbox 5 arielvb’s notes, Release 1.0 Figure 1.1: SSH forwarding 6 Chapter 1. Applications CHAPTER 2 Command line 2.1 Colorize The command line with colors looks so pretty! 2.1.1 grep Use the argument –color: grep--color=auto The options are: • auto: doesn’t colorize if the output is a pipe. • always • never 2.1.2 less / more Use the argument -R (or -r): more-r Example colorize grep output: rgrep --color=auto TODO . | more -r 2.1.3 pygmentize pygmentize colorizes the input allowing different lexers: pygmentize [-l lexer] [file] The lexer will be autodected, but if not some of the lexers are: • rst: reStructuredText • html • python 7 arielvb’s notes, Release 1.0 2.2 Ripping DVD with FFMPEG 2.2.1 Concatenate files With ffmpeg, you can concatenate video/audio files, for example if you want to concat a DVD movie in a single file: ffmpeg -i concat:VTS_01_0.VOB\|VTS_01_1.VOB\|VTS_01_2.VOB\|VTS_01_3.VOB -vcodec libxvid -qscale 0 ~/my_movie.mp4 Or if you want a single track with some of your favorites songs: ffmpeg -i concat:song1.mp3\|song2.mp3 -c copy songs.mp3 2.2.2 Rotate video Execute: ffmpeg -i 2015-01-01\ 00.*mp4 -vf "transpose=1" out.mp4 For the transpose parameter you can pass: 0 = 90CounterCLockwise and Vertical Flip (default) 1 = 90Clockwise 2 = 90CounterClockwise 3 = 90Clockwise and Vertical Flip 2.2.3 Tips List available codecs: ffmpeg-codecs 2.2.4 References • http://stackoverflow.com/questions/3377300/what-are-all-codecs-supported-by-ffmpeg • http://blog.desdelinux.net/howtorippear-o-copiar-un-dvd-a-mano-con-cat-y-ffmpeg/ [spanish] • http://stackoverflow.com/questions/3937387/rotating-videos-with-ffmpeg 2.3 Imagemagick 2.3.1 Creating tiles Basic usage: convert FILE -crop geometry tiles_%d.jpg Recomend usage for jpg files, tile + remove exif information: convert FILE -crop geometry -strip tiles_%d.jpg Recovering a copped image, (doesn’t work with jpg tiles): 8 Chapter 2. Command line arielvb’s notes, Release 1.0 convert tiles_*.gif -mosaic recover.gif 2.3.2 Creating gifs convert -delay 20 -loop 0 -resize 800x522 *.jpg ../grup.gif 2.3.3 Slicing images Slice and image in 3: convert -crop 34%x100% +repage beach.jpg beach_%d.jpg 2.4 SoX - Sound eXchange SoX the sound utility! Website http://sox.sourceforge.net/ Category audio, convert, cmd, nogui 2.4.1 Installation Note: SoX by default doesn’t have mp3 encoding support, to prevent legal issues with the mp3 patents. Some third pary packages/libraries permits you bypass that problem. Linux First check if SoX is avaible on your packagemanager, and check if that version is up to date, if the version is too old; consider download SoX from their
Recommended publications
  • Novell SUSE Linux Package Description and Support Level Information for Contracted Customers and Partners
    Novell SUSE Linux Package Description and Support Level Information for Contracted Customers and Partners Definitions and Support Level Descriptions ACC: Additional Customer Contract necessary L1: Installation and problem determination, which means technical support Configuration designed to provide compatibility information, installation assistance, usage support, on-going maintenance and basic troubleshooting. Level 1 Support is not intended to correct product defect errors. L2: Reproduction of problem isolation, which means technical support designed to Potential Issues duplicate customer problems, isolate problem area and provide resolution for problems not resolved by Level 1 Support. L3: Code Debugging and problem resolution, which means technical support designed Patch Provision to resolve complex problems by engaging engineering in resolution of product defects which have been identified by Level 2 Support. Servicelevel Package Short Name Package Description SLES10 SP3 s390x 844-ksc-pcf Korean 8x4x4 Johab Fonts L2 a2ps Converts ASCII Text into PostScript L2 aaa_base SUSE Linux Base Package L3 aaa_skel Skeleton for Default Users L3 aalib An ASCII Art Library L2 aalib-32bit An ASCII Art Library L2 aalib-devel Development Package for AAlib L2 aalib-devel-32bit Development Package for AAlib L2 acct User-Specific Process Accounting L3 acl Commands for Manipulating POSIX Access Control Lists L3 adaptec-firmware Firmware files for Adaptec SAS Cards (AIC94xx Series) L3 agfa-fonts Professional TrueType Fonts L2 aide Advanced Intrusion Detection Environment L2 alsa Advanced Linux Sound Architecture L3 alsa-32bit Advanced Linux Sound Architecture L3 alsa-devel Include Files and Libraries mandatory for Development. L2 alsa-docs Additional Package Documentation. L2 amanda Network Disk Archiver L2 amavisd-new High-Performance E-Mail Virus Scanner L3 amtu Abstract Machine Test Utility L2 ant A Java-Based Build Tool L3 anthy Kana-Kanji Conversion Engine L2 anthy-devel Include Files and Libraries mandatory for Development.
    [Show full text]
  • Release 2.0.0 Florian Mounier
    pygal Documentation Release 2.0.0 Florian Mounier December 01, 2016 Contents 1 Sexy python charting 1 2 Simple python charting 3 3 Index 5 Python Module Index 105 i ii CHAPTER 1 Sexy python charting 1 pygal Documentation, Release 2.0.0 2 Chapter 1. Sexy python charting CHAPTER 2 Simple python charting pygal.Bar()(1,3,3,7)(1,6,6,4).render() 3 pygal Documentation, Release 2.0.0 4 Chapter 2. Simple python charting CHAPTER 3 Index 3.1 Documentation 3.1.1 First steps Caution: First you need to install pygal, see installing. When it’s done, you are ready to make your first chart: import pygal # First import pygal bar_chart= pygal.Bar() # Then create a bar graph object bar_chart.add('Fibonacci',[0,1,1,2,3,5,8, 13, 21, 34, 55]) # Add some values bar_chart.render_to_file('bar_chart.svg') # Save the svg to a file Now you should have a svg file called bar_chart.svg in your current directory. You can open it with various programs such as your web browser, inkscape or any svg compatible viewer. The resulting chart will be tho following: bar_chart= pygal.Bar() bar_chart.add('Fibonacci',[0,1,1,2,3,5,8, 13, 21, 34, 55]) bar_chart.render() Caution: pygal relies on svg css styling. This is sadly not fully supported by gnome librsvg and therefore can lead to black svg being displayed. This is not a bug in pygal. See this bugzilla search To make a multiple series graph just add another one: bar_chart= pygal.Bar() bar_chart.add('Fibonacci',[0,1,1,2,3,5,8, 13, 21, 34, 55]) bar_chart.add('Padovan',[1,1,1,2,2,3,4,5,7,9, 12]) bar_chart.render() If you want to stack
    [Show full text]
  • Seed Selection for Successful Fuzzing
    Seed Selection for Successful Fuzzing Adrian Herrera Hendra Gunadi Shane Magrath ANU & DST ANU DST Australia Australia Australia Michael Norrish Mathias Payer Antony L. Hosking CSIRO’s Data61 & ANU EPFL ANU & CSIRO’s Data61 Australia Switzerland Australia ABSTRACT ACM Reference Format: Mutation-based greybox fuzzing—unquestionably the most widely- Adrian Herrera, Hendra Gunadi, Shane Magrath, Michael Norrish, Mathias Payer, and Antony L. Hosking. 2021. Seed Selection for Successful Fuzzing. used fuzzing technique—relies on a set of non-crashing seed inputs In Proceedings of the 30th ACM SIGSOFT International Symposium on Software (a corpus) to bootstrap the bug-finding process. When evaluating a Testing and Analysis (ISSTA ’21), July 11–17, 2021, Virtual, Denmark. ACM, fuzzer, common approaches for constructing this corpus include: New York, NY, USA, 14 pages. https://doi.org/10.1145/3460319.3464795 (i) using an empty file; (ii) using a single seed representative of the target’s input format; or (iii) collecting a large number of seeds (e.g., 1 INTRODUCTION by crawling the Internet). Little thought is given to how this seed Fuzzing is a dynamic analysis technique for finding bugs and vul- choice affects the fuzzing process, and there is no consensus on nerabilities in software, triggering crashes in a target program by which approach is best (or even if a best approach exists). subjecting it to a large number of (possibly malformed) inputs. To address this gap in knowledge, we systematically investigate Mutation-based fuzzing typically uses an initial set of valid seed and evaluate how seed selection affects a fuzzer’s ability to find bugs inputs from which to generate new seeds by random mutation.
    [Show full text]
  • Multi Software Product Lines in the Wild
    AperTO - Archivio Istituzionale Open Access dell'Università di Torino Multi software product lines in the wild This is the author's manuscript Original Citation: Availability: This version is available http://hdl.handle.net/2318/1667454 since 2020-07-06T10:51:50Z Publisher: Association for Computing Machinery Published version: DOI:10.1145/3168365.3170425 Terms of use: Open Access Anyone can freely access the full text of works made available as "Open Access". Works made available under a Creative Commons license can be used according to the terms and conditions of said license. Use of all other works requires consent of the right holder (author or publisher) if not exempted from copyright protection by the applicable law. (Article begins on next page) 27 September 2021 Multi Software Product Lines in the Wild Michael Lienhardt Ferruccio Damiani [email protected] [email protected] Università di Torino Università di Torino Italy Italy Simone Donetti Luca Paolini [email protected] [email protected] Università di Torino Università di Torino Italy Italy ABSTRACT 1 INTRODUCTION Modern software systems are often built from customizable and A Software Product Line (SPL) is a set of similar programs, called inter-dependent components. Such customizations usually define variants, with a common code base and well documented variabil- which features are offered by the components, and may depend ity [1, 6, 19]. Modern software systems are often built as complex on backend components being configured in a specific way. As assemblages of customizable components that out-grow the expres- such system become very large, with a huge number of possible siveness of SPLs.
    [Show full text]
  • Pygal Documentation Release 2.0.0
    pygal Documentation Release 2.0.0 Florian Mounier June 06, 2016 Contents 1 Sexy python charting 1 2 Simple python charting 3 3 Index 5 Python Module Index 97 i ii CHAPTER 1 Sexy python charting 1 pygal Documentation, Release 2.0.0 2 Chapter 1. Sexy python charting CHAPTER 2 Simple python charting pygal.Bar().add('1',[1,3,3,7]).add('2',[1,6,6,4]).render() 3 pygal Documentation, Release 2.0.0 4 Chapter 2. Simple python charting CHAPTER 3 Index 3.1 Documentation 3.1.1 First steps Caution: First you need to install pygal, see installing. When it’s done, you are ready to make your first chart: import pygal # First import pygal bar_chart= pygal.Bar() # Then create a bar graph object bar_chart.add('Fibonacci',[0,1,1,2,3,5,8, 13, 21, 34, 55]) # Add some values bar_chart.render_to_file('bar_chart.svg') # Save the svg to a file Now you should have a svg file called bar_chart.svg in your current directory. You can open it with various programs such as your web browser, inkscape or any svg compatible viewer. The resulting chart will be tho following: bar_chart= pygal.Bar() bar_chart.add('Fibonacci',[0,1,1,2,3,5,8, 13, 21, 34, 55]) bar_chart.render() Caution: pygal relies on svg css styling. This is sadly not fully supported by gnome librsvg and therefore can lead to black svg being displayed. This is not a bug in pygal. See this bugzilla search To make a multiple series graph just add another one: bar_chart= pygal.Bar() bar_chart.add('Fibonacci',[0,1,1,2,3,5,8, 13, 21, 34, 55]) bar_chart.add('Padovan',[1,1,1,2,2,3,4,5,7,9, 12]) bar_chart.render() If
    [Show full text]
  • Indicators for Missing Maintainership in Collaborative Open Source Projects
    TECHNISCHE UNIVERSITÄT CAROLO-WILHELMINA ZU BRAUNSCHWEIG Studienarbeit Indicators for Missing Maintainership in Collaborative Open Source Projects Andre Klapper February 04, 2013 Institute of Software Engineering and Automotive Informatics Prof. Dr.-Ing. Ina Schaefer Supervisor: Michael Dukaczewski Affidavit Hereby I, Andre Klapper, declare that I wrote the present thesis without any assis- tance from third parties and without any sources than those indicated in the thesis itself. Braunschweig / Prague, February 04, 2013 Abstract The thesis provides an attempt to use freely accessible metadata in order to identify missing maintainership in free and open source software projects by querying various data sources and rating the gathered information. GNOME and Apache are used as case studies. License This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license. Keywords Maintenance, Activity, Open Source, Free Software, Metrics, Metadata, DOAP Contents List of Tablesx 1 Introduction1 1.1 Problem and Motivation.........................1 1.2 Objective.................................2 1.3 Outline...................................3 2 Theoretical Background4 2.1 Reasons for Inactivity..........................4 2.2 Problems Caused by Inactivity......................4 2.3 Ways to Pass Maintainership.......................5 3 Data Sources in Projects7 3.1 Identification and Accessibility......................7 3.2 Potential Sources and their Exploitability................7 3.2.1 Code Repositories.........................8 3.2.2 Mailing Lists...........................9 3.2.3 IRC Chat.............................9 3.2.4 Wikis............................... 10 3.2.5 Issue Tracking Systems...................... 11 3.2.6 Forums............................... 12 3.2.7 Releases.............................. 12 3.2.8 Patch Review........................... 13 3.2.9 Social Media............................ 13 3.2.10 Other Sources..........................
    [Show full text]
  • Replacing C Library Code with Rust
    Replacing C library code with Rust: What I learned with librsvg Federico Mena Quintero [email protected] GUADEC 2017 Manchester, UK What uses librsvg? GNOME platform and desktop: gtk+ indirectly through gdk-pixbuf thumbnailer via gdk-pixbuf eog gstreamer-plugins-bad What uses librsvg? Fine applications: gnome-games (gnome-chess, five-or-more, etc.) gimp gcompris claws-mail darktable What uses librsvg? Desktop environments mate-panel Evas / Enlightenment emacs-x11 What uses librsvg? Things you may not expect ImageMagick Wikipedia ← they have been awesome Long History ● First commit, Eazel, 2001 ● Experiment instead of building a DOM, stream in SVG by using libbxml2’s SAX parser ● Renderer used libart ● Gill → Sodipodi → Inkscape ● Librsvg was being written while the SVG spec was being written ● Ported to Cairo eventually – I’ll remove the last libart-ism any day now Federico takes over ● Librsvg was mostly unmaintained in 2015 ● Took over maintenance in February 2015 ● Started the Rust port in October 2016 Pain points: librsvg’s CVEs ● CVE-2011-3146 - invalid cast of RsvgNode type, crash ● CVE-2015-7557 - out-of-bounds heap read in list-of-points ● CVE-2015-7558 - Infinite loop / stack overflow from cyclic element references (thanks to Benjamin Otte for the epic fix) ● CVE-2016-4348 - NOT OUR PROBLEM - integer overflow when writing PNGs in Cairo (rowstride computation) ● CVE-2017-11464 - Division by zero in Gaussian blur code (my bad, sorry) ● Many non-CVEs found through fuzz testing and random SVGs on the net ● https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=librsvg
    [Show full text]
  • How 10 Open Source Projects Manage Unsafe Code Tim Mcnamara @Mclicks Introduction About Me I Tweet About Rust
    Is it safe to use unsafe? How 10 open source projects manage unsafe code Tim McNamara @mClicks Introduction About me I tweet about Rust. I tweet about Rust. hps://twier.com/mClicks I waste me on talking about Rust I waste me on talking about Rust hps://reddit.com/u/mClicks I do live coding in Rust I do live coding in Rust hps://twitch.tv/mClicks I make videos about Rust I make videos about Rust hps://youtube.com/mClicks I write books about Rust I write books about Rust hps://rusnacon.com/ My goal My goal To shorten the me it takes for you to learn Rust by 100h. Unsafe guidelines for the impatient Use #[deny(unsafe_code)] Use #[deny(unsafe_code)] Add comments to all unsafe blocks Use #[deny(unsafe_code)] Add comments to all unsafe blocks Ask someone who is not familiar with the code to review the comment. If they do not understand why the unsafe block is safe, then the comment (or perhaps the code) should be revised. Objective: safety Objective: safety Remember: other people make mistakes Objective: safety Remember: other people make mistakes Your job is to create a system that makes it very hard for a stressed, overworked and distracted staff members from doing the wrong thing. Let’s learn about how other projects manage the risk of unsafe blocks. Let’s learn about how other projects manage the risk of unsafe blocks. But first, a story. Lemons and limes Warning Disallowing unsafe blocks in your project is insucient Using only safe Rust, it is possible to create code that is guaranteed to crash.
    [Show full text]
  • 1. Why POCS.Key
    Symptoms of Complexity Prof. George Candea School of Computer & Communication Sciences Building Bridges A RTlClES A COMPUTER SCIENCE PERSPECTIVE OF BRIDGE DESIGN What kinds of lessonsdoes a classical engineering discipline like bridge design have for an emerging engineering discipline like computer systems Observation design?Case-study editors Alfred Spector and David Gifford consider the • insight and experienceof bridge designer Gerard Fox to find out how strong the parallels are. • bridges are normally on-time, on-budget, and don’t fall ALFRED SPECTORand DAVID GIFFORD • software projects rarely ship on-time, are often over- AS Gerry, let’s begin with an overview of THE DESIGN PROCESS bridges. AS What is the procedure for designing and con- GF In the United States, most highway bridges are budget, and rarely work exactly as specified structing a bridge? mandated by a government agency. The great major- GF It breaks down into three phases: the prelimi- ity are small bridges (with spans of less than 150 nay design phase, the main design phase, and the feet) and are part of the public highway system. construction phase. For larger bridges, several alter- There are fewer large bridges, having spans of 600 native designs are usually considered during the Blueprints for bridges must be approved... feet or more, that carry roads over bodies of water, preliminary design phase, whereas simple calcula- • gorges, or other large obstacles. There are also a tions or experience usually suffices in determining small number of superlarge bridges with spans ap- the appropriate design for small bridges. There are a proaching a mile, like the Verrazzano Narrows lot more factors to take into account with a large Bridge in New Yor:k.
    [Show full text]
  • Reproducible and Customizable Deployments with GNU Guix
    Reproducible and Customizable Deployments with GNU Guix Ludovic Courtes` FOSDEM 2016 The difficulty of keeping software environments under control. #1. Upgrades are hard. #2. Stateful system management is intractable. $DISTRO $DISTRO $DISTRO $DISTRO apt-get update apt-get update state 1a state 1b $DISTRO $DISTRO apt-get update apt-get update state 1a state 1b apt-get install foo apt-get remove bar state 2a state 2b $DISTRO $DISTRO apt-get update apt-get update state 1a state 1b apt-get install foo apt-get remove bar state 2a state 2b apt-get remove bar apt-get install foo state 3a state 3b $DISTRO $DISTRO apt-get update apt-get update state 1a state 1b apt-get install foo apt-get remove bar = ? state 2a state 2b apt-get remove bar apt-get install foo state 3a state 3b #3. It’s worse than this. ! “app bundles” (Docker images) Giving up? Giving up? ! “app bundles” (Docker images) “Debian and other distributions are going to be that thing you run docker on, little more.” — Jos Poortvliet, ownCloud developer http://lwn.net/Articles/670566/ It’s also that thing you run inside Docker! https://imagelayers.io/ Functional package management. gtk+ = g(glib; gcc; make; coreutils) gcc = h(make; coreutils; gcc0) ... gimp = f (gtk+; gcc; make; coreutils) where f = ./configure && make && make install gcc = h(make; coreutils; gcc0) ... where f = ./configure && make && make install gimp = f (gtk+; gcc; make; coreutils) gtk+ = g(glib; gcc; make; coreutils) where f = ./configure && make && make install gimp = f (gtk+; gcc; make; coreutils) gtk+ = g(glib; gcc; make; coreutils) gcc = h(make; coreutils; gcc0) ..
    [Show full text]
  • Strong Dependencies Between Software Components
    Specific Targeted Research Project Contract no.214898 Seventh Framework Programme: FP7-ICT-2007-1 Technical Report 0002 MANCOOSI Managing the Complexity of the Open Source Infrastructure Strong Dependencies between Software Components Pietro Abate ([email protected]) Jaap Boender ([email protected]) Roberto Di Cosmo ([email protected]) Stefano Zacchiroli ([email protected]) Universit`eParis Diderot, PPS UMR 7126, Paris, France May 24, 2009 Web site: www.mancoosi.org Contents 1 Introduction . .2 2 Strong dependencies . .3 3 Strong dependencies in Debian . .7 3.1 Strong vs direct sensitivity: exceptions . .9 3.2 Using strong dominance to cluster data . 11 3.3 Debian is a small world . 11 4 Efficient computation . 12 5 Applications . 13 6 Related works . 16 7 Conclusion and future work . 17 8 Acknowledgements . 18 A Case Study: Evaluation of debian structure . 21 Abstract Component-based systems often describe context requirements in terms of explicit inter-component dependencies. Studying large instances of such systems|such as free and open source software (FOSS) distributions|in terms of declared dependencies between packages is appealing. It is however also misleading when the language to express dependencies is as expressive as boolean formulae, which is often the case. In such settings, a more appropriate notion of component dependency exists: strong dependency. This paper introduces such notion as a first step towards modeling semantic, rather then syntactic, inter-component relationships. Furthermore, a notion of component sensitivity is derived from strong dependencies, with ap- plications to quality assurance and to the evaluation of upgrade risks. An empirical study of strong dependencies and sensitivity is presented, in the context of one of the largest, freely available, component-based system.
    [Show full text]
  • Licensing Information User Manual Oracle Solaris 11.3 Last Updated September 2018
    Licensing Information User Manual Oracle Solaris 11.3 Last Updated September 2018 Part No: E54836 September 2018 Licensing Information User Manual Oracle Solaris 11.3 Part No: E54836 Copyright © 2018, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
    [Show full text]