Adding VST Support to Linux Audio Applications

Size: px
Start display at page:

Download "Adding VST Support to Linux Audio Applications"

Transcription

1 Adding VST Support to Linux Audio Applications Paul Davis Lin ux Audio System s (b ased on work b y Kjetil Mattheu ssen, Torben Hoh n and Paul Davis)

2 What is VST? Technology from Steinberg An audio/midi plugin API Support for win32/x86, MacOS9, MacOS X Plugins roughly divided into a DSP core and an optional customized GUI

3 The Problem VST plugins for Windows are packaged in a win32/x86 file format VST plugins for Windows make win32 API calls Linux does not (natively) support either of these.

4 The Solution Wine WINdows Emulator? Wine Is Not an Emulator? Wine provides 95%+ of the win32 API by translating it into native linux library and OS calls. Traps systems calls, exceptions 1,000,000+ lines of code, +25%/month

5 The Problem, Part II Wine is intended for running win32 programs We have win32 plugins We want to use them in a native Linux application We are not alone: Mono, game people using DirectX, others.

6 The Kjetil is not Black Kjetil Mattheussen did the first open source implementation of VST support Created a win32 application Compiled it with winebuild Result: a native Linux app that can load win32.dll's (VST plugins) Connect to other Linux programs with a client/server protocol

7 VSTserver Features Isolates VST and win32 code from host Plugin can crash without affecting the host Plugin cannot access host data structures Sweet! But...

8 Problems with VSTserver 2 context switches to run a plugin's process() callback Doesn't scale Imagine a session with 2-4 plugins on most of 24 tracks.

9 A Different Approach Run VST plugins in the same process as the host Must be able to load and run win32 code Don't use wine(1) or winebuild Mono's shared wine hack

10 Mono and setjmp WinMain () { longjmp (jmpbuf, 1); } if (setjmp (jmpbuf) == 0) { wine_init ( run me ); /*NOTREACHED*/ }... now have a win32-ready thread...

11 The Problem, Part III The Mono hack doesn't support threads All audio apps require threads Therefore...

12 Win32 Thread Ugliness All thread systems need some way to identify the current thread win32/x86 uses the %fs register for comparison, NPTL and later linuxthreads use %gs Contents point to a block of information allocated from the processor Local Descriptor Table (LDT) Any thread running win32 must have %fs point to a valid LDT entry

13 Ugly? Or Just Windows? Wine takes over thread management Wine starts before the application With a native Linux application, there are threads created using the native thread API Wine doesn't know about these threads, thus %fs is not set up wine_adopt_thread ();

14 How We Do It Allocate a special proxy thread when wine is started, using win32 thread API Thread waits for notifications of new linux threads Tells Wine about them, passes back %fs information Linux thread has %fs set, can now execute win32 code.

15 The GUI Most VST plugins come with their own custom editor Native win32 or vstgui calls its all the same to us Need an entire win32 event loop running the host. Window management...

16 Window Management 1 the win32-created window has no WM decoration the win32 thread is an Xwindow, but no X toolkit knows about it linux apps can't manage it as if it was a normal toolkit window we need to adopt the window XReparentWindow

17 Window Management 2 we wait for the window to be created use whatever wrapper around XReparentWindow a toolkit provides for GTK+, GtkSocket, gtk_socket_add_id(), gtk_socket_steal() ideally, use XEMBED extension not supported by wine

18 Window Management 3 after reparenting, when the window is moved, the win32 GUI layer doesn't know coordinates of mouse events are wrong have to forward the correct kind of XEvent to the win32 layer in GTK+, catch configure events, synthesize a new XConfigure event, send to the XWindow underlying the win32 window.

19 Writing a Host you need to: (1) supply an audiomaster callback to handle requests from the plugin (2) probably augment the FST data structures with something application specific (think LADSPA) (3) take care of window management (configure events, etc.)

20 Plugin Discovery Suprise its really slow (loading multiple win32.dll files) fstconfig builds caches of basic VST plugin info in foo.fst fst_get_info (dllname) will get (and if necessary re-build) info for a.dll much, much, much faster LRDF?

21 fst_init (); fst_load (); fst_unload (); fst_instantiate (); fst_close (); fst_run_editor (); fst_destroy_editor (); fst_get_info (); The API

22 Success Stories Kontakt, Battery from Native Instruments Crystal Lots and lots of small, interesting and useful plugins

23 where to begin? Problems

24 Without Whom Torben Hohn Kjetil Mattheussen The Mono crew for getting us started Alexandre Julliard, Mike Hearns, Mike McCormack and Chris Morgan of the Wine project for advice and guidance. Smartelectronix for open source plugins. Steinberg. Hmm. Yes.

