Demystifying .NET Standard and .NET Core Presented by Steve Ives Demystifying .NET Standard and .NET Core • Wait, Isn’T .NET Just … .NET?

Total Page:16

File Type:pdf, Size:1020Kb

Demystifying .NET Standard and .NET Core Presented by Steve Ives Demystifying .NET Standard and .NET Core • Wait, Isn’T .NET Just … .NET? Demystifying .NET Standard and .NET Core Presented by Steve Ives Demystifying .NET Standard and .NET Core • Wait, isn’t .NET just … .NET? • .NET Framework • Websites, services, desktop apps, and more on Windows • Xamarin / Mono • A .NET implementation for running apps on all the major mobile operating systems • .NET Core • A cross-platform .NET implementation for websites, servers, and console apps on Windows, Linux, and macOS • .NET Standard • A base set of APIs that are common to all .NET implementations .NET Framework • In the beginning (well, since 2000) there was the .NET Framework • Extensive, powerful, and flexible • Windows only • Bloated and slow compared to present day .NET alternatives • Still a GREAT solution for many workloads • Existing applications already in production • Technologies not available in .NET Core • WinForms, WPF, WWF, etc. • 3rd party libraries/packages not in .NET Core .NET Spreads Its Wings • Mono (since 2001) • Cross-platform .NET CLR, Framework, and C# compiler • Open source; led by Ximian, Novell, (Attachmate), Xamarin, and now Microsoft and the .NET Foundation • Most Linux platforms, BSD, macOS, Solaris, and Windows • Xamarin (since 2011) • Continue Mono development (post Attachmate) and add commercial products / tooling • Android, iOS, watchOS, macOS • Xamarin Studio (Visual Studio for Mac) • Purchased by Microsoft in 2016 Portable Class Libraries • PCLs emerged as new platforms began Windows iOS Android to adopt .NET App App App • Windows Phone • Linux (Mono) Portable Class Library • Android, iOS, macOS (Xamarin) (Common Code) • Develop & deploy code in a library that works on multiple platforms • Each platform has different capabilities • Lowest common denominator • Selecting more platforms resulted in fewer available APIs .NET Core • General-purpose development platform maintained by Microsoft and the .NET community on GitHub • Open source • Cross-platform, supporting Windows, Linux, and macOS • Can be used in device, service, cloud, and embedded/IoT scenarios • Performance & scalability • Cost savings; less hardware / VMs required • Especially useful for micro services & containers • Significantly smaller footprint and higher performance than .NET Framework .NET Core Characteristics • Cross-platform • Command-line tools • Runs on Windows, Linux, and macOS • All product scenarios can be • Can be ported to other OSs exercised at the command line • Supported OSs, CPUs, & application scenarios will grow over time, from • Compatible with .NET Framework, • Microsoft Xamarin, and Mono • Other organizations • Individuals • Via the .NET Standard • Flexible deployment • Open source • Deployed with your app • MIT and Apache 2 licenses • Or installed side by side • A .NET Foundation project • User or machine scope • Can be used in Docker containers • Supported by Microsoft Included with .NET Core … Not Much! • Minimal framework libraries • .NET Core runtime • Primitive types, such as bool and int • Type system • Collections such as Generic List and • Assembly loading Generic Dictionary • Garbage collector • Utility types, such as HttpClient & • Native interop FileStream • Other basic services • Data types such as DataSet and DbSet • App host program • dotnet.exe • SDK tools and language compilers • Launches .NET Core apps • Roslyn (C# and Visual Basic) • Selects and hosts the runtime • F# • Provides assembly loading • Launches the app • Also launches SDK tools Where’s All the Cool Stuff? • Beyond the very basics, everything is an add-on • NuGet packages • Really cool • You only reference what you need • Everything is open source (GitHub) • Less resources used (except disk) • Lighter and faster • Really frustrating • Knowing what’s out there • Constantly moving target • No central point for documentation .NET Core Workloads • Out of the box .NET Core includes a single application model • Console apps • Command line tools • Hosting local services • Other Frameworks built on top of .NET Core • ASP.NET Core • Windows 10 UWP • Xamarin.Forms (when targeting UWP) • EF Core .NET Core Version History • Things are moving FAST! • .NET Core 1.0 • June 27, 2016 • .NET Core 1.1 • November 16, 2016 • .NET Core 2.0 • August 14, 2017 • .NET Core 2.1 • May 30, 2018 • Point releases (2.1.1, 2.1.2, etc.) every 1 to 2 months .NET Core 2.1 Platform & Chip Support Platforms Chips • Windows Client: 7, 8.1, 10 (1607+) • X64 Windows • Windows Server: 2008 R2 SP1+ • • Linux • macOS: 10.12+ • macOS • RHEL: 6+ • X86 • Fedora: 26+ • Windows • Ubuntu: 14.04+ • ARM32 • Linux (Ubuntu 18.04+, Debian 9+) • Debian: 8+ • SLES: 12+ • openSUSE: 42.3+ • Synergy support is currently Windows only (more later) • Alpine: 3.7+ Developing with .NET Core • IDEs • Visual Studio • 15.8 or later for Synergy .NET Core • Avoid 15.8.2, it was REALLY BAD! • Visual Studio Code • Windows, Linux, and MacOS • Visual Studio for Mac • Formerly Xamarin Studio • Languages • C# • Visual Basic • F# • Synergy .NET • Everything can be done at the command line! Deploying .NET Core Apps • .NET Core Framework can be deployed • Bundled with an app (default) • Per user install • Machine install • App distribution created using dotnet publish • Exports app binaries and content files • Dependencies (assemblies from NuGet packages) • .NET Core assemblies and runtime • Zip and deploy to target systems • Or build an installer as for any other app • InstallShield, WiX, etc. Hosting .NET Core Apps • Console app • Command line utilities • Self-hosted services (development, or run as scheduled task) • Windows service • Permanent production services • IIS hosting • Web sites or services • Install .NET Core Hosting Bundle • Configure application pool for “No managed code” • Azure AppService • Specify license server via SYNERGYLICENSESERVER=name_or_ip • Docker container • Supported by .NET Core, but currently untested with Synergy • Specify license server as above Current “Flavors” of .NET • Three flavors of .NET .NET Framework .NET Core Xamarin (Mono) • Each has its own BCL • Developers must know about and deal with differences and compatibility issues .NET Standard • A set of APIs that ALL .NET implementations must adhere to • A contract that any new .NET implementations must implement • Advantages • Simplified development • Improved code reuse • Better portability • Easier management, etc. • .NET Standard class libraries will work across all .NET platforms .NET Standard Versioning Rules Additive • .NET Standard versions are logically concentric circles • Higher versions incorporate all APIs from previous versions • No breaking changes allowed between versions Immutable • Once shipped, .NET Standard versions are frozen New APIs • First available in a specific implementation (e.g., .NET Core) • .NET Standard review board decides whether new API should become part of .NET Standard in a later version .NET Standard vs. Portable Class Libraries • .NET Standard supersedes PCL • Improves on the PCL experience by curating a standard BCL • Establishes greater uniformity across .NET implementations .NET Standard Versions • The higher the version, the more APIs are available • The lower the version, the more platforms implement it Synergy Support for .NET Standard • Initial support & project template in 10.3.3e • Class Library (.NET Standard) • Official support in 10.3.3f • Supported anywhere that Synergy PCLs are supported • Use .NET Standard over PCL if possible • Less platform conditionals • More future-proof • Better performance Synergy Support for .NET Core • Initial support & project templates in 10.3.3e • Class Library (.NET Core) • Console App (.NET Core) • Official support in 10.3.3f • Deployment currently supported on Windows. • Linux support possible, but not currently planned • Participate and vote on the Ideas forum • “Support Synergy .NET Core code on Linux” (9/25/2018) • Recommendation • If you’re Windows only and can leverage .NET Core for better performance, do it! Synergy Licensing with .NET Standard & .NET Core • .NET Standard produces class libraries • Runs in the context of .NET Framework or .NET Core • .NET Core Licensing • If Synergy is installed • License server configured during installation • If Synergy is not installed • Environment variable SYNERGYLICENSESERVER=dns_name_or_ip • Makes it possible to host Synergy .NET code in “real” cloud services like Azure App Service Choosing the Right Solution .NET Core .NET Standard • Command line utilities • Class libraries to be shared across • E.g., CodeGen different applications • Long-running processes running as console apps or services • Web applications • Web services • E.g., Harmony Core services .NET Core 3 Roadmap .NET Core 2.2 (Q4 2018) • Main focus is development tooling improvements .NET Core 3.0 (2019) • Adding Desktop, IoT, and AI workloads • WinForms & WPF apps (on Windows) • XAML Islands (host UWP in WinForms & WPF apps) • XAML Controls (UWP browser & media controls for WinForms & WPF) • Utility available to prepare for migration • Analyze current app binaries • Report APIs supported and unsupported in .NET Core • .NET Core App Builder utility • Bundle app and .NET core as a single self-contained .exe • Precompiled, fast startup • Access to all Windows 10 APIs For Additional Information .NET Documentation https://docs.microsoft.com/en-us/dotnet/welcome .NET Blog https://blogs.msdn.microsoft.com/dotnet Demystifying .NET Standard and .NET Core Who has the first question?.
Recommended publications
  • Building Openjfx
    Building OpenJFX Building a UI toolkit for many different platforms is a complex and challenging endeavor. It requires platform specific tools such as C compilers as well as portable tools like Gradle and the JDK. Which tools must be installed differs from platform to platform. While the OpenJFX build system was designed to remove as many build hurdles as possible, it is necessary to build native code and have the requisite compilers and toolchains installed. On Mac and Linux this is fairly easy, but setting up Windows is more difficult. If you are looking for instructions to build FX for JDK 8uNNN, they have been archived here. Before you start Platform Prerequisites Windows Missing paths issue Mac Linux Ubuntu 18.04 Ubuntu 20.04 Oracle Enterprise Linux 7 and Fedora 21 CentOS 8 Common Prerequisites OpenJDK Git Gradle Ant Environment Variables Getting the Sources Using Gradle on The Command Line Build and Test Platform Builds NOTE: cross-build support is currently untested in the mainline jfx-dev/rt repo Customizing the Build Testing Running system tests with Robot Testing with JDK 9 or JDK 10 Integration with OpenJDK Understanding a JDK Modular world in our developer build Adding new packages in a modular world First Step - development Second Step - cleanup Before you start Do you really want to build OpenJFX? We would like you to, but the latest stable build is already available on the JavaFX website, and JavaFX 8 is bundled by default in Oracle JDK 8 (9 and 10 also included JavaFX, but were superseded by 11, which does not).
    [Show full text]
  • Ironpython in Action
    IronPytho IN ACTION Michael J. Foord Christian Muirhead FOREWORD BY JIM HUGUNIN MANNING IronPython in Action Download at Boykma.Com Licensed to Deborah Christiansen <[email protected]> Download at Boykma.Com Licensed to Deborah Christiansen <[email protected]> IronPython in Action MICHAEL J. FOORD CHRISTIAN MUIRHEAD MANNING Greenwich (74° w. long.) Download at Boykma.Com Licensed to Deborah Christiansen <[email protected]> For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact Special Sales Department Manning Publications Co. Sound View Court 3B fax: (609) 877-8256 Greenwich, CT 06830 email: [email protected] ©2009 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15% recycled and processed without the use of elemental chlorine.
    [Show full text]
  • AAS Worldwide Telescope: Seamless, Cross-Platform Data Visualization Engine for Astronomy Research, Education, and Democratizing Data
    AAS WorldWide Telescope: Seamless, Cross-Platform Data Visualization Engine for Astronomy Research, Education, and Democratizing Data The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters Citation Rosenfield, Philip, Jonathan Fay, Ronald K Gilchrist, Chenzhou Cui, A. David Weigel, Thomas Robitaille, Oderah Justin Otor, and Alyssa Goodman. 2018. AAS WorldWide Telescope: Seamless, Cross-Platform Data Visualization Engine for Astronomy Research, Education, and Democratizing Data. The Astrophysical Journal: Supplement Series 236, no. 1. Published Version https://iopscience-iop-org.ezp-prod1.hul.harvard.edu/ article/10.3847/1538-4365/aab776 Citable link http://nrs.harvard.edu/urn-3:HUL.InstRepos:41504669 Terms of Use This article was downloaded from Harvard University’s DASH repository, and is made available under the terms and conditions applicable to Open Access Policy Articles, as set forth at http:// nrs.harvard.edu/urn-3:HUL.InstRepos:dash.current.terms-of- use#OAP Draft version January 30, 2018 Typeset using LATEX twocolumn style in AASTeX62 AAS WorldWide Telescope: Seamless, Cross-Platform Data Visualization Engine for Astronomy Research, Education, and Democratizing Data Philip Rosenfield,1 Jonathan Fay,1 Ronald K Gilchrist,1 Chenzhou Cui,2 A. David Weigel,3 Thomas Robitaille,4 Oderah Justin Otor,1 and Alyssa Goodman5 1American Astronomical Society 1667 K St NW Suite 800 Washington, DC 20006, USA 2National Astronomical Observatories, Chinese Academy of Sciences 20A Datun Road, Chaoyang District Beijing, 100012, China 3Christenberry Planetarium, Samford University 800 Lakeshore Drive Birmingham, AL 35229, USA 4Aperio Software Ltd. Headingley Enterprise and Arts Centre, Bennett Road Leeds, LS6 3HN, United Kingdom 5Harvard Smithsonian Center for Astrophysics 60 Garden St.
    [Show full text]
  • Opening Presentation
    Mono Meeting. Miguel de Icaza [email protected] October 24, 2006 Mono, Novell and the Community. Mono would not exist without the community: • Individual contributors. • Companies using Mono. • Organizations using Mono. • Companies using parts of Mono. • Google Summer of Code. Introductions. 2 Goals of the Meeting. A chance to meet. • Most of the Novell/Mono team is here. • Many contributors are here. • Various breaks to talk. Talk to others! • Introduce yourself, ask questions. Talk to us! • Frank Rego, Mono's Product Manager is here. • Tell us what you need in Mono. • Tell us about how you use Mono. 3 Project Status Goals Originally: • Improve our development platform on Linux. As the community grew: • Expand to support Microsoft APIs. As Mono got more complete: • Provide a complete cross platform runtime. • Allow Windows developers to port to Linux. 5 Mono Stacks and Goals. MySMQySQLL//PPosstgtrgesrsess EvEovolluutitioonn# # ASP.NET Novell APIs: MMoozzillala Novell iFolder iFolder, LDAP, Identity ADO.NET ApAapchachee MMonoono DesktoGpTK#: GTK# OpNoevenlOl LfDfAiPce GCneomceil# Windows.Forms JavaJa vCa oCommpaatitbilbitiylity Google APIs Microsoft Compatibility Libraries Mono Libraries Mono Runtime (Implementation of ECMA #335) 6 Platforms, CIL, Code Generation. 7 API space Mono 1.0: July 2004 “T-Bone” Mono 1.2: November 2006 “Rump steak” Mono 1.2 bits. Reliability and C# 2.0, .NET 2.0 scalability: • Complete. • With VM support. • ZenWorks and iFolder • Some 2.0 API support. pushed Mono on the server. • IronPython works. • xsp 1.0: 8 request/second. • xsp 1.2: 250 Debugger: request/second. • x86 and x86-64 debugger. GUI • CLI-only, limited in scenarios (no xsp).
    [Show full text]
  • XAMARIN.FORMS for BEGINNERS ABOUT ME Tom Soderling Sr
    XAMARIN.FORMS FOR BEGINNERS ABOUT ME Tom Soderling Sr. Mobile Apps Developer @ Polaris Industries; Ride Command Xamarin.Forms enthusiast DevOps hobbyist & machine learning beginner 4 year XCMD Blog: https://tomsoderling.github.io GitHub: https://github.com/TomSoderling Twitter: @tomsoderling How Deep Pickster Spaniel Is It? THE PLAN • Introduction: Why, What, and When • Overview of Xamarin.Forms Building Blocks • Building a Xamarin.Forms UI in XAML • Data Binding • View Customization • Next Steps & Resources • Please ask any questions that come up! THE PLAN • Introduction: Why, What, and When • Overview of Xamarin.Forms Building Blocks • Building a Xamarin.Forms UI in XAML • Data Binding • View Customization • Next Steps & Resources INTRODUCTION : WHY • WET: the soggy state of mobile app development • Write Everything Twice INTRODUCTION : WHY • WET: the soggy state of mobile app development • Write Everything Twice INTRODUCTION : WHAT • What is Xamarin.Forms? • Cross-platform UI framework • Platforms: • Mobile: iOS 8 and up, Android 4.0.3 (API 15) • Desktop: Windows 10 UWP, MacOS, WFP • Samsung Smart Devices: Tizen INTRODUCTION : WHAT • Brief History: • May 2011, Xamarin founded • MonoTouch and Mono for Android using MonoDevelop IDE • February 2013, release of Xamarin 2.0 • Xamarin Studio IDE & integration with Visual Studio • Renamed to Xamarin.Android and Xamarin.iOS • May 2014, Xamarin.Forms released as part of Xamarin 3 • February 24 2016, Xamarin acquired by Microsoft • Owned, actively developed on, and supported by Microsoft • Free
    [Show full text]
  • Web API and Microsoft Azure
    [ 1 ] www.it-ebooks.info Building Web Services with Microsoft Azure Quickly develop scalable, REST-based applications or services and learn how to manage them using Microsoft Azure Alex Belotserkovskiy Stephen Kaufman Nikhil Sachdeva professional expertise distilled PUBLISHING BIRMINGHAM - MUMBAI www.it-ebooks.info Building Web Services with Microsoft Azure Copyright © 2015 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: May 2015 Production reference: 1220515 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78439-837-8 www.packtpub.com www.it-ebooks.info Credits Authors Copy Editors Alex Belotserkovskiy Pranjali
    [Show full text]
  • SME: a High Productivity FPGA Tool for Software Programmers
    1 SME: A High Productivity FPGA Tool for Software Programmers Carl-Johannes Johnsen∗, Alberte Thegler∗, Kenneth Skovhede∗, and Brian Vinter† {∗Niels Bohr Institute, University of Copenhagen, † Faculty of Technical Sciences, Aarhus University} Abstract—For several decades, the CPU has been the standard model to use in the majority of computing. While the CPU does excel in some areas, heterogeneous computing, such as reconfigurable hardware, is showing increasing potential in areas like parallelization, performance, and power usage. This is especially prominent in problems favoring deep pipelining or tight latency requirements. However, due to the nature of these problems, they can be hard to program, at least for software developers. Synchronous Message Exchange (SME) is a runtime environment that allows development, testing and verification of hardware designs for FPGA devices in C#, with access to modern debugging and code features. The goal is to create a framework for software developers to easily implement systems for FPGA devices without having to obtain heavy hardware programming knowledge. This article presents a short introduction to the SME model as well as new updates to SME. Lastly, a selection of student projects and examples will be presented in order to show how it is possible to create quite complex structures in SME, even by students with no hardware experience. Index Terms—Reconfigurable hardware, Modeling techniques, Simulation, Verification, Hardware description languages, Computers and Education ✦ 1 INTRODUCTION The use of CPUs for programming is an incredibly flexi- simpler than other methods [4] and initial results also show ble approach that allows the same hardware to be deployed that the SME model allows students familiar with sequential in many different scenarios, and also enables seamless up- programming to pick up the parallelism [5].
    [Show full text]
  • End to End Azure and Xamarin.Forms
    End-to-End Native Mobile Apps with C# and Xamarin James Montemagno Developer Evangelist, Xamarin [email protected] motzcod.es @JamesMontemagno DESIGN – DEVELOP - INTEGRATE TEST MONITOR LEARN iOS C# UI Android C# UI Windows C# UI Shared C# Mobile Shared C# codebase • 100% native API access • High performance Microsoft.Phone Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices System.Net System System.IO System.Linq System.Xml System.Data System.Windows System.Numerics System.Core System.ServiceModel MapKit UIKit iBeacon CoreGraphics CoreMotion System.Net System System.IO System.Linq System.Xml System.Data System.Windows System.Numerics System.Core System.ServiceModel Text-to-speech ActionBar Printing Framework Renderscript NFC System.Net System System.IO System.Linq System.Xml System.Data System.Windows System.Numerics System.Core System.ServiceModel .NET IL + JIT Compile C# and Link .APK Runs Natively Bindings Xamarin.iOS does full Ahead Of Time Xamarin.Android takes advantage of (AOT) compilation to produce an ARM Just In Time (JIT) compilation on the binary for Apple’s App Store. Android device. • • • • • ✓Always Up-to-Date • • • • • • iOS C# UI Android C# UI Windows C# UI Shared UI Code Shared C# Backend Shared C# Backend Traditional Xamarin With Xamarin.Forms: Approach More code-sharing, all native ✓ 40+ Pages, layouts, and controls (Build from code behind or XAML) Shared UI Code ✓ Two-way data binding ✓ Navigation Shared C# Backend ✓ Animation API ✓ Dependency Service ✓ Messaging Center Pages Content MasterDetail
    [Show full text]
  • Microsoft Mobility and Security for Enterprise Architects
    Microsoft Mobility What IT architects need to know about mobility with Microsoft cloud services and Security for and platforms Enterprise Architects This topic is 1 of 4 in a series 1 2 3 4 Enable productivity and collaboration from anywhere while protecting data and applications Microsoft provides broad support for mobile productivity with support for applications and rich features for controlling access to your organization s assets. Microsoft mobile apps for business Developing your own mobile apps Microsoft produces a number of business class mobile apps for Use the Mobile Apps feature of Azure App Service to build engaging productivity. See page two for featured applications. iOS, Android, and Windows apps or cross-platform Xamarin or Cordova (Phonegap) apps for your customers and business. With an Office 365 for business subscription, you get mobile apps that help you get more done from your favorite device while keeping your Broadcast push with customer data secured. Use Intune Mobile Application Management to apply segmentation additional security when using these mobile applications. Enterprise single sign-on with Active Directory Autoscale to support millions of devices Skype for Business, Yammer, OneNote, and more apps for business Apps can work offline and sync are also available. Get the full list of apps and learn how to set them Social integration with Facebook, up on your devices. Twitter, Google Dynamics CRM also includes apps for phones and tablets. Cloud App Security for SaaS apps Mobile access to on-prem applications Microsoft Cloud App Security is a comprehensive service that provides Microsoft Azure Active Directory Application Proxy lets you publish deeper visibility, comprehensive controls, and improved protection for applications, such as web-based apps inside your private network and your cloud applications.
    [Show full text]
  • PETER STEPHENS Current Technical Pursuits: Agile Practices, Cloud
    PETER STEPHENS 512.778.6322 / cell 865.567.7173 1955 County Road 202 www.diligentsoftware.com/resume Liberty Hill, TX 78642 [email protected] Current Technical Pursuits: Agile Practices, Cloud Computing and Amazon Web Services, Cloud Automation, ASP.NET MVC, REST based web services, JavaScript and jQuery CURRENT SKILLS • Microsoft.NET Framework versions 1.0 – 4.5 » C#, LINQ, XML , Networking, Regular Expressions, Multithreading , Task Parallel Library, Encryption, etc. » Websites: ASP.NET WebForms and MVC » Thick Client: Windows Presentation Foundation (WPF) » Web Services: WCF, Web API (REST and RPC) , and OData • Cloud Computing » Amazon Web Services : EC2 , S3 , RDS , SQS, SNS, Cloud Formation, Route 53, etc. » Rackspace Cloud • Automation : Powershell, MSBuild, and T4 templating • Agile Practices : Continuous Integration with Team City and CruiseControl.NET, Test Driven Development (TDD ), NUnit, Rhino Mocks, MOQ, Autofac, and ReSharper • Microsoft SQL Server versions 7 – 2008. Extensive use of T-SQL , C# stored procedures, C# functions, management and database optimization • HTML , CSS , JavaScript , jQuery , HTTP, Web Design, SEO , and Microsoft Expression Studio, Report Viewer Control based RDLC reports • Domain Specific Languages: Irony • Deployment: WIX , InstallShield, and WebDeploy • Source Control : Git and Mercurial, Beyond Compare, KDIFF OPEN SOURCE AND SOCIAL • Stack Overflow: http://stackoverflow.com/users/72860/peter-stephens • Twitter: https://twitter.com/#!/peterastephens • Bitbucket: https://bitbucket.org/pstephens/
    [Show full text]
  • Licensing Information User Manual Release 9.1 F13415-01
    Oracle® Hospitality Cruise Fleet Management Licensing Information User Manual Release 9.1 F13415-01 August 2019 LICENSING INFORMATION USER MANUAL Oracle® Hospitality Fleet Management Licensing Information User Manual Version 9.1 Copyright © 2004, 2019, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error- free. If you find any errors, please report them to us in writing. If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
    [Show full text]
  • Seeing the Sky Visualization & Astronomers
    Seeing the Sky Visualization & Astronomers Alyssa A. Goodman Harvard Smithsonian Center for Astrophysics & Radcliffe Institute for Advanced Study @aagie WorldWide Telescope Gm1m2 F= gluemultidimensional data exploration R2 Cognition “Paper of the Future” Language* Data Pictures Communication *“Language” includes words & math Why Galileo is my Hero Explore-Explain-Explore Notes for & re-productions of Siderius Nuncius 1610 WorldWide Telescope Galileo’s New Order, A WorldWide Telescope Tour by Goodman, Wong & Udomprasert 2010 WWT Software Wong (inventor, MS Research), Fay (architect, MS Reseearch), et al., now open source, hosted by AAS, Phil Rosenfield, Director see wwtambassadors.org for more on WWT Outreach WorldWide Telescope Galileo’s New Order, A WorldWide Telescope Tour by Goodman, Wong & Udomprasert 2010 WWT Software Wong (inventor, MS Research), Fay (architect, MS Reseearch), et al., now open source, hosted by AAS, Phil Rosenfield, Director see wwtambassadors.org for more on WWT Outreach Cognition “Paper of the Future” Language* Data Pictures Communication *“Language” includes words & math enabled by d3.js (javascript) outputs d3po Cognition Communication [demo] [video] Many thanks to Alberto Pepe, Josh Peek, Chris Beaumont, Tom Robitaille, Adrian Price-Whelan, Elizabeth Newton, Michelle Borkin & Matteo Cantiello for making this posible. 1610 4 Centuries from Galileo to Galileo 1665 1895 2009 2015 WorldWide Telescope Gm1m2 F= gluemultidimensional data exploration R2 WorldWide Telescope gluemultidimensional data exploration WorldWide Telescope gluemultidimensional data exploration Data, Dimensions, Display 1D: Columns = “Spectra”, “SEDs” or “Time Series” 2D: Faces or Slices = “Images” 3D: Volumes = “3D Renderings”, “2D Movies” 4D:4D Time Series of Volumes = “3D Movies” Data, Dimensions, Display Spectral Line Observations Loss of 1 dimension Mountain Range No loss of information Data, Dimensions, Display mm peak (Enoch et al.
    [Show full text]