Free and Open Source Software (FOSS) for Bioinformatics and Computational Biology

Size: px
Start display at page:

Download "Free and Open Source Software (FOSS) for Bioinformatics and Computational Biology"

Transcription

1 Free and Open Source Software (FOSS) for Bioinformatics and Computational Biology Pjotr Prins - 14 Feb 2013 Wageningen University Free and Open Source Software (FOSS) p. 1

2 What is FOSS? FOSS: free and open source software Software that is both free software and open source Licensed to grant users the right to use, copy, study, change, and improve Availability of source code Free and Open Source Software (FOSS) p. 2

3 Licensing License protects copyright and more GNU Public License (GPL) - change code, but always make source code available when publishing the software (Linux) BSD License - change code, but publish copyright (FreeBSD) Artistic License - do what you want with the code (Perl) Others... (Mozilla) Free and Open Source Software (FOSS) p. 3

4 Science Open, transparent -> reproducible Peer review Build on the shoulders of giants! Linux popular in Bioinformatics Great for writing software Great for running software Free and Open Source Software (FOSS) p. 4

5 Open-Bio Open Bioinformatics Foundation (OBF) BioPerl, BioPython, BioRuby a, BioJava... No BioJS (yet) State of the projects - github a BioRuby: Bioinformatics software for the Ruby programming language by Naohisa Goto, Pjotr Prins et al., Bioinformatics, 2010 Free and Open Source Software (FOSS) p. 5

6 Github Track projects Publish (your) project! Use the code! Free and Open Source Software (FOSS) p. 6

7 Biogems.info Decentralized development for (Bio)Ruby a Visibility & easy install Github integration Integration testing a Biogem: an effective tool based approach for scaling up open source software development in bioinformatics, by R. Bonnal, P Prins et al., Bioinformatics, February 2012 Free and Open Source Software (FOSS) p. 7

8 Tradition: Ease vs Speed Easy but slow: dynamically typed (Perl, R, Python, Ruby) Hard but fast: statically typed (C, C++, FORTRAN) Mix (Perl Python Ruby R) & C Free and Open Source Software (FOSS) p. 8

9 Choosing a language Dynamic type, slowish Perl - ah, Perl, awful R - awful, but common Python - science! Graphics, math, statistics, R integration Ruby - cleaner, OOP, functional (like!) Javascript (fast, common, a bit ugly) Free and Open Source Software (FOSS) p. 9

10 Choosing a language (2) Fixed type, fast Structured: C, GO OOP: Java Functional languages: Clojure, Erlang, Haskell Hybrid: Scala (like!), D (like!) Free and Open Source Software (FOSS) p. 10

11 Tips Don t be afraid of languages Mix and match a Use one dynamic (easy), one static language (fast) JVM (Java, Groovy, Scala, Clojure, JRuby, Javascript) Computer language shootout a Sharing programming resources between Bio* projects through remote procedure call and native call stack strategies, by Pjotr Prins et al., Evolutionary Genomics: statistical and computational methods, Meth. Mol. Biol Free and Open Source Software (FOSS) p. 11

12 What libraries? Bio* projects. JVM has BioJava, BioScala and BioRuby! BioPerl; R/Bioconductor - large communities Biopython/BioRuby - growing Free and Open Source Software (FOSS) p. 12

13 What tools? Search Say, RNAseq tools CloudBiolinux (see biogems.info) - & Galaxy Search R/bioconductor modules/bindings biostars.org, stackexchange, etc. Q&A sites Ask on Bio* mailing lists But how do I know what to use? Free and Open Source Software (FOSS) p. 13

14 Project activity Main website, documentation? Search the Q&A sites and mailing lists Check the bloody source! This is FOSS! # of contributors, # of commits Recent activity Free and Open Source Software (FOSS) p. 14

15 Dead projects If a project looks dead, it is probably... If the source code looks bad, it is probably... If the documentation is old, it is probably... Still, it may be worth reviving... Free and Open Source Software (FOSS) p. 15

16 What makes a bioinformatician? Can run BLAST? Can run CLI tools? Can chain tools? Can assess tools/libraries Loves programming Loves biology Free and Open Source Software (FOSS) p. 16

17 Great bioinformaticians 100+ papers 10K citations 1st or last author? Many of the best papers have bioinformatics input! Example: Yves van de Peer Free and Open Source Software (FOSS) p. 17

Learning Scala: Practical Functional Programming For The JVM By Jason Swartz

Learning Scala: Practical Functional Programming For The JVM By Jason Swartz Learning Scala: Practical Functional Programming For The JVM By Jason Swartz 20 Best Scala Books To Go From Beginner To Expert - WhatPixel - It offers OOP and functional programming and has tons of free

More information

Functional Programming Lecture 13: FP in the Real World

Functional Programming Lecture 13: FP in the Real World Functional Programming Lecture 13: FP in the Real World Viliam Lisý Artificial Intelligence Center Department of Computer Science FEE, Czech Technical University in Prague viliam.lisy@fel.cvut.cz 1 Mixed