Fall 2014:: CSE 506:: Section 2 (PhD) Threading. Nima Honarmand (Based on slides by Don Porter and Mike Ferdman)

Fall 2014:: CSE 506:: Section 2 (PhD) Threading. Nima Honarmand (Based on slides by Don Porter and Mike Ferdman) Threading Nima Honarmand (Based on slides by Don Porter and Mike Ferdman) Threading Review Multiple threads of execution in one address space Why? Exploits multiple processors Separate execution stream

More information

Debugging Applications in Pervasive Computing

Debugging Applications in Pervasive Computing Debugging Applications in Pervasive Computing Larry May 1, 2006 SMA 5508; MIT 6.883 1 Outline Video of Speech Controlled Animation Survey of approaches to debugging Turning bugs into features Speech recognition

More information

Installing and configuring an Android device emulator. EntwicklerCamp 2012

Installing and configuring an Android device emulator. EntwicklerCamp 2012 Installing and configuring an Android device emulator EntwicklerCamp 2012 Page 1 of 29 Table of Contents Lab objectives...3 Time estimate...3 Prerequisites...3 Getting started...3 Setting up the device

More information

Sorry The Operation Could Not Be Completed Error Code 0

Sorry The Operation Could Not Be Completed Error Code 0 Sorry The Operation Could Not Be Completed Error Code 0 I get an error message that says Sorry the operation could not be completed because an unexpected error occurred (Error code 0). Any ideas? I successfully.

More information

Visual Studio 2008 Load Symbols Manually

Visual Studio 2008 Load Symbols Manually Visual Studio 2008 Load Symbols Manually Microsoft Visual Studio 2008 SP1 connects to the Microsoft public symbol are loaded manually if you want to load symbols automatically when you launch. Have you

More information

Xamarin. MS (IT), 4 th Sem. HOD, Dept. Of IT, HOW DOES XAMARIN WORKS?

Xamarin. MS (IT), 4 th Sem. HOD, Dept. Of IT, HOW DOES XAMARIN WORKS? Xamarin Mandanna B J MS (IT), 4 th Sem Jain University, Bangalore Dr. Suchitra R HOD, Dept. Of IT, Jain University Bangalore Abstract:- It is a technology that brings.net/c# to Android, IOS as well as

More information

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Evaluation Individual

More information

ArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen

ArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen ArcGIS Runtime: Building Cross-Platform Apps Rex Hansen Mark Baird Michael Tims Morten Nielsen Agenda Cross-platform review ArcGIS Runtime cross-platform options - Java - Qt -.NET ArcGIS Runtime: Building

More information

Lecture 9: File System. topic: file systems what they are how the xv6 file system works intro to larger topics

Lecture 9: File System. topic: file systems what they are how the xv6 file system works intro to larger topics 6.828 2011 Lecture 9: File System topic: file systems what they are how the xv6 file system works intro to larger topics FS goals? durable storage multiplexing sharing organization why are file systems

More information

Boot Camp. Dave Eckhardt Bruce Maggs

Boot Camp. Dave Eckhardt Bruce Maggs Boot Camp Dave Eckhardt de0u@andrew.cmu.edu Bruce Maggs bmm@cs.cmu.edu 1 This Is a Hard Class Traditional hazards 410 letter grade one lower than other classes All other classes this semester: one grade

More information

Is this a known issue? Seems to affect only recurring events. I have some of them and all are shifted. Non-recurring events show properly.

Is this a known issue? Seems to affect only recurring events. I have some of them and all are shifted. Non-recurring events show properly. Wrong time on recurring google calendar events Posted by AraldoL - 2014/01/11 06:21 Hello, using the latest stable Rainlendar Pro 2.12 I had some issues: After every installation on my two computers it

More information

Choosing free software graphical libraries for embedded devices

Choosing free software graphical libraries for embedded devices Embedded Linux Conference Europe Choosing free software graphical libraries for embedded devices Thomas Petazzoni Free Electrons http://free electrons.com/ 1 About this document This document is released

More information

Quick Guide to the NoMachine GUI

Quick Guide to the NoMachine GUI Quick Guide to the NoMachine GUI Page 1 of 17 Table of Contents 1. What is the NoMachine GUI? The Player preferences GUI 2. How to access the NoMachine 'Player preferences' 2.1. Input preferences 2.2.

More information

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement. CSCE 315: Android Lectures (1/2) Dr. Jaerock Kwon App Development for Mobile Devices Jaerock Kwon, Ph.D. Assistant Professor in Computer Engineering App Development for Mobile Devices Jaerock Kwon, Ph.D.

More information

How To Get Gadgets Windows Vista Faster On Laptop Run

