Scala Scripting. Scala By the Bay, San Francisco, 12 Nov 2016

Size: px
Start display at page:

Download "Scala Scripting. Scala By the Bay, San Francisco, 12 Nov 2016"

Transcription

1 Scala Scripting Scala By the Bay, San Francisco, 12 Nov 2016

2 Scala has a code-size gap Scala REPL: lightweight, works great for < 1 line programs, more is problematic

3 Scala has a code-size gap Scala REPL: lightweight, works great for < 1 line programs, more is problematic

4 Scala has a code-size gap Scala REPL: lightweight, works great for < 1 line programs, more is problematic

5 Scala has a code-size gap Scala REPL: lightweight, works great for < 1 line programs, more is problematic

6 Scala has a code-size gap Scala REPL: lightweight, works great for < 1 line programs, more is problematic

7 Scala has a code-size gap Scala REPL: lightweight, works great for < 1 line programs, more is problematic

8 Scala has a code-size gap SBT: Works great for 1, ,000 line programs, overkill for small scripts

9 Scala has a code-size gap object Main{ def main(args: Array[String]): Unit = { println("hello") } } SBT: Works great for 1, ,000 line programs, overkill for small scripts

10 Scala has a code-size gap SBT: Works great for 1, ,000 line programs, overkill for small scripts

11 Scala has a code-size gap SBT: Works great for 1, ,000 line programs, overkill for small scripts

12 Scala has a code-size gap SBT: Works great for 1, ,000 line programs, overkill for small scripts

13 Scala has a code-size gap SBT: Works great for 1, ,000 line programs, overkill for small scripts

14 Scala has a code-size gap Scala REPL: lightweight, works great for < 1 line programs, more is problematic SBT: Works great for 1, ,000 line programs, overkill for small scripts

15 Scala has a code-size gap Scala REPL: lightweight, works great for < 1 line programs, more is problematic? SBT: Works great for 1, ,000 line programs, overkill for small scripts

16 Scala has a code-size gap Scala REPL: lightweight, works great for < 1 line programs, more is problematic Ammonite Scala REPL/Scripts SBT: Works great for 1, ,000 line programs, overkill for small scripts

17 Ammonite: Scala Scripting lihaoyi.github.io/ammonite

18 Ammonite-REPL Like the Scala REPL,

19 Ammonite-REPL Like the Scala REPL, but better

20 Ammonite-Scripts Write Scala without the fuss

21 Demo: Ammonite REPL

22 Scala has a code-size gap Scala REPL: lightweight, works great for < 1 line programs, more is problematic Ammonite REPL: lightweight, works great for 1-10 line programs SBT: Works great for 1, ,000 line programs, overkill for small scripts

23 Scala has a code-size gap Scala REPL: lightweight, works great for < 1 line programs, more is problematic Ammonite REPL: lightweight, works great for 1-10 line programs Ammonite Scripts: works for 10-1,000 line programs SBT: Works great for 1, ,000 line programs, overkill for small scripts

24 Demo: Ammonite Scripts

25 Like running scripts with the `scala` command but... Can you use third party libraries? -

26 Like running scripts with the `scala` command but... Can you use third party libraries? - Can you import other scripts? -

27 Like running scripts with the `scala` command but... Can you use third party libraries? - Download jar yourself, download transitive dependencies, use `-cp`,... Can you import other scripts? - No

28 Like running scripts with the `scala` command but... Can you use third party libraries? - import $ivy.`com.lihaoyi::scalatags:0.6.2` Can you import other scripts? - import $file.foo - import $file.foo.bar

29 Like running scripts with the `scala` command but... Can you use third party libraries? - import $ivy.`com.lihaoyi::scalatags:0.6.2` - librarydependencies += "com.lihaoyi" %% "scalatags" % "0.6.2" Can you import other scripts? - import $file.foo - import $file.foo.bar

30 Like running scripts with the `scala` command but... Can you use third party libraries? - import $ivy.`com.lihaoyi::scalatags:0.6.2` - librarydependencies += "com.lihaoyi" %% "scalatags" % "0.6.2" Can you import other scripts? - import $file.foo // loads foo.sc - import $file.foo.bar // loads foo/bar.sc

31 Demo: Ammonite Script Imports

32 Demo: Ammonite Website

33 Scala has a code-size gap Scala REPL: lightweight, works great for < 1 line programs, more is problematic Ammonite REPL: lightweight, works great for 1-10 line programs Ammonite Scripts: works for 10-1,000 line programs SBT: Works great for 1, ,000 line programs, overkill for small scripts

34 Use Cases github.com/lihaoyi/ammonite/blob/master/ci/build.sc

35 Next Steps

36 Next Steps: need more usage - Currently about 6-7k downloads a month - More users = more edge cases get found, more help fixing bugs, - More users = more info to help set direction of development

37 Next Steps: need more contributors! - Lots of people contributing fixes, but still mostly me driving development - Script-runner was mostly built by two GSOC interns, but they've moved on - Need more people to sustainably drive project forward