More information

Jenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC

Jenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC Jenkins: A complete solution From Integration to Delivery For HSBC Rajesh Kumar DevOps Architect @RajeshKumarIN www.rajeshkumar.xyz Agenda Why Jenkins? Introduction and some facts about Jenkins Supported

More information

JRuby. A Ruby VM in Java jruby.sourceforge.net Charles Oliver Nutter, presenting

JRuby. A Ruby VM in Java jruby.sourceforge.net Charles Oliver Nutter, presenting JRuby A Ruby VM in Java jruby.sourceforge.net Charles Oliver Nutter, presenting Who Am I? Charles Oliver Nutter: headius@headius.com Senior Architect/Technologist at Ventera Corp (gov t, financial, telecom

More information

Continuous delivery of Java applications. Marek Kratky Principal Sales Consultant Oracle Cloud Platform. May, 2016

Continuous delivery of Java applications. Marek Kratky Principal Sales Consultant Oracle Cloud Platform. May, 2016 Continuous delivery of Java applications using Oracle Cloud Platform Services Marek Kratky Principal Sales Consultant Oracle Cloud Platform May, 2016 Safe Harbor Statement The following is intended to

More information

Evolutionary Genetics. LV Lecture with exercises 6KP. Bioinformatics. Jean-Claude Walser

Evolutionary Genetics. LV Lecture with exercises 6KP. Bioinformatics. Jean-Claude Walser Evolutionary Genetics LV 25600-01 Lecture with exercises 6KP Bioinformatics Jean-Claude Walser jean-claude.walser@env.ethz.ch 1 HS2018 What is bioinformatics? Why bioinformatics? What is the difference

More information

arxiv: v1 [cs.se] 22 Aug 2012

arxiv: v1 [cs.se] 22 Aug 2012 An Open Framework for Extensible Multi-Stage Bioinformatics Software Gabriel Keeble-Gagnère 1, Johan Nyström-Persson 2, Matthew Bellgard 1, and Kenji Mizuguchi 2 arxiv:1208.4436v1 [cs.se] 22 Aug 2012 1

More information

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region Azure DevOps Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region What is DevOps? People. Process. Products. Build & Test Deploy DevOps is the union of people, process, and products to

More information

Linux operating system

Linux operating system Linux operating system libre, free: how and why Dobrica Pavlinušić http://www.rot13.org/~dpavlin/ PBF, 27.03.2008. History Open Source GPL license Don't panic! What is operating system? Linux Open Source

More information

Biopython Project Update Peter Cock & the Biopython Developers, BOSC 2013, Berlin, Germany

Biopython Project Update Peter Cock & the Biopython Developers, BOSC 2013, Berlin, Germany Biopython Project Update 2013 Peter Cock & the Biopython Developers, BOSC 2013, Berlin, Germany Twitter: @pjacock & @biopython Introduction 2 My Employer After PhD joined Scottish Crop Research Institute

More information

Static Typing or Dynamic Typing: A Real Issue or a Simple Case of Tribalism

Static Typing or Dynamic Typing: A Real Issue or a Simple Case of Tribalism Static Typing or Dynamic Typing: A Real Issue or a Simple Case of Tribalism Dr Russel Winder Concertant LLP russel.winder@concertant.com 2007 Russel Winder 1 Aims and Objectives Survey some of the static

More information

CSE373: Data Structure & Algorithms Lecture 23: Programming Languages. Aaron Bauer Winter 2014

CSE373: Data Structure & Algorithms Lecture 23: Programming Languages. Aaron Bauer Winter 2014 CSE373: Data Structure & Algorithms Lecture 23: Programming Languages Aaron Bauer Winter 2014 Choosing a Programming Language Most of the time you won t have a choice about what programming language to

More information

VIEW POINT. Choosing the right automation tool and framework is critical to project success. Harsh Bajaj, Technical Test Lead ECSIVS, Infosys

VIEW POINT. Choosing the right automation tool and framework is critical to project success. Harsh Bajaj, Technical Test Lead ECSIVS, Infosys VIEW POINT Choosing the right automation tool and framework is critical to project success Harsh Bajaj, Technical Test Lead ECSIVS, Infosys Introduction Organizations have become cognizant of the crucial

More information

Modern Stored Procedures Using GraalVM

Modern Stored Procedures Using GraalVM Modern Stored Procedures Using raalvm Oracle Labs Matthias Brantner Safe Harbor Statement The following is intended to outline our general product direction. t is intended

More information

Embedded Linux UI Comparison. Tim Bird Senior Staff Software Engineer Sony Electronics

Embedded Linux UI Comparison. Tim Bird Senior Staff Software Engineer Sony Electronics Embedded Linux UI Comparison Tim Bird Senior Staff Software Engineer Sony Electronics 1 yyyy-mm-dd Agenda Embedded Linux UI options Comparison points Presence at ELC Evaluations

More information

A polyglot day: learning from language paradigms. Benson Joeris Kathleen Dollard

A polyglot day: learning from language paradigms. Benson Joeris Kathleen Dollard A polyglot day: learning from language paradigms Benson Joeris Kathleen Dollard What if you understood all the paradigms that define modern languages? You could program better in your base language, choose

More information

Software Implementation

Software Implementation Software Implementation Quiz with Explainations Hans-Petter Halvorsen, M.Sc. Questions 1. List 10 different Programming Languages 2. What is an IDE? - Give some Examples 3. What is.net? 4. What is ASP.NET?

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

Java and C II. CSE 351 Spring Instructor: Ruth Anderson

Java and C II. CSE 351 Spring Instructor: Ruth Anderson Java and C II CSE 351 Spring 2017 Instructor: Ruth Anderson Teaching Assistants: Dylan Johnson Kevin Bi Linxing Preston Jiang Cody Ohlsen Yufang Sun Joshua Curtis Administrivia Lab 5 Due TONIGHT! Fri 6/2

More information

Adv. Course in Programming Languages

Adv. Course in Programming Languages Department of Computer Science, University of Tsukuba No.3 How to write Code Generator for Power? In your favorite programming language!! C, C++ (with template), C# Fortran Lisp, Scheme, Clojure Java,

More information

Notebooks for documenting work-flows

Notebooks for documenting work-flows C. Troupin, A. Barth C. Muñoz, S. Watelet, & J.-M. Beckers GHER-University of Liège Balearic Islands Coastal Ocean Observing and Forecasting System Notebooks for documenting work-flows Motivation Reproducibility

More information

Semantic Analysis. Outline. The role of semantic analysis in a compiler. Scope. Types. Where we are. The Compiler Front-End

Semantic Analysis. Outline. The role of semantic analysis in a compiler. Scope. Types. Where we are. The Compiler Front-End Outline Semantic Analysis The role of semantic analysis in a compiler A laundry list of tasks Scope Static vs. Dynamic scoping Implementation: symbol tables Types Static analyses that detect type errors

More information

Website Design and Development CSCI 311

Website Design and Development CSCI 311 Website Design and Development CSCI 311 Learning Objectives Understand good practices in designing and developing web sites Learn some of the challenges web design Activity In pairs: describe how you d

More information

Bioinformatics Introduction. Sebastian Schmeier

Bioinformatics Introduction. Sebastian Schmeier Bioinformatics Introduction s.schmeier@gmail.com http://sschmeier.github.io/bioinf-workshop/ 03.08.2015 Overview Bioinformatics Big data Command line interface Linux Virtual machines 2 Bioinformatics From

More information

A Plea for Pluggable Programming Language Features

A Plea for Pluggable Programming Language Features A Plea for Pluggable Programming Language Features Bernhard G. Humm, Darmstadt University of Applied Sciences Ralf S. Engelschall, Capgemini sd&m Research, Germany 5 th International Conference on Evaluation

More information

All you need is fun. Cons T Åhs Keeper of The Code

All you need is fun. Cons T Åhs Keeper of The Code All you need is fun Cons T Åhs Keeper of The Code cons@klarna.com Cons T Åhs Keeper of The Code at klarna Architecture - The Big Picture Development - getting ideas to work Code Quality - care about the

More information

Outline. Introduction Concepts and terminology The case for static typing. Implementing a static type system Basic typing relations Adding context

Outline. Introduction Concepts and terminology The case for static typing. Implementing a static type system Basic typing relations Adding context Types 1 / 15 Outline Introduction Concepts and terminology The case for static typing Implementing a static type system Basic typing relations Adding context 2 / 15 Types and type errors Type: a set of

More information

Programming. Languages & Frameworks. Hans-Petter Halvorsen, M.Sc. O. Widder. (2013). geek&poke. Available:

Programming. Languages & Frameworks. Hans-Petter Halvorsen, M.Sc. O. Widder. (2013). geek&poke. Available: Programming O. Widder. (2013). geek&poke. Available: http://geek-and-poke.com Languages & Frameworks Hans-Petter Halvorsen, M.Sc. Implementation Planning Maintenance Testing Implementation The Software

More information

7 Topics Concerning Languages & Architecture Stefan JUG KA 2011

7 Topics Concerning Languages & Architecture Stefan JUG KA 2011 7 Topics Concerning Languages & Architecture Stefan Tilkov @stilkov JUG KA 2011 1 http://www.innoq.com Stefan Tilkov stefan.tilkov@innoq.com @stilkov 2 http://rest-http.info 3 1. Language Equality 4 Languages

More information

Chapter 11 Program Development and Programming Languages

Chapter 11 Program Development and Programming Languages Chapter 11 Program Development and Programming Languages permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. Programming

More information

Chapter 5. Names, Bindings, and Scopes

Chapter 5. Names, Bindings, and Scopes Chapter 5 Names, Bindings, and Scopes Chapter 5 Topics Introduction Names Variables The Concept of Binding Scope Scope and Lifetime Referencing Environments Named Constants 1-2 Introduction Imperative

More information

OPEN SOURCE SOFTWARE

OPEN SOURCE SOFTWARE Introduction to Open Source Software Development Spring semester, 2017 School of Computer Science and Engineering, Pusan National University Joon-Seok Kim OPEN SOURCE SOFTWARE Outline Open source software

More information

If you don't know how to code, then you can learn even if you think you can't. Thousands of people have learned programming from these fine books:

If you don't know how to code, then you can learn even if you think you can't. Thousands of people have learned programming from these fine books: Become a Programmer, Motherfucker If you don't know how to code, then you can learn even if you think you can't. Thousands of people have learned programming from these fine books: Learn Python The Hard

More information

Richard Mallion. Swift for Admins #TEAMSWIFT

Richard Mallion. Swift for Admins #TEAMSWIFT Richard Mallion Swift for Admins #TEAMSWIFT Apple Introduces Swift At the WWDC 2014 Keynote, Apple introduced Swift A new modern programming language It targets the frameworks for Cocoa and Cocoa Touch

More information

Introduction to Scripting Languages. October 2017

Introduction to Scripting Languages. October 2017 Introduction to Scripting Languages damien.francois@uclouvain.be October 2017 1 Goal of this session: Advocate the use of scripting languages and help you choose the most suitable for your needs 2 Agenda

More information

A Brief History of Distributed Programming: RPC. YOW Brisbane 2016

A Brief History of Distributed Programming: RPC. YOW Brisbane 2016 A Brief History of Distributed Programming: RPC YOW Brisbane 2016 Christopher Meiklejohn Université catholique de Louvain @cmeik christophermeiklejohn.com Caitie McCaffrey Distributed Systems Engineer

More information

Lezione 7. Bioinformatica. Mauro Ceccanti e Alberto Paoluzzi

Lezione 7. Bioinformatica. Mauro Ceccanti e Alberto Paoluzzi Lezione 7 Bioinformatica Mauro Ceccanti e Alberto Paoluzzi Dip. Informatica e Automazione Università Roma Tre Dip. Medicina Clinica Università La Sapienza BioPython Installing and exploration Tutorial

More information

Transitioning from C# to Scala Using Apache Thrift. Twitter Finagle

Transitioning from C# to Scala Using Apache Thrift. Twitter Finagle Transitioning from C# to Scala Using Apache Thrift and Twitter Finagle Steven Skelton September 19, 2013 Empathica Empathica provides Customer Experience Management programs to more than 200 of the world's

More information

invokedynamic under the hood

invokedynamic under the hood Nadeesh T V ORACLE India Pvt Ltd 26 Aug 2016 Outline 1 JVM Languages 2 PreInvokedynamic 3 Invokedynamic 4 MethodHandle 5 Summary JVM Languages Languages which can run on Java Virtual Machine (JVM) Should

More information

C++ Developer Survey "Lite": C++ and Cloud

C++ Developer Survey Lite: C++ and Cloud Q1 This month we focus on how C++ is used, or could be better for use, in cloud-related applications and environments. In what (if any) kinds of cloud computing-related workloads do you use C++? (select

More information

Bioinformatics explained: Smith-Waterman

Bioinformatics explained: Smith-Waterman Bioinformatics Explained Bioinformatics explained: Smith-Waterman May 1, 2007 CLC bio Gustav Wieds Vej 10 8000 Aarhus C Denmark Telephone: +45 70 22 55 09 Fax: +45 70 22 55 19 www.clcbio.com info@clcbio.com

More information

Introduction, Functions

Introduction, Functions Informatics 1 Functional Programming Lectures 1 and 2 Introduction, Functions Don Sannella University of Edinburgh Welcome to Informatics 1, Functional Programming! Informatics 1 course organiser: Paul

More information

CS252 Advanced Programming Language Principles. Prof. Tom Austin San José State University Fall 2013

CS252 Advanced Programming Language Principles. Prof. Tom Austin San José State University Fall 2013 CS252 Advanced Programming Language Principles Prof. Tom Austin San José State University Fall 2013 What are some programming languages? Why are there so many? Different domains Mobile devices (Objective

More information

Javascript Coding Interview Questions And Answers In C++ Pdfs >>>CLICK HERE<<<

Javascript Coding Interview Questions And Answers In C++ Pdfs >>>CLICK HERE<<< Javascript Coding Interview Questions And Answers In C++ Pdfs Design patterns are independent of any programming language and the Programming in C++ Programming interview questions and answers in C++ Data

More information

Seminar on Languages for Scientific Computing Aachen, 6 Feb Navid Abbaszadeh.

Seminar on Languages for Scientific Computing Aachen, 6 Feb Navid Abbaszadeh. Scientific Computing Aachen, 6 Feb 2014 navid.abbaszadeh@rwth-aachen.de Overview Trends Introduction Paradigms, Data Structures, Syntax Compilation & Execution Concurrency Model Reference Types Performance

More information

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015 Fundamentals of Website Development CSC 2320, Fall 2015 The Department of Computer Science Review Web Extensions Server side & Where is your JOB? 1 In this chapter Dynamic pages programming Database Others

More information

A Glance Over the Serverless Framework

A Glance Over the Serverless Framework A Glance Over the Serverless Framework Rafael Zotto Senior Software Architect, HP Inc. Short Bio Rafael Zotto Holds a master degree in Computer Science focused in high performance computing. Specialized

More information

Robot Programming with Lisp

Robot Programming with Lisp 4. Functional Programming: Higher-order Functions, Map/Reduce, Lexical Scope Institute for Artificial University of Bremen 9 of November, 2017 Functional Programming Pure functional programming concepts

More information

Concepts of Programming Languages

Concepts of Programming Languages Concepts of Programming Languages Lecture 1 - Introduction Patrick Donnelly Montana State University Spring 2014 Patrick Donnelly (Montana State University) Concepts of Programming Languages Spring 2014

More information

Lecture 1: Introduction. 23. August, 2010

Lecture 1: Introduction. 23. August, 2010 Lecture 1: Introduction 23. August, 2010 Lecture Outline TDT4165 Administratrivia Programming Languages Introduction Illustration Hello World Programs Further Comments Summary TDT4165 Administratrivia

More information

Overview. Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Performance, memory

Overview. Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Performance, memory SCRIPTING Overview Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Reflection Bindings Serialization Performance, memory Rationale C++ isn't the best choice

More information

Full version is >>> HERE <<<

Full version is >>> HERE <<< database programming language definition; iphone programming language objective c; groovy programming language books; programming language knowledge Full version is >>> HERE

More information

Topic 9: Type Checking

Topic 9: Type Checking Recommended Exercises and Readings Topic 9: Type Checking From Haskell: The craft of functional programming (3 rd Ed.) Exercises: 13.17, 13.18, 13.19, 13.20, 13.21, 13.22 Readings: Chapter 13.5, 13.6 and

More information

Topic 9: Type Checking

Topic 9: Type Checking Topic 9: Type Checking 1 Recommended Exercises and Readings From Haskell: The craft of functional programming (3 rd Ed.) Exercises: 13.17, 13.18, 13.19, 13.20, 13.21, 13.22 Readings: Chapter 13.5, 13.6

More information

These Are the Top Languages for Enterprise Application Development

These Are the Top Languages for Enterprise Application Development These Are the Top Languages for Enterprise Application Development And What That Means for Business August 2018 Enterprises are now free to deploy a polyglot programming language strategy thanks to a decrease

More information

Introduction. Introduction to OOP with Java. Lecture 01: Introduction to OOP with Java - AKF Sep AbuKhleiF -

Introduction. Introduction to OOP with Java. Lecture 01: Introduction to OOP with Java - AKF Sep AbuKhleiF - Introduction to OOP with Java Instructor: AbuKhleif, Mohammad Noor Sep 2017 www.abukhleif.com Lecture 01: Introduction Instructor: AbuKhleif, Mohammad Noor Sep 2017 www.abukhleif.com AbuKhleiF - www.abukhleif.com

More information

Learn to Code with C#

Learn to Code with C# Learn to Code with C# Getting Started with Microsoft's Cross-Platform, Open Source Language Who am I? Jeff Ammons Microsoft MVP Pluralsight Author CEO/Chief Instructor at Code Career Academy 25 Years Professional

More information

Cords and gumballs. Mike Hearn.

Cords and gumballs. Mike Hearn. Cords and gumballs Mike Hearn mike@r3.com Who what why huh?! Who am I? Kotlin early adopter: first patch to Kotlin website Sept 2014, introduced to my first product Feb 2015. Lead Platform Engineer on

More information

Programming. leads to programming languages. leads to operating systems

Programming. leads to programming languages. leads to operating systems Programming it's hard to do the programming to get something done details are hard to get right, very complicated, finicky not enough skilled people to do what is needed therefore, enlist machines to do

More information

Elasticsearch Search made easy

Elasticsearch Search made easy Elasticsearch Search made easy Alexander Reelsen Agenda Why is search complex? Installation & initial setup Importing data Searching data Replication & Sharding Plugin-based

More information

Azure Day Application Development. Randy Pagels Sr. Developer Technology Specialist US DX Developer Tools - Central Region

Azure Day Application Development. Randy Pagels Sr. Developer Technology Specialist US DX Developer Tools - Central Region Azure Day Application Development Randy Pagels Sr. Developer Technology Specialist US DX Developer Tools - Central Region Azure App Service.NET, Java, Node.js, PHP, Python Auto patching Auto scale Integration

More information

COSC Software Engineering. Lecture 23: Multilingual and Component Programming

COSC Software Engineering. Lecture 23: Multilingual and Component Programming COSC345 2013 Software Engineering Lecture 23: Multilingual and Component Programming Isolation Scale Change Errors These are core issues in Software Engineering Isolation is our main way to deal with them

More information

Introduction to OOP with Java. Instructor: AbuKhleif, Mohammad Noor Sep 2017

Introduction to OOP with Java. Instructor: AbuKhleif, Mohammad Noor Sep 2017 Introduction to OOP with Java Instructor: AbuKhleif, Mohammad Noor Sep 2017 Lecture 01: Introduction Instructor: AbuKhleif, Mohammad Noor Sep 2017 Instructor AbuKhleif, Mohammad Noor Studied Computer Engineer

More information

Closing the Case for Groovy (and Ruby, and Python)

Closing the Case for Groovy (and Ruby, and Python) Closing the Case for Groovy (and Ruby, and Python) Dr Russel Winder Concertant LLP russel.winder@concertant.com 2007 Russel Winder 1 Aims and Objectives Convince people that dynamic typing is not a difficulty,

More information

Linux operating system libre, free: how and why. Dobrica Pavlinušić PBF,

Linux operating system libre, free: how and why. Dobrica Pavlinušić  PBF, Linux operating system libre, free: how and why Dobrica Pavlinušić http://www.rot13.org/~dpavlin/ PBF, 09.03.2010. Don't panic! What is operating system? GNU/Linux Licences: GPL, Open Source Evolution

More information

Introduction to Python. Prof. Steven Ludtke

Introduction to Python. Prof. Steven Ludtke Introduction to Python Prof. Steven Ludtke sludtke@bcm.edu 1 8512 documented lanuages (vs. 2376) Four of the first modern languages (50s): FORTRAN (FORmula ( TRANslator LISP (LISt ( Processor ALGOL COBOL

More information

Tackling Concurrency With STM. Mark Volkmann 10/22/09

Tackling Concurrency With STM. Mark Volkmann 10/22/09 Tackling Concurrency With Mark Volkmann mark@ociweb.com 10/22/09 Two Flavors of Concurrency Divide and conquer divide data into subsets and process it by running the same code on each subset concurrently

More information

Tackling Concurrency With STM

Tackling Concurrency With STM Tackling Concurrency With Mark Volkmann mark@ociweb.com 10/22/09 Two Flavors of Concurrency Divide and conquer divide data into subsets and process it by running the same code on each subset concurrently

More information

Using Biopython for Laboratory Analysis Pipelines

Using Biopython for Laboratory Analysis Pipelines Using Biopython for Laboratory Analysis Pipelines Brad Chapman 27 June 2003 What is Biopython? Official blurb The Biopython Project is an international association of developers of freely available Python

More information

It's Time To Get Functional 이건희

It's Time To Get Functional 이건희 It's Time To Get Functional 20071032 이건희 1 Context Intro Performance Popularity Network Effect Why Is It Time To Get Functional? 2 Intro 3 Architect You are the architect (or carpenter). 4 Tools Can you

More information

Remote Unmediated Test Research

Remote Unmediated Test Research Remote Unmediated Test Research Julie Riegel Assessment & User Experience Department Recommendations Though both Hotjar and Optimizely come equipped with their own unique advantages, I recommend Optimizely

More information

CSE 374: Programming Concepts and Tools. Eric Mullen Spring 2017 Lecture 4: More Shell Scripts

CSE 374: Programming Concepts and Tools. Eric Mullen Spring 2017 Lecture 4: More Shell Scripts CSE 374: Programming Concepts and Tools Eric Mullen Spring 2017 Lecture 4: More Shell Scripts Homework 1 Already out, due Thursday night at midnight Asks you to run some shell commands Remember to use

More information

Performance Evaluation of BioPerl, Biojava, BioPython, BioRuby and BioSmalltalk for Executing Bioinformatics Tasks

Performance Evaluation of BioPerl, Biojava, BioPython, BioRuby and BioSmalltalk for Executing Bioinformatics Tasks International Journal of Computer Sciences and Engineering Open Access Research Paper Volume-3, Special Issue-1 E-ISSN: 2347-2693 Performance Evaluation of BioPerl, Biojava, BioPython, BioRuby and BioSmalltalk

More information

Collaborate. w/ ArcGIS Runtime SDK for Android

Collaborate. w/ ArcGIS Runtime SDK for Android Collaborate w/ ArcGIS Runtime SDK for Android Presenters Dan O Neill - @doneill https://github.com/doneill Shelly Gill - @shellygill https://github.com/shellygill Introduction to Esri Open Source Collaboration

More information

Biopython Project Update

Biopython Project Update Biopython Project Update Peter Cock, Plant Pathology, SCRI, Dundee, UK 10 th Annual Bioinformatics Open Source Conference (BOSC) Stockholm, Sweden, 28 June 2009 Contents Brief introduction to Biopython

More information

A Tour of Language Implementation

A Tour of Language Implementation 1 CSCE 314: Programming Languages Dr. Flemming Andersen A Tour of Language Implementation Programming is no minor feat. Prometheus Brings Fire by Heinrich Friedrich Füger. Image source: https://en.wikipedia.org/wiki/prometheus

More information

Dr Mark Little Red Hat, Inc.

Dr Mark Little Red Hat, Inc. Enterprise Middleware and the Internet of Things! A Call to ARMs Dr Mark Little Red Hat, Inc. 1 Overview Challenges for enterprise middleware Changing realities for Java Applications and their requirements

More information

But before understanding the Selenium WebDriver concept, we need to know about the Selenium first.

But before understanding the Selenium WebDriver concept, we need to know about the Selenium first. As per the today s scenario, companies not only desire to test software adequately, but they also want to get the work done as quickly and thoroughly as possible. To accomplish this goal, organizations

More information

Quick Start ArcGIS Enterprise with Automation. Shannon Kalisky Mark Carlson Nikhil Shampur Cherry Lin

Quick Start ArcGIS Enterprise with Automation. Shannon Kalisky Mark Carlson Nikhil Shampur Cherry Lin Quick Start ArcGIS Enterprise with Automation Shannon Kalisky Mark Carlson Nikhil Shampur Cherry Lin Software installation is my favorite! I really love how complex and repetitive it can be especially

More information

MySQL. The Right Database for GIS Sometimes

MySQL. The Right Database for GIS Sometimes MySQL The Right Database for GIS Sometimes Who am I? Web/GIS Software Engineer with Cimbura.com BS in IT, MGIS Michael Moore I like making and using tools (digital or physical) GIS Web Services I m most

More information

Programming Modeling Two Worlds? Programmierung Modellierung Zwei Welten? und. and. Markus Voelter Independent/itemis

Programming Modeling Two Worlds? Programmierung Modellierung Zwei Welten? und. and. Markus Voelter Independent/itemis und Programmierung Modellierung Zwei Welten? and Modeling Two Worlds? Markus Voelter Independent/itemis voelter@acm.org Markus Voelter Independent/itemis voelter@acm.org 1 Languages C# Erlang C++ Python

More information

Lecture 4 Memory Management

Lecture 4 Memory Management Lecture 4 Memory Management Dr. Wilson Rivera ICOM 4036: Programming Languages Electrical and Computer Engineering Department University of Puerto Rico Some slides adapted from Sebesta s textbook Lecture

More information

Bookface.com: html - Java: 2017 Ultimate Beginners Guide to Learn Java Programming ( java for. Beginner's Box Set: Learn HTML, HTML5 & CSS3, Java,

Bookface.com: html - Java: 2017 Ultimate Beginners Guide to Learn Java Programming ( java for. Beginner's Box Set: Learn HTML, HTML5 & CSS3, Java, Programming For Beginner's Box Set: Learn HTML, HTML5 & CSS3, Java, PHP & MySQL, C# With The Ultimate Guides For Beginner's (Programming For Beginners In Under 8 Hours!) By T. J Wilson READ ONLINE Bookface.com:

More information

Lezione 7. BioPython. Contents. BioPython Installing and exploration Tutorial. Bioinformatica. Mauro Ceccanti e Alberto Paoluzzi

Lezione 7. BioPython. Contents. BioPython Installing and exploration Tutorial. Bioinformatica. Mauro Ceccanti e Alberto Paoluzzi Lezione 7 Bioinformatica Mauro Ceccanti e Alberto Paoluzzi Dip. Informatica e Automazione Università Roma Tre Dip. Medicina Clinica Università La Sapienza with Biopython Biopython is a set of freely available

More information

FreeBSD and Git. Ed Maste - FreeBSD Vendor Summit 2018

FreeBSD and Git. Ed Maste - FreeBSD Vendor Summit 2018 FreeBSD and Git Ed Maste - FreeBSD Vendor Summit 2018 Purpose History and Context - ensure we re starting from the same reference Identify next steps for more effective use / integration with Git / GitHub

More information

Programming Kotlin. Extracted from: Creating Elegant, Expressive, and Performant JVM and Android Applications. The Pragmatic Bookshelf

Programming Kotlin. Extracted from: Creating Elegant, Expressive, and Performant JVM and Android Applications. The Pragmatic Bookshelf Extracted from: Programming Kotlin Creating Elegant, Expressive, and Performant JVM and Android Applications This PDF file contains pages extracted from Programming Kotlin, published by the Pragmatic Bookshelf.

More information

The role of semantic analysis in a compiler

The role of semantic analysis in a compiler Semantic Analysis Outline The role of semantic analysis in a compiler A laundry list of tasks Scope Static vs. Dynamic scoping Implementation: symbol tables Types Static analyses that detect type errors

More information

Free as in Freedom A step towards Software freedom. Salahaddin University By: Amanj Sherwany

Free as in Freedom A step towards Software freedom. Salahaddin University By: Amanj Sherwany Free as in Freedom A step towards Software freedom Salahaddin University By: Amanj Sherwany http://www.amanj.me 2011 Who am I? 27 years old. M.Sc. in Computer Science, Uppsala University 2011. B.Sc. in

More information

Introduction. A. Bellaachia Page: 1

Introduction. A. Bellaachia Page: 1 Introduction 1. Objectives... 2 2. Why are there so many programming languages?... 2 3. What makes a language successful?... 2 4. Programming Domains... 3 5. Language and Computer Architecture... 4 6.

More information

Open source, high performance database. July 2012

Open source, high performance database. July 2012 Open source, high performance database July 2012 1 Quick introduction to mongodb Data modeling in mongodb, queries, geospatial, updates and map reduce. Using a location-based app as an example Example

More information

Ninja Level Infrastructure Monitoring. Defensive Approach to Security Monitoring and Automation

Ninja Level Infrastructure Monitoring. Defensive Approach to Security Monitoring and Automation Ninja Level Infrastructure Monitoring Defensive Approach to Security Monitoring and Automation 1 DEFCON 24 06 th August 2016, Saturday 10:00-14:00 Madhu Akula & Riyaz Walikar Appsecco.com 2 About Automation

More information

CSE341: Programming Languages Lecture 22 OOP vs. Functional Decomposition; Adding Operators & Variants; Double-Dispatch. Dan Grossman Autumn 2018

CSE341: Programming Languages Lecture 22 OOP vs. Functional Decomposition; Adding Operators & Variants; Double-Dispatch. Dan Grossman Autumn 2018 CSE341: Programming Languages Lecture 22 OOP vs. Functional Decomposition; Adding Operators & Variants; Double-Dispatch Dan Grossman Autumn 2018 Breaking things down In functional (and procedural) programming,

More information

ZEROMQ: MESSAGING FOR MANY APPLICATIONS BY PIETER HINTJENS DOWNLOAD EBOOK : ZEROMQ: MESSAGING FOR MANY APPLICATIONS BY PIETER HINTJENS PDF

ZEROMQ: MESSAGING FOR MANY APPLICATIONS BY PIETER HINTJENS DOWNLOAD EBOOK : ZEROMQ: MESSAGING FOR MANY APPLICATIONS BY PIETER HINTJENS PDF Read Online and Download Ebook ZEROMQ: MESSAGING FOR MANY APPLICATIONS BY PIETER HINTJENS DOWNLOAD EBOOK : ZEROMQ: MESSAGING FOR MANY APPLICATIONS BY Click link bellow and free register to download ebook:

More information

Open Source MQTT Brokers. Leon Anavi Konsulko Group OpenIoT Summit 2018

Open Source MQTT Brokers. Leon Anavi Konsulko Group  OpenIoT Summit 2018 Open Source MQTT Brokers Leon Anavi Konsulko Group leon.anavi@konsulko.com leon@anavi.org OpenIoT Summit 2018 Konsulko Group Services company specializing in Embedded Linux and Open Source Software Hardware/software

More information

Programming Languages, Summary CSC419; Odelia Schwartz

Programming Languages, Summary CSC419; Odelia Schwartz Programming Languages, Summary CSC419; Odelia Schwartz Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design

More information

Hands-on tutorial on usage the Kepler Scientific Workflow System

Hands-on tutorial on usage the Kepler Scientific Workflow System Hands-on tutorial on usage the Kepler Scientific Workflow System (including INDIGO-DataCloud extension) RIA-653549 Michał Konrad Owsiak (@mkowsiak) Poznan Supercomputing and Networking Center michal.owsiak@man.poznan.pl

More information

Computer Basics 1/6/16. Computer Organization. Computer systems consist of hardware and software.

Computer Basics 1/6/16. Computer Organization. Computer systems consist of hardware and software. Hardware and Software Computer Basics TOPICS Computer Organization Data Representation Program Execution Computer Languages Computer systems consist of hardware and software. Hardware includes the tangible

More information

Memory Allocation II. CSE 351 Autumn Instructor: Justin Hsia

Memory Allocation II. CSE 351 Autumn Instructor: Justin Hsia Memory Allocation II CSE 351 Autumn 2016 Instructor: Justin Hsia Teaching Assistants: Chris Ma Hunter Zahn John Kaltenbach Kevin Bi Sachin Mehta Suraj Bhat Thomas Neuman Waylon Huang Xi Liu Yufang Sun

More information

Mobile Apps Why & How

Mobile Apps Why & How Mobile Apps Why & How MOBIKATS Phillip Hunt CEO philliphunt@mobikats.com 07590 277045 Putting your Content in Everyone s Pocket. Copyright Mobikats 2012 What do we do? Consultancy on developing or reviewing

More information

Interview Questions And Answers For Experienced Candidates In Php Mysql

Interview Questions And Answers For Experienced Candidates In Php Mysql Interview Questions And Answers For Experienced Candidates In Php Mysql We have selected PHP Technology Questions and Answers, PHP Interview Questions and their Solution and PHP Tutorial for all levels

More information