How To Get Gadgets Windows Vista Faster On Laptop Run How To Get Gadgets Windows Vista Faster On Laptop Run She wanted to know how to optimize her computer, making it run faster without if you are using windows vista more slower because every program you

More information

You can step thru the imported titles also for spell checking as gtext uses the spell checker of the Mac OS X.

You can step thru the imported titles also for spell checking as gtext uses the spell checker of the Mac OS X. gtext Subtitles are always annoying, disturbing the picture. So they have to be as good as possible, which means some rules need to be followed. gtext is thought to modify or check Final Cut Pro XML files

More information

SSQA Seminar Series. Server Side Testing Frameworks. Sachin Bansal Sr. Quality Engineering Manager Adobe Systems Inc. February 13 th, 2007

SSQA Seminar Series. Server Side Testing Frameworks. Sachin Bansal Sr. Quality Engineering Manager Adobe Systems Inc. February 13 th, 2007 SSQA Seminar Series Server Side Testing Frameworks Sachin Bansal Sr. Quality Engineering Manager Adobe Systems Inc. February 13 th, 2007 1 Agenda Introduction Drivers for Server Side Testing Challenges

More information

Introduction to Mobile Development

Introduction to Mobile Development Introduction to Mobile Development Building mobile applications can be as easy as opening up the IDE, throwing something together, doing a quick bit of testing, and submitting to an App Store all done

More information

Java performance - not so scary after all

Java performance - not so scary after all Java performance - not so scary after all Holly Cummins IBM Hursley Labs 2009 IBM Corporation 2001 About me Joined IBM Began professional life writing event framework for WebSphere 2004 Moved to work on

More information

Information Security II Prof. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras

Information Security II Prof. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Information Security II Prof. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 30 Task Switch recap - Week 6 (Refer Slide Time: 00:09) So welcome back

More information

Designing a Tabbed GUI Interface in RackAFX! Will Pirkle!

Designing a Tabbed GUI Interface in RackAFX! Will Pirkle! Advanced GUI Design: Module 1 Tabbed GUI Controls Designing a Tabbed GUI Interface in RackAFX Will Pirkle The most often requested feature for the RackAFX GUI Designer is the ability to make tabbed interfaces

More information

15-323/ Spring 2019 Project 4. Real-Time Audio Processing Due: April 2 Last updated: 6 March 2019

15-323/ Spring 2019 Project 4. Real-Time Audio Processing Due: April 2 Last updated: 6 March 2019 15-323/15-623 Spring 2019 Project 4. Real-Time Audio Processing Due: April 2 Last updated: 6 March 2019 1 Overview In this project, you will create a program that performs real-time audio generation. There

More information

Yahoo Messenger Error Code 7 Latest Version

Yahoo Messenger Error Code 7 Latest Version Yahoo Messenger Error Code 7 Latest Version Yahoo Messenger error codes Other Software. I have the latest version of YM and I have sent a message to Yahoo a week ago but no reply! Can anyone. You need

More information

From time to time Google changes the way it does things, and old tutorials may not apply to some new procedures.

From time to time Google changes the way it does things, and old tutorials may not apply to some new procedures. From time to time Google changes the way it does things, and old tutorials may not apply to some new procedures. This is another tutorial which, in about 6 months, will probably be irrelevant. But until

More information

Nooks. Robert Grimm New York University

Nooks. Robert Grimm New York University Nooks Robert Grimm New York University The Three Questions What is the problem? What is new or different? What are the contributions and limitations? Design and Implementation Nooks Overview An isolation

More information

Manual for the TimeFreezer instrument. Introduction - The Idea of Time Freezing

Manual for the TimeFreezer instrument. Introduction - The Idea of Time Freezing Introduction - The Idea of Time Freezing Infinite sound... Did you ever want to stop a sound just like a snapshot, so that it stays forever, without looping effects and without sounding like a synthesizer?

More information

Everything you always wanted to know about Fonts*

Everything you always wanted to know about Fonts* Everything you always wanted to know about Fonts* (*but were afraid to ask) or.. "Using Mac fonts in the Avid Media Composer" The font system in the Mac isn't necessarily the easiest thing to understand.

More information

Porting applications to Qt. Kevin Funk, Software Engineer KDAB

Porting applications to Qt. Kevin Funk, Software Engineer KDAB Porting applications to Qt Kevin Funk, Software Engineer KDAB What is a migration? Some other toolkit Qt QNX Photon Motif MFC Java AWT Older Qt version Qt5 Why migrate at all? Hard to find developers who

More information

Ad Muncher's New Interface Layout

Ad Muncher's New Interface Layout Ad Muncher's New Interface Layout We are currently working on a new layout for Ad Muncher's configuration window. This page will document the new layout. Interface Layout Objectives The ability to modify