38 Next Steps: concrete tasks - IntelliJ support for scripts - Convert autocomplete to use 2.12 REPL's improved autocomplete - Experiment with using shapeless for more stable pretty-printing - Better SBT integration: re-use compiler settings? Plugins? - Spark support??

39 Scala has a code-size gap Scala REPL: lightweight, works great for < 1 line programs, more is problematic? SBT: Works great for 1, ,000 line programs, overkill for small scripts

40 Scala has a code-size gap Scala REPL: lightweight, works great for < 1 line programs, more is problematic Ammonite REPL: lightweight, works great for 1-10 line programs Ammonite Scripts: works for 10-1,000 line programs SBT: Works great for 1, ,000 line programs, overkill for small scripts

41 Scala Scripting Scala By the Bay, San Francisco, 12 Nov 2016

42 Q & A

Announcements. CSCI 334: Principles of Programming Languages. Lecture 16: Intro to Scala. Announcements. Squeak demo. Instructor: Dan Barowy

Announcements. CSCI 334: Principles of Programming Languages. Lecture 16: Intro to Scala. Announcements. Squeak demo. Instructor: Dan Barowy Announcements CSCI 334: Principles of Programming Languages Lecture 16: Intro to Scala HW7 sent out as promised. See course webpage. Instructor: Dan Barowy Announcements No class on Tuesday, April 17.

More information

HOW WE MOVED FROM JAVA TO SCALA

HOW WE MOVED FROM JAVA TO SCALA HOW WE MOVED FROM JAVA TO SCALA Graham Tackley guardian.co.uk @tackers mostly HOW WE MOVED FROM ^ JAVA TO SCALA Graham Tackley guardian.co.uk @tackers History Java shop since 2006 guardian.co.uk: java

More information

Scala Days 2018 You Are a Scala Contributor

Scala Days 2018 You Are a Scala Contributor Scala Days 2018 You Are a Scala Contributor Seth Tisue @SethTisue Scala team, Lightbend or you can be, if you want to. here s how. you are a Scala contributor If you open an issue If you comment on an

More information

How We Built Tools That Scale to Millions of Lines of Code

How We Built Tools That Scale to Millions of Lines of Code How We Built Tools That Scale to Millions of Lines of Code Eugene Burmako Twitter, Inc. 6/20/2018 About me Founder of Scala macros, Scalameta and Rsc Member of the Scala Improvement Process committee PhD

More information

CS162 Week 1. Kyle Dewey. Friday, January 10, 14

CS162 Week 1. Kyle Dewey. Friday, January 10, 14 CS162 Week 1 Kyle Dewey Overview Basic Introduction CS Accounts Scala survival guide Office Hour Choose an hour from within: Tuesday/Thursday 11 AM - 1 PM Friday 11 AM - 4 PM Also available by appointment

More information

Jenkins: AMPLab s Friendly Butler. He will build your projects so you don t have to!

Jenkins: AMPLab s Friendly Butler. He will build your projects so you don t have to! Jenkins: AMPLab s Friendly Butler He will build your projects so you don t have to! What is Jenkins? Open source CI/CD/Build platform Used to build many, many open source software projects (including Spark

More information

2/4/2019 Week 3- A Sangmi Lee Pallickara

2/4/2019 Week 3- A Sangmi Lee Pallickara Week 3-A-0 2/4/2019 Colorado State University, Spring 2019 Week 3-A-1 CS535 BIG DATA FAQs PART A. BIG DATA TECHNOLOGY 3. DISTRIBUTED COMPUTING MODELS FOR SCALABLE BATCH COMPUTING SECTION 1: MAPREDUCE PA1

More information

...something useful to do with the JVM.

...something useful to do with the JVM. Scala Finally... ...something useful to do with the JVM. Image source: http://www.tripadvisor.com/locationphotos-g187789-lazio.html Young Developed in 2003 by Martin Odersky at EPFL Martin also brought

More information

Scala Where It Came From Where It is Going

Scala Where It Came From Where It is Going Scala Where It Came From Where It is Going Scala Days San Francisco Martin Odersky Scala Where It Came From Scala Days San Francisco Martin Odersky Scala is going nowhere Scala is a gateway drug to Haskell

More information

Metaprogramming 2.0. Eugene Burmako by) 11 May 2016

Metaprogramming 2.0. Eugene Burmako by) 11 May 2016 Metaprogramming 2.0 Eugene Burmako (@xeno by) 11 May 2016 scala.meta is a dream 2 scala.meta is an active project 3 scala.meta is a community 4 scala.meta is a product 5 scala.meta is officially endorsed

More information

Big Data Analytics with Apache Spark. Nastaran Fatemi

Big Data Analytics with Apache Spark. Nastaran Fatemi Big Data Analytics with Apache Spark Nastaran Fatemi Apache Spark Throughout this part of the course we will use the Apache Spark framework for distributed data-parallel programming. Spark implements a

More information

Compossible. Extensible Records and Type-Indexed Maps. Jan Christopher Vogt SCALADAYS MARCH 16TH - 18TH SAN FRANCISCO