More information

OpenACC Course. Office Hour #2 Q&A

OpenACC Course. Office Hour #2 Q&A OpenACC Course Office Hour #2 Q&A Q1: How many threads does each GPU core have? A: GPU cores execute arithmetic instructions. Each core can execute one single precision floating point instruction per cycle

More information

Reverse Engineering Malware Dynamic Analysis of Binary Malware II

Reverse Engineering Malware Dynamic Analysis of Binary Malware II Reverse Engineering Malware Dynamic Analysis of Binary Malware II Jarkko Turkulainen F-Secure Corporation Protecting the irreplaceable f-secure.com Advanced dynamic analysis Debugger scripting Hooking

More information

ArcGIS Runtime: Building Cross-Platform Apps. Mike Branscomb Michael Tims Tyler Schiewe

ArcGIS Runtime: Building Cross-Platform Apps. Mike Branscomb Michael Tims Tyler Schiewe ArcGIS Runtime: Building Cross-Platform Apps Mike Branscomb Michael Tims Tyler Schiewe Agenda Cross-platform review ArcGIS Runtime cross-platform options - Java - Qt -.NET Native vs Web Native strategies

More information

Next Generation Collaborative Reversing with Ida Pro and CollabREate. Chris Eagle and Tim Vidas Naval Postgraduate School

Next Generation Collaborative Reversing with Ida Pro and CollabREate. Chris Eagle and Tim Vidas Naval Postgraduate School Next Generation Collaborative Reversing with Ida Pro and CollabREate Chris Eagle and Tim Vidas Naval Postgraduate School Shameless Plug Coming soon to finer book stores Prepare for Demo Blackhat demo package

More information

Why You Should Not Use Arch

Why You Should Not Use Arch Why You Should Not Use Arch A new users guide to highly personalized, low maintenance operating system. Artur Frącek CC BY-NC-ND 4.0 1 Intro Arch is a very good Linux distribution so it is not a surprise

More information

Iphone 4s Won't Connect To Wifi Keeps Saying Incorrect Password

Iphone 4s Won't Connect To Wifi Keeps Saying Incorrect Password Iphone 4s Won't Connect To Wifi Keeps Saying Incorrect Password If you're iphone won't connect to Wi-Fi and the Wi-Fi button in your Settings appears to helped my phones an iphone 4s and it just says incorrect

More information

Segmentation. Multiple Segments. Lecture Notes Week 6

Segmentation. Multiple Segments. Lecture Notes Week 6 At this point, we have the concept of virtual memory. The CPU emits virtual memory addresses instead of physical memory addresses. The MMU translates between virtual and physical addresses. Don't forget,

More information

Table of contents. 1 Overview about Pipelight. 2 Browser API & Communication. 3 Drawing & Input events. 4 Browser plugins and Wine

Table of contents. 1 Overview about Pipelight. 2 Browser API & Communication. 3 Drawing & Input events. 4 Browser plugins and Wine 3/49 Table of contents 1 Overview about Pipelight 2 Browser API & Communication 3 Drawing & Input events 4 Browser plugins and Wine 5 Browser & Plugin compatibility 6 Security 4/49 Overview about Pipelight

More information

CHAPTER 16 - VIRTUAL MACHINES

CHAPTER 16 - VIRTUAL MACHINES CHAPTER 16 - VIRTUAL MACHINES 1 OBJECTIVES Explore history and benefits of virtual machines. Discuss the various virtual machine technologies. Describe the methods used to implement virtualization. Show

More information

Windows 7 Disable Changing Proxy Settings Registry

Windows 7 Disable Changing Proxy Settings Registry Windows 7 Disable Changing Proxy Settings Registry 127.0.0.1 Proxy Settings Keep Changing back? 127.0.0.1 Step2: Remove Proxy Server. I tried to disable it through LAN settings, but it shows up in Light

More information

COS 318: Operating Systems. Virtual Machine Monitors

COS 318: Operating Systems. Virtual Machine Monitors COS 318: Operating Systems Virtual Machine Monitors Prof. Margaret Martonosi Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall11/cos318/ Announcements Project

More information

Threads Implementation. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Threads Implementation. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Threads Implementation Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics How to implement threads? User-level threads Kernel-level

More information

Flash Player Update Guide Windows 7 64 Bit Google Chrome

Flash Player Update Guide Windows 7 64 Bit Google Chrome Flash Player Update Guide Windows 7 64 Bit Google Chrome Adobe makes available a version of Flash Player called the "Extended Support Detects wrong Browser type and OS you have - thinks you are on Windows

More information

What s Wrong with the Operating System Interface? Collin Lee and John Ousterhout