Compossible. Extensible Records and Type-Indexed Maps. Jan Christopher Vogt SCALADAYS MARCH 16TH - 18TH SAN FRANCISCO Compossible Extensible Records and Type-Indexed Maps Jan Christopher Vogt / @cvogt SCALADAYS MARCH 16TH - 18TH SAN FRANCISCO x.ai a personal assistant who schedules meetings for you SCALADAYS MARCH 16TH

More information

State of Octave. John W. Eaton. OctConf July John W. Eaton GNU Octave 18 July / 14

State of Octave. John W. Eaton. OctConf July John W. Eaton GNU Octave 18 July / 14 State of Octave John W. Eaton OctConf 2012 18 July 2012 John W. Eaton (jwe@octave.org) GNU Octave 18 July 2012 1 / 14 Overview More developers than ever More activity by more people than ever The state

More information

Research compiler that will become Scala 3 Type system internals redesigned, inspired by DOT, but externally very similar More info:

Research compiler that will become Scala 3 Type system internals redesigned, inspired by DOT, but externally very similar More info: INTEGRATING IDEs WITH DOTTY Guillaume Martres - EPFL 1 WHAT IS DOTTY? Research compiler that will become Scala 3 Type system internals redesigned, inspired by DOT, but externally very similar More info:

More information

The detailed Spark programming guide is available at:

The detailed Spark programming guide is available at: Aims This exercise aims to get you to: Analyze data using Spark shell Monitor Spark tasks using Web UI Write self-contained Spark applications using Scala in Eclipse Background Spark is already installed

More information

Scala.meta semantic API

Scala.meta semantic API Scala.meta semantic API Eugene Burmako (@xeno by) 2 March 2017 What is scala.meta? scala.meta is a cutting edge research 3 scala.meta is officially endorsed (EPFL) 4 scala.meta is officially endorsed (Twitter)

More information

Scala.js. Safety & Sanity in the wild west of the web. Li Haoyi, Philly ETE 8/3/2015

Scala.js. Safety & Sanity in the wild west of the web. Li Haoyi, Philly ETE 8/3/2015 Scala.js Safety & Sanity in the wild west of the web Li Haoyi, Philly ETE 8/3/2015 1.1 Who am I Work at Dropbox on Web Infrastructure, writing Python/Coffeescript Using Scala open-source since 2011 Contributor

More information

Scalable Performance for Scala Message-Passing Concurrency

Scalable Performance for Scala Message-Passing Concurrency Scalable Performance for Scala Message-Passing Concurrency Andrew Bate Department of Computer Science University of Oxford cso.io Motivation Multi-core commodity hardware Non-uniform shared memory Expose

More information

Diagnosing Java code: Designing extensible applications, Part 3

Diagnosing Java code: Designing extensible applications, Part 3 Diagnosing Java code: Designing extensible applications, Part 3 Examine when, where, and how black box extensibility works best Level: Introductory Eric Allen (eallen@cs.rice.edu), Ph.D. candidate, Java

More information

COMPSCI 220 Programming Methodology Project Assignment 06: Expression Evaluator

COMPSCI 220 Programming Methodology Project Assignment 06: Expression Evaluator COMPSCI 220 Programming Methodology Project Assignment 06: Expression Evaluator Overview In this assignment you will be exercising a number of different techniques that we have studied. In particular,

More information

Scala in Martin Odersky

Scala in Martin Odersky Scala in 2016 - Martin Odersky 2015 was on the quiet side Maturing tools: 2.11.x, IDEs, sbt Steady growth indeed.com jobs google trends In 2016, things will move again Scala 2.12 release Rethinking the

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

Monkeybars Tools-enabled Swing development with JRuby

Monkeybars Tools-enabled Swing development with JRuby Monkeybars Tools-enabled Swing development with JRuby David Koontz david@koontzfamily.org JRuby fanboy, teacher, hockey player This is a talk about Java 2 This is a talk about Java This is a talk about

More information

Spark Tutorial. General Instructions

Spark Tutorial. General Instructions CS246: Mining Massive Datasets Winter 2018 Spark Tutorial Due Thursday January 25, 2018 at 11:59pm Pacific time General Instructions The purpose of this tutorial is (1) to get you started with Spark and

More information

OpenLaszlo: A Python Success Story

OpenLaszlo: A Python Success Story OpenLaszlo: A Python Success Story PyCon 2005 Oliver Steele Chief Software Architect March 23, 2005 Lots of Languages Target Languages LZX XHTML Definition Languages JavaScript RELAX NG XML Implementation

More information

Notes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.)