What s Wrong with the Operating System Interface? Collin Lee and John Ousterhout What s Wrong with the Operating System Interface? Collin Lee and John Ousterhout Goals for the OS Interface More convenient abstractions than hardware interface Manage shared resources Provide near-hardware

More information

Flexcel Reports Developers Guide

Flexcel Reports Developers Guide Flexcel Reports Developers Guide Documentation: May, 2010 Copyright 2010 by tmssoftware.com bvba Web: http://www.tmssoftware.com Email : info@tmssoftware.com 1 P a g e Table of contents Introduction...

More information

Mobile Cross Platform Development. Igor Markov

Mobile Cross Platform Development. Igor Markov Mobile Cross Platform Development Igor Markov How many smartphone platforms are there? 2 Some popular ones: Android Bada Blackberry ios RIM Symbian Windows Mobile WP7 J2ME (not smartphone in fact) Maemo/MeeGo

More information

T Multimedia Programming. Different Operating Systems and their Multimedia Support

T Multimedia Programming. Different Operating Systems and their Multimedia Support T-111.5350 Multimedia Programming Different Operating Systems and their Multimedia Support Carlos Herrero September 27, 2007 Contents Windows DirectX.NET Framework Linux KDE & Gnome Gstreamer SDL Mac OS

More information

Real Player 11 Manual Windows 7 Latest Version

Real Player 11 Manual Windows 7 Latest Version Real Player 11 Manual Windows 7 Latest Version RealTimes (with RealPlayer) 18.0.0.112 : A new way to share your photos and videos. 7, Good, Good Latest version: 18.0.0.112 20/05/15, Last month's downloads:

More information

Can You Run Internet Explorer 10 On Windows 8.1

Can You Run Internet Explorer 10 On Windows 8.1 Can You Run Internet Explorer 10 On Windows 8.1 Your PC has Windows 8, but the info on this page is about Windows 8.1. Acer Aspire Switch 10c / $279.00 With four mode flexibility you can share a presentation

More information

Setting Up A WordPress Blog

Setting Up A WordPress Blog Setting Up A WordPress Blog Introduction WordPress can be installed alongside an existing website to be used solely as the 'blog' element of a website, or it can be set up as the foundation for an entire

More information

Engineering Robust Server Software

Engineering Robust Server Software Engineering Robust Server Software Containers Isolation Isolation: keep different programs separate Good for security Might also consider performance isolation Also has security implications (side channel

More information

Java Programming Constructs Java Programming 2 Lesson 1

Java Programming Constructs Java Programming 2 Lesson 1 Java Programming Constructs Java Programming 2 Lesson 1 Course Objectives Welcome to OST's Java 2 course! In this course, you'll learn more in-depth concepts and syntax of the Java Programming language.

More information

LLDB for your hardware: Remote Debugging the Hexagon DSP

LLDB for your hardware: Remote Debugging the Hexagon DSP LLDB for your hardware: Remote Debugging the Hexagon DSP Colin Riley Games Technology Director 1 Outline Introductions Adapting LLDB for your hardware The Why and How? The 3 steps Summary Q&A 2 Introductions

More information

Manual Update Java 7 25 Mac Windows Xp

Manual Update Java 7 25 Mac Windows Xp Manual Update Java 7 25 Mac Windows Xp This release will be the last Oracle JDK 7 publicly available update. JavaFX SDK is now included in JDK 7 for Windows, Mac OS X, and Linux x86/x64. 5.3.1 Java Control

More information

INNOV-4: Fun With Virtualization. Or, How I learned to love computers that don t really exist...

INNOV-4: Fun With Virtualization. Or, How I learned to love computers that don t really exist... 1 INNOV-4: Fun With Virtualization Or, How I learned to love computers that don t really exist... President, BravePoint, Inc. About Unix user since 1982 Progress developer since 1984 Linux Desktop and

More information

Is there any plug-in to work with Lightworks that would do motion stabilization in LW?

Is there any plug-in to work with Lightworks that would do motion stabilization in LW? Motion stabilization plug-in for LW? Posted by Danas_Anis - 04 Sep 2013 12:29 Hello! Is there any plug-in to work with Lightworks that would do motion stabilization in LW? Posted by ianconry - 05 Sep 2013

More information

Reversed Buffer Overflow Cross Stack Attacks. Kris Kaspersky Endeavor Security, Inc.

Reversed Buffer Overflow Cross Stack Attacks. Kris Kaspersky Endeavor Security, Inc. Reversed Buffer Overflow Cross Stack Attacks Kris Kaspersky Endeavor Security, Inc. Who am I? journalist, reversing as a hobby; currently working for: XAKEP magazine (www.xakep.ru) Endeavor Security, Inc

More information

Google Apps Iphone Exchange Cannot Get Mail >>>CLICK HERE<<<

Google Apps Iphone Exchange Cannot Get Mail >>>CLICK HERE<<< Google Apps Iphone Exchange Cannot Get Mail Doing gmail push using the Exchange and it wont populate my Mail at all. jediuia It is driving me nuts I can't get my work email account on my shiny new iphone

More information

Teach Yourself VISUALLY IMac (Teach Yourself VISUALLY (Tech)) Ebooks Free

Teach Yourself VISUALLY IMac (Teach Yourself VISUALLY (Tech)) Ebooks Free Teach Yourself VISUALLY IMac (Teach Yourself VISUALLY (Tech)) Ebooks Free This fully updated guide helps you get the most from your imac As the imac continues to evolve and become more sophisticated, this

More information

Choosing the web s future. Peter-Paul Koch Van Lanschot, 9 February 2017

Choosing the web s future. Peter-Paul Koch   Van Lanschot, 9 February 2017 Choosing the web s future Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk Van Lanschot, 9 February 2017 Four problems 1. Web developers want to emulate native apps, which I think is not possible

More information

GRAILLON USER MANUAL

GRAILLON USER MANUAL GRAILLON USER MANUAL Version 2.1 Foreword Thank you for using AUBURN SOUNDS GRAILLON. GRAILLON's goal is to lead your voice into uncharted territory. Version 1 was mostly about the novel use of pitch tracking

More information

objects, not on the server or client! datastore to insure that application instances see the same view of data.

objects, not on the server or client! datastore to insure that application instances see the same view of data. Scalability Page 1 Scalability Wednesday, February 03, 2010 3:59 PM The commandments of cloud computing So far, we've constructed cloud applications according to a (so far) unjustified set of "commandments:

More information

Wine: Where it came from, how to use it, where it s going. Scale 4x 10 Feb Dan Kegel

Wine: Where it came from, how to use it, where it s going. Scale 4x 10 Feb Dan Kegel : Where it came from, how to use it, where it s going Scale 4x 10 Feb 2006 Dan Kegel www.kegel.com What s Wine? Wine Is Not an Emulator It is an implementation of win32 on Unix It lets you run Windows

More information

ARWINSS. The new Windows subsystem for ReactOS / Windows

ARWINSS. The new Windows subsystem for ReactOS / Windows ARWINSS The new Windows subsystem for ReactOS / Windows Existing Win32 subsystem overview History Advantages Disadvantages and problems Introducing Win32 subsystem v2.0 Why a new version? The beginning

More information

Economies of Scale in Hacking Dave Aitel Immunity

Economies of Scale in Hacking Dave Aitel Immunity Economies of Scale in Hacking Dave Aitel Immunity Ekoparty, 2008 (Argentina) 10/01/08 1 Demand Side/Supply Side Economies of Scale Networked increase in value High barrier of entry Cheaper as you get bigger

More information

Matrex Table of Contents

Matrex Table of Contents Matrex Table of Contents Matrex...1 What is the equivalent of a spreadsheet in Matrex?...2 Why I should use Matrex instead of a spreadsheet application?...3 Concepts...4 System architecture in the future

More information

An Introduction to Tilde

An Introduction to Tilde An Introduction to Tilde Presentation on a FOSS tool for Lua development By Andrew Bailey, CTO, Tantalus & Allen Weeks, Lead Programmer, Tantalus. mailto:andrew@tantalus.com.au mailto:aweeks@tantalus.com.au

More information

User Guide. For version 0.5, January Download the latest version from jnetmap.sourceforge.net

User Guide. For version 0.5, January Download the latest version from jnetmap.sourceforge.net User Guide For version 0.5, January 2011 Download the latest version from jnetmap.sourceforge.net Table of Contents Introduction...1 Quick Start...1 Opening and saving files...1 Passwords...1 Editing a

More information

How Rust is Tilde s Competitive Advantage

How Rust is Tilde s Competitive Advantage Jan. 2018 Rust Case Study: How Rust is Tilde s Competitive Advantage The analytics startup innovates safely with the help of Rust Copyright 2018 The Rust Project Developers All rights reserved graphics

More information

How to import, edit, AVI files? Posted by curmudgeon66-02 Dec :33

How to import, edit, AVI files? Posted by curmudgeon66-02 Dec :33 How to import, edit, AVI files? Posted by curmudgeon66-02 Dec 2010 03:33 Running Windows 7 64bit on HPE-450t, Intel core i7 CPU 870, ATI Radeon HD 5570 video card. The install appears to have gone just

More information

Introduction to Mono

Introduction to Mono Introduction to Mono Introduction Who am I? Ben Rousch Manager of Information Systems Van Dam Iron Works What's this about? Introduction to Mono Cross-platform (Linux, Windows, OSX) development using MonoDevelop

More information

Alongside Windows 8.1

Alongside Windows 8.1 Apache Manually Installing Ubuntu 12.10 Alongside Windows 8.1 The Install alongside option should have been the 2nd option. I don't want to erase Can not install ubuntu 12.04 alongside windows 8.1 2 Installing

More information

Core object model EO / EFL++

Core object model EO / EFL++ Core object model EO / EFL++ Carsten Haitzler Samsung Electronics Principal Engineer Enlightenment/EFL Founder c.haitzler@samsung.com EFL + Elementary 2 A toolkit somwhere between GTK+ and Qt in breadth

More information

Chapter 5 C. Virtual machines

Chapter 5 C. Virtual machines Chapter 5 C Virtual machines Virtual Machines Host computer emulates guest operating system and machine resources Improved isolation of multiple guests Avoids security and reliability problems Aids sharing

More information

RELEASE NOTICE FOR SWAR STUDIO

RELEASE NOTICE FOR SWAR STUDIO RELEASE NOTICE FOR SWAR STUDIO Version 2.0.4 Corrected a problem on El Capitan ( OS X 10.11) where the user interface of the plugins would initially appear empty. This is now solved by an automatic minimize/maximize

More information

Effective C++ Digital Collection: 140 Ways to Improve Your Programming

Effective C++ Digital Collection: 140 Ways to Improve Your Programming Effective C++ Digital Collection: 140 Ways to Improve Your Programming Scott Meyers Click here if your download doesn"t start automatically Effective C++ Digital Collection: 140 Ways to Improve Your Programming

More information

Atmosphere / Trilogy Intel Mac Wrappers

Atmosphere / Trilogy Intel Mac Wrappers Atmosphere / Trilogy Intel Mac Wrappers Table Of Contents Introduction What Does It Do & How Does It Work? Instructions Tutorial Videos How To Authorize Wrapper Features Song Compatibility Editing Sounds

More information

Tutorial Install Windows 8 Pdf Microsoft Office 2010 Won't

Tutorial Install Windows 8 Pdf Microsoft Office 2010 Won't Tutorial Install Windows 8 Pdf Microsoft Office 2010 Won't Word 2010 for dummies / microsoft office word 2010 product key / install microsoft 2010 free / microsoft office word 2010 free download for windows

More information

Windows 7 Will Not Load On My Computer Support Hardware Virtualization

Windows 7 Will Not Load On My Computer Support Hardware Virtualization Windows 7 Will Not Load On My Computer Support Hardware Virtualization Jun 12, 2015. Windows 7 Help Forums Windows 7 help and support Virtualization» for it. so i booted up my pc and looked if i support

More information

Manually Windows Update Vista Not Work In

Manually Windows Update Vista Not Work In Manually Windows Update Vista Not Work In Safe Mode Doesn To boot Windows Vista in Safe Mode, follow these steps: If Windows Updates aren't installed automatically in your Windows Vista system, you need

More information

Windows 7 Will Not Install On My Computer Says I'm

Windows 7 Will Not Install On My Computer Says I'm Windows 7 Will Not Install On My Computer Says I'm I am able to uninstall, but even windows update, a secondary problem, wont update. So, as I have a life, I'm going to install Ubuntumuch more more secure

More information

Using Automated Network Management at Fiserv. June 2012

Using Automated Network Management at Fiserv. June 2012 Using Automated Network Management at Fiserv June 2012 Brought to you by Join Group Vivit Network Automation Special Interest Group (SIG) Leaders: Chris Powers & Wendy Wheeler Your input is welcomed on

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

Overview of the Raspberry Pi Models 3B & 2B

Overview of the Raspberry Pi Models 3B & 2B Overview of the Raspberry Pi Models 3B & 2B (Let's look at the hardware!) Rick Commo, K7LOG Max Vaughan, KF7MAX What's really different between the original 2B and the 3B? Parameter Architecture CPU

More information

Creating User-Friendly Exploits

Creating User-Friendly Exploits 1 Creating User-Friendly Exploits Skylar Rampersaud skylar@immunityinc.com Security Research 2 What is a User-Friendly Exploit? An exploit that causes no distress to the user of the exploited program i.e.,

More information

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

GUI in C++ PV264 Advanced Programming in C++ Nikola Beneš Jan Mrázek Vladimír Štill. Faculty of Informatics, Masaryk University.

GUI in C++ PV264 Advanced Programming in C++ Nikola Beneš Jan Mrázek Vladimír Štill. Faculty of Informatics, Masaryk University. GUI in C++ PV264 Advanced Programming in C++ Nikola Beneš Jan Mrázek Vladimír Štill Faculty of Informatics, Masaryk University Spring 2017 PV264: GUI in C++ Spring 2017 1 / 23 Organisation Lectures this

More information

Introduction to Asynchronous Programming Fall 2014

Introduction to Asynchronous Programming Fall 2014 CS168 Computer Networks Fonseca Introduction to Asynchronous Programming Fall 2014 Contents 1 Introduction 1 2 The Models 1 3 The Motivation 3 4 Event-Driven Programming 4 5 select() to the rescue 5 1

More information

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek Seite 1 von 5 Issue Date: FoxTalk July 2000 It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek This month, Paul Maskens and Andy Kramek discuss the problems of validating data entry.

More information

The Definitive Guide to Editing with DaVinci Resolve 12.5 (Blackmagic Design Learning Series)

The Definitive Guide to Editing with DaVinci Resolve 12.5 (Blackmagic Design Learning Series) The Definitive Guide to Editing with DaVinci Resolve 12.5 (Blackmagic Design Learning Series) Paul Saccone Click here if your download doesn"t start automatically The Definitive Guide to Editing with DaVinci

More information

1 Assets Manager Pro exoa.fr

1 Assets Manager Pro exoa.fr 1 Assets Manager Pro exoa.fr Table of contents... 2 Tabs... 3 1. Packages Manager... 3 The search feature... 4 Show Content Popup... 4 Asset Store Details Popup... 5 Package renaming and sorting... 5 The

More information

Soundtheory Gullfoss Change Log

Soundtheory Gullfoss Change Log Soundtheory Gullfoss Change Log Known issues (2018-12-07) None v1.2.6 (2018-12-16) Fixed an issue with certain hosts that could cause Gullfoss to not process audio. v1.2.5 (2018-12-07) Fixed an issue with

More information

Simple Plugin API. Wim Taymans Principal Software Engineer October 10, Pinos Wim Taymans

Simple Plugin API. Wim Taymans Principal Software Engineer October 10, Pinos Wim Taymans Simple Plugin API Wim Taymans Principal Software Engineer October 10, 2016 1 In the begining 2 Pinos DBus service for sharing camera Upload video and share And then... Extend scope Add audio too upload,

More information

Magic Trackpad Gestures Not Working Mountain Lion

Magic Trackpad Gestures Not Working Mountain Lion Magic Trackpad Gestures Not Working Mountain Lion Gestures not working on client side, both running 10.8.2 and Synergy 1.4.10. Yes the mutlitouch gestures don't work on 10.8 (Mountain Lion) 10.9 (Mavericks).

More information

1 of 5 3/28/2010 8:04 AM XCode Notes Home Class Info Links Lectures Newsgroup Assignmen Xcode is a free integrated development environment (IDE) for C, C++, Java and other languages on MacOS X. It comes

More information

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. Operating System Services User Operating System Interface

More information

Manually Uninstall Chrome Mac Os X Lion Server

Manually Uninstall Chrome Mac Os X Lion Server Manually Uninstall Chrome Mac Os X Lion Server You can remove Chrome by following the steps below. Select Windows, Mac, or Linux to see the steps for the type of computer you're using. Windows. Remove

More information

SPU Shaders. Mike Acton Engine Director Insomniac Games

SPU Shaders. Mike Acton Engine Director Insomniac Games SPU Shaders Mike Acton Engine Director Insomniac Games State of Affairs Engine Systems on SPUs SPU Optimization Understood Remaining Systems Planned Out Still Have SPU Time to Spare PPU Still Driving The

More information

HTML5 for mobile development.

HTML5 for mobile development. HTML5 for mobile development Txus Ordorika @txusinho @ludei HTML5 for development (I) HTML5 to be the silver bullet of development Low entrance - barrier Runs over VM (write once, run everywhere) ECMA-262

More information

Storage Systems Dr. K. Gopinath Department of Computer Science and Engineering Indian Institute of Science, Bangalore

Storage Systems Dr. K. Gopinath Department of Computer Science and Engineering Indian Institute of Science, Bangalore Storage Systems Dr. K. Gopinath Department of Computer Science and Engineering Indian Institute of Science, Bangalore Types of Storage Devices and Systems, Long-term Storage Lecture 11 USB Storage: Introduction,

More information

ArcGIS Runtime SDK for Java: Building Apps. Tyler Schiewe

ArcGIS Runtime SDK for Java: Building Apps. Tyler Schiewe ArcGIS Runtime SDK for Java: Building Apps Tyler Schiewe Agenda Getting Started API Basics Patterns & Workflows Licensing and Deployment Questions Getting Started What You Get Code API Reference (Javadoc)

More information