Notes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.) Notes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.) David Haraburda January 30, 2013 1 Introduction Scala is a multi-paradigm language that runs on the JVM (is totally

More information

Apache Buildr in Action

Apache Buildr in Action Apache Buildr in Action A short intro BED 2012 Dr. Halil-Cem Gürsoy, adesso AG 29.03.12 About me Round about 12 Years in the IT, Development and Consulting Before that development in research (RNA secondary

More information

Under the Hood of Scala Implicits. by Alexander Podkhalyuzin ScalaDays San Francisco 2015

Under the Hood of Scala Implicits. by Alexander Podkhalyuzin ScalaDays San Francisco 2015 Under the Hood of Scala Implicits by Alexander Podkhalyuzin ScalaDays San Francisco 2015 Agenda How implicits work How IDE can help with them Possibilities to improve performance of compilation and IDE

More information

Testing. Topics. Types of Testing. Types of Testing

Testing. Topics. Types of Testing. Types of Testing Topics 1) What are common types of testing? a) Testing like a user: through the UI. b) Testing like a dev: through the code. 2) What makes a good bug report? 3) How can we write code to test code (via

More information

State of the Meta, Spring 2015

State of the Meta, Spring 2015 State of the Meta, Spring 2015 Eugene Burmako (@xeno by) École Polytechnique Fédérale de Lausanne http://scalameta.org/ 17 March 2015 2 scala.meta The goal of scala.meta is to make metaprogramming easy

More information

<Insert Picture Here> JavaFX 2.0

<Insert Picture Here> JavaFX 2.0 1 JavaFX 2.0 Dr. Stefan Schneider Chief Technologist ISV Engineering The following is intended to outline our general product direction. It is intended for information purposes only,

More information

learning objectives understand the role of an operating system understand the role of interpreters and compilers

learning objectives understand the role of an operating system understand the role of interpreters and compilers system software learning objectives algorithms your software system software hardware understand the role of an operating system understand the role of interpreters and compilers unders tand t he role

More information

Introduction to Renjin The R interpreter in the JVM

Introduction to Renjin The R interpreter in the JVM Introduction to Renjin The R interpreter in the JVM Maarten-Jan Kallen mj@bedatadriven.com September 12, 2014 Presented at KölnR 1 Presentation outline What is Renjin? Renjin's design goals Other R engines

More information

GStreamer Status Report: The Road Ahead. GStreamer Conference August 2012 San Diego. Tim-Philipp Müller

GStreamer Status Report: The Road Ahead. GStreamer Conference August 2012 San Diego. Tim-Philipp Müller GStreamer Status Report: The Road Ahead GStreamer Conference 27-28 August 2012 San Diego Tim-Philipp Müller Introduction who am I? what is GStreamer? 0.10, 0.11, 1.0 and all

More information

Scriptable Markdown pretty-printing with GraalVM

Scriptable Markdown pretty-printing with GraalVM Scriptable Markdown pretty-printing with GraalVM Pascal Maissen pascal.maissen@unifr.ch 20.11.2018 Seminar Software Composition, University of Bern Motivation Implement a pretty printer for markdown in

More information

JVM Survival Guide. Hadi Hariri

JVM Survival Guide. Hadi Hariri JVM Survival Guide Hadi Hariri This talk For What For Who 20 years of Java The Sun and The Oracle Java The Language Java The Virtual Machine Java The Ecosystem The Community Community Driven Not Vendor-Driven

More information

Appendix A. Scala Tools. A.1 Command Line

Appendix A. Scala Tools. A.1 Command Line Appendix A Scala Tools A.1 Command Line............................................................................ 625 A.2 sbt.........................................................................................

More information

Philipp Wille. Beyond Scala s Standard Library

Philipp Wille. Beyond Scala s Standard Library Scala Enthusiasts BS Philipp Wille Beyond Scala s Standard Library OO or Functional Programming? Martin Odersky: Systems should be composed from modules. Modules should be simple parts that can be combined

More information

CS 288: Statistical NLP Assignment 1: Language Modeling

CS 288: Statistical NLP Assignment 1: Language Modeling CS 288: Statistical NLP Assignment 1: Language Modeling Due September 12, 2014 Collaboration Policy You are allowed to discuss the assignment with other students and collaborate on developing algorithms

More information

Scaling Up & Out. Haidar Osman

Scaling Up & Out. Haidar Osman Scaling Up & Out Haidar Osman 1- Crash course in Scala - Classes - Objects 2- Actors - The Actor Model - Examples I, II, III, IV 3- Apache Spark - RDD & DAG - Word Count Example 2 1- Crash course in Scala

More information

The simple Scala build tool. Joshua Suereth Matthew Farwell MANNING

The simple Scala build tool. Joshua Suereth Matthew Farwell MANNING SAMPLE CHAPTER The simple Scala build tool Joshua Suereth Matthew Farwell MANNING sbt in Action by Joshua Suereth Matthew Farwell Chapter 2 Copyright 2015 Manning Publications brief contents PART 1 WHY

More information

Logging on to the Hadoop Cluster Nodes. To login to the Hadoop cluster in ROGER, a user needs to login to ROGER first, for example:

Logging on to the Hadoop Cluster Nodes. To login to the Hadoop cluster in ROGER, a user needs to login to ROGER first, for example: Hadoop User Guide Logging on to the Hadoop Cluster Nodes To login to the Hadoop cluster in ROGER, a user needs to login to ROGER first, for example: ssh username@roger-login.ncsa. illinois.edu after entering

More information

本文转载自 :

本文转载自 : 本文转载自 :http://blog.cloudera.com/blog/2014/04/how-to-run-a-simple-apache-spark-appin-cdh-5/ (Editor s note this post has been updated to reflect CDH 5.1/Spark 1.0) Apache Spark is a general-purpose, cluster

More information

CS205: Scalable Software Systems

CS205: Scalable Software Systems CS205: Scalable Software Systems Lecture 4 September 14, 2016 Lecture 4 CS205: Scalable Software Systems September 14, 2016 1 / 16 Quick Recap Things covered so far Problem solving by recursive decomposition

More information

TUTORIAL: BIG DATA ANALYTICS USING APACHE SPARK

TUTORIAL: BIG DATA ANALYTICS USING APACHE SPARK TUTORIAL: BIG DATA ANALYTICS USING APACHE SPARK Sugimiyanto Suma Yasir Arfat Supervisor: Prof. Rashid Mehmood Outline 2 Big Data Big Data Analytics Problem Basics of Apache Spark Practice basic examples

More information

Lecture 1. 1 Introduction

Lecture 1. 1 Introduction Lecture 1 Course Description: Development of individual skills necessary for designing, implementing, testing and modifying larger programs, including: use of integrated design environments, design strategies

More information

Writing Browser Extensions in Kotlin. Kirill Rakhman busradar.com

Writing Browser Extensions in Kotlin. Kirill Rakhman busradar.com Writing Browser Extensions in Kotlin Kirill Rakhman (@Cypressious) busradar.com KotlinJS No longer expiremental since 1.1.0 Can run anywhere where JS runs Can call JS Websites NodeJS Browser Extensions

More information

Harnessing Java with Scala

Harnessing Java with Scala Harnessing Java with Scala OSCON 2010 July 21, 2010 Thomas Lockney @tlockney or thomas@lockney.net Trenton Lipscomb trentonl@amazon.com Introduction Understand the capabilities of sbt and Scala Demonstrate

More information

Play framework 2.0. Peter Hilton geecon 18 May 2012 #playgeecon

Play framework 2.0. Peter Hilton geecon 18 May 2012 #playgeecon Play framework 2.0 Peter Hilton geecon 18 May 2012 #playgeecon Peter Hilton 2 (sorry, I am not Guillaume Bort) Senior web developer and Operations Director at Lunatech Research in Rotterdam, the Netherlands

More information

KEYNOTE Dr. Michael Meskes, PhD CEO of credativ and Open Source Support Center Friday, October 11, 2013

KEYNOTE Dr. Michael Meskes, PhD CEO of credativ and Open Source Support Center Friday, October 11, 2013 KEYNOTE Dr. Michael Meskes, PhD CEO of credativ and Open Source Support Center Friday, October 11, 2013 Michael Meskes From the Halls of UC-Berkeley to the World's Most Advanced Database: PostgreSQL Open

More information

Down With JavaScript!

Down With JavaScript! Down With JavaScript! September 2018 training@instil.co Instil Software 2018 Develop Consult Train Where Things Were Better Did you know that the original 4GL s were designed to be an ideal coding environment

More information

Social Tagging and Folksonomy: steve.museum and Access to Art Why Tag in Art Museums?

Social Tagging and Folksonomy: steve.museum and Access to Art Why Tag in Art Museums? Social Tagging and Folksonomy: steve.museum and Access to Art Why Tag in Art Museums? Impressionism Why Tag in Art Museums? Really Well, Really Wrong Why Tag in Art Museums? Accessibility & Engagement

More information

Haskell in the Software Industry

Haskell in the Software Industry Haskell in the Software Industry What is Haskell? Haskell in a nutshell Haskell is a pure, non-strict, statically typed, garbage collected, general purpose, functional programming language. Early history

More information

Jquery Documentation Autocomplete

Jquery Documentation Autocomplete Jquery Documentation Autocomplete 1 / 6 2 / 6 3 / 6 Jquery Documentation Autocomplete Theming. The autocomplete widget uses the jquery UI CSS framework to style its look and feel. If autocomplete specific

More information

Getting Started with Kotlin. Commerzbank Java Developer Day

Getting Started with Kotlin. Commerzbank Java Developer Day Getting Started with Kotlin Commerzbank Java Developer Day 30.11.2017 Hello! Alexander Hanschke Hello! Alexander Hanschke CTO at techdev Solutions GmbH in Berlin Hello! Alexander Hanschke CTO at techdev

More information

n n Official Scala website n Scala API n

n   n Official Scala website n Scala API n n Quiz 8 Announcements n Rainbow grades: HW1-8, Quiz1-6, Exam1-2 n Still grading: HW9, Quiz 7 Scala n HW10 due today n HW11 out today, due Friday Fall 18 CSCI 4430, A Milanova 1 Today s Lecture Outline

More information

ArcPy Tips & Tricks. Clinton Dow Geoprocessing Product Esri

ArcPy Tips & Tricks. Clinton Dow Geoprocessing Product Esri ArcPy Tips & Tricks Clinton Dow Geoprocessing Product Engineer @ Esri Tip #1 ArcPy in an IDE GIS from the comfort of your development environment Recommended IDEs - PyCharm - Python Tools for Visual Studio

More information

Hello Gradle. TestNG, Eclipse, IntelliJ IDEA. Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2.

Hello Gradle. TestNG, Eclipse, IntelliJ IDEA. Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2. Hello Gradle TestNG, Eclipse, IntelliJ IDEA Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2 Dávid Bedők 2017.09.18. v0.2 Dávid Bedők (UNI-OBUDA) Hello JavaEE 2017.09.18.

More information

Rethinking Scala Macros

Rethinking Scala Macros Rethinking Scala Macros Work in progress, not available yet Eugene Burmako École Polytechnique Fédérale de Lausanne http://scalamacros.org/ 02 March 2014 This talk is superseded by the presentation delivered

More information

Asanka Padmakumara. ETL 2.0: Data Engineering with Azure Databricks

Asanka Padmakumara. ETL 2.0: Data Engineering with Azure Databricks Asanka Padmakumara ETL 2.0: Data Engineering with Azure Databricks Who am I? Asanka Padmakumara Business Intelligence Consultant, More than 8 years in BI and Data Warehousing A regular speaker in data

More information

SECOND EDITION SOURCE CODE ONLINE

SECOND EDITION SOURCE CODE ONLINE For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. m62 Contents at a Glance About the Authors...

More information

Unable To The Artifact From Any Repository Maven-clean-plugin

Unable To The Artifact From Any Repository Maven-clean-plugin Unable To The Artifact From Any Repository Maven-clean-plugin The default behaviour of the plugin is to first resolve the entire dependency tree, Any manually included purge artifacts will be removed from

More information

Working with the Command Line

Working with the Command Line Working with the Command Line Useful Commands cd ls cp mv Running a Java Program Writing Your Code Compiling Your Program Running Your Program Running a Scala Program Useful Commands At its heart, the

More information

Akka Streams and Bloom Filters

Akka Streams and Bloom Filters Akka Streams and Bloom Filters Or: How I learned to stop worrying and love resilient elastic distributed real-time transaction processing using space efficient probabilistic data structures The Situation

More information

Getting started with GitHub

Getting started with GitHub Getting started with GitHub A beginner s guide. (There s no code in this slide deck!) Presented by Quinn Supplee https://github.com/quinns What is GitHub? GitHub is a code hosting platform for version

More information

WORDPRESS FOR REAL ESTATE PRESENTED BY ADAM SILVER APRIL 23, Wednesday, April 23, 14

WORDPRESS FOR REAL ESTATE PRESENTED BY ADAM SILVER APRIL 23, Wednesday, April 23, 14 WORDPRESS FOR REAL ESTATE PRESENTED BY ADAM SILVER APRIL 23, 2014 THANK YOU TO ABOUT ME WORDPRESS DEVELOPER / EDUCATOR SOCIAL MEDIA MANAGER PHOTOGRAPHER VIDEO EDITOR APPLE TRAINER SOUTH BAY WORDPRESS MEETUP

More information

Assessment. automation: Deux ex Machina. Rube Goldberg Machine? 2005 LAS VEGAS

Assessment. automation: Deux ex Machina. Rube Goldberg Machine? 2005 LAS VEGAS Assessment automation: Deux ex Machina Rube Goldberg Machine? 2005 LAS VEGAS Before we begin.you can find all of this at: http://www.sensepost.com/research/bidiblah As promised at Amsterdam E-Or release!

More information

Next Generation LMS Evaluation

Next Generation LMS Evaluation Next Generation LMS Evaluation Summary of Individual Steering Committee Member Evaluations April 20th 2017 Participation The summary data here represents nine of the anticipated twelve individual evaluations

More information

Kotlin, Start? Start! (pluu) Android Developer GDG Korea Android Organizer

Kotlin, Start? Start! (pluu) Android Developer GDG Korea Android Organizer Kotlin, Start? Start! (pluu) Android Developer GDG Korea Android Organizer Agenda Kotlin Overview Kotlin?? Basic fun main(args: Array): Unit { println("hello, world!") Basic Function Keyword

More information

Generating Continuation Passing Style Code for the Co-op Language

Generating Continuation Passing Style Code for the Co-op Language Generating Continuation Passing Style Code for the Co-op Language Mark Laarakkers University of Twente Faculty: Computer Science Chair: Software engineering Graduation committee: dr.ing. C.M. Bockisch

More information

CS 2340 Objects and Design - Scala

CS 2340 Objects and Design - Scala CS 2340 Objects and Design - Scala Objects and Operators Christopher Simpkins chris.simpkins@gatech.edu Chris Simpkins (Georgia Tech) CS 2340 Objects and Design - Scala Objects and Operators 1 / 13 Classes

More information

Interface, outputs, post-processing

Interface, outputs, post-processing Interface, outputs, post-processing Frédéric Pérez SMILEI training workshop November 6-7, 2017 Maison de la Simulation The minimum knowledge to use Smilei if you want to keep away from the code 1. Compile

More information

BUILDING A GPU-FOCUSED CI SOLUTION

BUILDING A GPU-FOCUSED CI SOLUTION BUILDING A GPU-FOCUSED CI SOLUTION Mike Wendt @mike_wendt github.com/nvidia github.com/mike-wendt Need for CPU CI Challenges of GPU CI Methods to Implement GPU CI AGENDA Improving GPU CI Today Demo Lessons

More information

UX RESUME + PORTFOLIO BUILDING GETTING IT ALL ONLINE WITH WORDPRESS

UX RESUME + PORTFOLIO BUILDING GETTING IT ALL ONLINE WITH WORDPRESS UX RESUME + PORTFOLIO BUILDING GETTING IT ALL ONLINE WITH WORDPRESS PRESENTED BY ADAM SILVER APRIL 29, 2017 ABOUT ME WORDPRESS EDUCATOR & DEVELOPER SOUTH BAY WORDPRESS MEETUP SEMI RETIRED PHOTOGRAPHER

More information

Enable Spark SQL on NoSQL Hbase tables with HSpark IBM Code Tech Talk. February 13, 2018

Enable Spark SQL on NoSQL Hbase tables with HSpark IBM Code Tech Talk. February 13, 2018 Enable Spark SQL on NoSQL Hbase tables with HSpark IBM Code Tech Talk February 13, 2018 https://developer.ibm.com/code/techtalks/enable-spark-sql-onnosql-hbase-tables-with-hspark-2/ >> MARC-ARTHUR PIERRE

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

@h2oai presents. Sparkling Water Meetup

@h2oai presents. Sparkling Water Meetup @h2oai & @mmalohlava presents Sparkling Water Meetup User-friendly API for data transformation Large and active community Memory efficient Performance of computation Platform components - SQL Machine learning

More information

Who am I? Harlan Iverson. Programming enthusiast. Seeker of truth. Imperfect. I'll be wrong about some things. Please correct me if you can.

Who am I? Harlan Iverson. Programming enthusiast. Seeker of truth. Imperfect. I'll be wrong about some things. Please correct me if you can. Who am I? Harlan Iverson. Programming enthusiast. Seeker of truth. Imperfect. I'll be wrong about some things. Please correct me if you can. P.S... I hate boring presentations. Please, engage and stay

More information

/mdi. Media Initiative. Program Review

/mdi. Media Initiative. Program Review 20160128/mdi Media Initiative Program Review It is Ready to use! 2015-10 The Media Initiative Main Leads: Janez Urevc slashrsm, Dave Reid Huge Initiative >24 months of work remaining Great plan, work in

More information

Modern Web Development with Kotlin

Modern Web Development with Kotlin Modern Web Development with Kotlin A concise and practical step-by-step guide Denis Kalinin This book is for sale at http://leanpub.com/modern-web-development-with-kotlin This version was published on

More information

Taming the Java Virtual Machine. Li Haoyi, Chicago Scala Meetup, 19 Apr 2017

Taming the Java Virtual Machine. Li Haoyi, Chicago Scala Meetup, 19 Apr 2017 Taming the Java Virtual Machine Li Haoyi, Chicago Scala Meetup, 19 Apr 2017 Who Am I? Previously: Dropbox Engineering Currently: Bright Technology Services - Data Science, Scala consultancy Fluent Code

More information

02/03/15. Compile, execute, debugging THE ECLIPSE PLATFORM. Blanks'distribu.on' Ques+ons'with'no'answer' 10" 9" 8" No."of"students"vs."no.

02/03/15. Compile, execute, debugging THE ECLIPSE PLATFORM. Blanks'distribu.on' Ques+ons'with'no'answer' 10 9 8 No.ofstudentsvs.no. Compile, execute, debugging THE ECLIPSE PLATFORM 30" Ques+ons'with'no'answer' What"is"the"goal"of"compila5on?" 25" What"is"the"java"command"for" compiling"a"piece"of"code?" What"is"the"output"of"compila5on?"

More information

Code Autocomplete Manual

Code Autocomplete Manual Code Autocomplete Manual Release 2.0.0 Jacques Lucke July 02, 2016 Contents 1 Setup 3 1.1 Installation................................................ 3 1.2 Check the Installation..........................................

More information

Blurring the Line Between Developer and Data Scientist

Blurring the Line Between Developer and Data Scientist Blurring the Line Between Developer and Data Scientist Notebooks with PixieDust va barbosa va@us.ibm.com Developer Advocacy IBM Watson Data Platform WHY ARE YOU HERE? More companies making bet-the-business

More information

Git, Atom, virtualenv, oh my! Learn about dev tools to live by!

Git, Atom, virtualenv, oh my! Learn about dev tools to live by! BRKDEV-2633 Git, Atom, virtualenv, oh my! Learn about dev tools to live by! Ashley Roach, Principal Engineer Evangelist Agenda Introduction Why are developer tools useful? What s in the toolbelt? Tool

More information

N different strategies to automate OWASP ZAP

N different strategies to automate OWASP ZAP OWASP BUCHAREST APPSEC CONFERENCE 13 OCTOBER 2017 The OWASP Foundation http://www.owasp.org N different strategies to automate OWASP ZAP The OWASP Zed Attack Proxy Marudhamaran Gunasekaran Zap Contributor

More information

Oracle Mix. A Case Study. Ola Bini JRuby Core Developer ThoughtWorks Studios.

Oracle Mix. A Case Study. Ola Bini JRuby Core Developer ThoughtWorks Studios. Oracle Mix A Case Study Ola Bini JRuby Core Developer ThoughtWorks Studios ola.bini@gmail.com http://olabini.com/blog Vanity slide Vanity slide Ola Bini Vanity slide Ola Bini From Stockholm, Sweden Vanity

More information

Practical Affine Types and Typestate-Oriented Programming

Practical Affine Types and Typestate-Oriented Programming Practical Affine Types and Typestate-Oriented Programming Philipp Haller KTH Royal Institute of Technology Stockholm, Sweden Dagstuhl Seminar 17051 Theory and Applications of Behavioural Types Schloss

More information

Productizing Linux Applications. What We ll Cover

Productizing Linux Applications. What We ll Cover Productizing Linux Applications Peter Ashford Ashford Computer Consulting Service 9/08/2015. What We ll Cover The first part of this presentation describes a process that will assist you in delivering

More information

Transitioning from uclibc to musl for embedded development. Embedded Linux Conference 2015 Rich Felker, maintainer, musl libc March 24, 2015

Transitioning from uclibc to musl for embedded development. Embedded Linux Conference 2015 Rich Felker, maintainer, musl libc March 24, 2015 Transitioning from uclibc to musl for embedded development Embedded Linux Conference 2015 Rich Felker, maintainer, musl libc March 24, 2015 What is musl? musl is a libc, an implementation of the user-space

More information

About me. Jesper Pedersen. Project lead for. Chairman for Boston JBoss User Group. Core developer, JBoss by Red Hat

About me. Jesper Pedersen. Project lead for. Chairman for Boston JBoss User Group. Core developer, JBoss by Red Hat About me Jesper Pedersen Core developer, JBoss by Red Hat Project lead for IronJacamar JCA container Tattletale software quality tool JBoss Profiler 2 profiler suite Papaki high-performance annotation

More information

Tattletale. What is Tattletale? Enterprise archives JBoss Application Server 7 Putting it all together Roadmap

Tattletale. What is Tattletale? Enterprise archives JBoss Application Server 7 Putting it all together Roadmap Tattletale What is Tattletale? Enterprise archives JBoss Application Server 7 Putting it all together Roadmap Problems You are faced with a lot of Java archives and you don't know how they relate You need

More information

CS Introduction to Computational and Data Science. Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017

CS Introduction to Computational and Data Science. Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017 CS 133 - Introduction to Computational and Data Science Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017 Previous class We have learned the path and file system.

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

Learn Scala for Java Developers

Learn Scala for Java Developers Learn Scala for Java Developers Toby Weston This book is for sale at http://leanpub.com/s4j This version was published on 2017-08-07 This is a Leanpub book. Leanpub empowers authors and publishers with

More information

Site Speed: To Measure Is To Know. Sava Sertov QA Technical Lead ecommera

Site Speed: To Measure Is To Know. Sava Sertov QA Technical Lead ecommera Site Speed: To Measure Is To Know Sava Sertov QA Technical Lead ecommera We want to be faster than our competitors "80-90% of the end-user response time is spent on the front-end. Start there. Someone

More information

GAVIN KING RED HAT CEYLON SWARM

GAVIN KING RED HAT CEYLON SWARM GAVIN KING RED HAT CEYLON SWARM CEYLON PROJECT A relatively new programming language which features: a powerful and extremely elegant static type system built-in modularity support for multiple virtual

More information

Andi Scharfstein, Seminar on Functional Programming 2006

Andi Scharfstein, Seminar on Functional Programming 2006 Andi Scharfstein, Seminar on Functional Programming 2006 Why are we here? [Live Demo of the Orbitz Bug : 1. Visit orbitz.com in a web browser 2. Open multiple flights in multiple windows] 3. Try to book

More information

CSE : Python Programming. Packages (Tutorial, Section 6.4) Announcements. Today. Packages: Concretely. Packages: Overview

CSE : Python Programming. Packages (Tutorial, Section 6.4) Announcements. Today. Packages: Concretely. Packages: Overview Announcements CSE 399-004: Python Programming Lecture 07: Packages, Command-line arguments, and Unit testing February 26, 2007 http://www.seas.upenn.edu/~cse39904/ No homework this week There may be one

More information

10 ways to reduce your tax bill. Amit Nithianandan Senior Search Engineer Zvents Inc.

10 ways to reduce your tax bill. Amit Nithianandan Senior Search Engineer Zvents Inc. 10 ways to reduce your tax bill Amit Nithianandan Senior Search Engineer Zvents Inc. 04-15-2010 Solr Eclipse- Running Apache Solr in Eclipse. Amit Nithianandan Senior Search Engineer Zvents Inc. 04-15-2010

More information