SlideShare a Scribd company logo
Copyright © 2016, Creative Arts & Technologies and others. All rights reserved.
Physikal – JSR 363 and
Kotlin for Clean Energy
Werner Keil
JSR 363 Maintenance Lead
@wernerkeil
October 18, 2017
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
Agenda
1. Introduction
2. Tenkiv Nexus
3. JSR 363
4. Physikal
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
Who am I?
Werner Keil
• Consultant – Coach
• Creative Cosmopolitan
• Open Source Evangelist
• Software Architect
• Spec Lead – JSR363
• Individual JCP Executive Committee Member
[www.linkedin.com/in/catmedia]
Twitter @wernerkeil
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
Save Water
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
Water Crisis
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
The Globe
2.5 billion people across the globe
lack access to clean water.
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
Developing Nations
In places like Afghanistan,
lack of access to water sanitation leads to a
1 in 5 child mortality rate.
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
California
98% of California is experiencing
severe drought, placing major stress
on our water infrastructure.
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
What is Tenkiv Nexus?
The Tenkiv Nexus is a fully modular renewable energy system. It uses heat
from the sun in order to power anything for 1/13th the cost of existing solar
panels and 1/5th the cost of fossil fuels without any subsidies. It’s the
breakthrough the world’s been waiting for that finally enables us to truly
utilize the most abundant source of power available on earth: the sun.
Tenkiv started deployment of the Tenkiv Nexus for water purification, but
over time will replace more and more of the world's dying energy
infrastructure with this new, more powerful, cost-effective, and completely
clean energy nexus.
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
Tenkiv Nexus
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
What is JSR-363?
5,999 miles
A Quantity
A Unit
Brussels
São Paulo
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
Why do we need JSR-363?
There are no specifications or standards for handling units in Java.
The current solution is to use primitives, that don’t provide any Type
Safety.
The errors are difficult to find using unit testing:
Interface and Internationalization (e.g. radian/degree, meters/feet);
Arithmetic operations (e.g. overflow);
Conversion between units (e.g. from same domain);
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
5,999 miles
A Quantity
A Unit
What is the problem, in code?
int distance = 5999; //in miles
float speed = airplane.getSpeed(); //in km/h
System.out.println(“ETA: “ + (distance/speed) + “ h”);
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
What is JSR-363, in code?
Quantity<Length> distance = Quantities.getQuantity(5999,
US.MILE);
Quantity<Speed> airplaneSpeed = getAirplaneSpeed();
Quantity<Time> eta =
(Quantity<Time>)distance.divide(airplaneSpeed);
System.out.println(“ETA: “ + eta.to(Units.HOUR));
ETA: 10.216345960256564 h
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
What is Physikal?
Library providing Kotlin extensions and ease of use functions for Java
Units of Measurement libraries based on JSR-363.
Contains
• Core - Basic Metric units.
• SI-Units - SI units.
• Complete-Units - All units including US or Imperial.
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
What is Physikal, in code?
Create Units
val added = 10.metre + 1.kilo.metre
>> 1010.0 m
val small = 10.metre
val large = 10.kilo.metre
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
What is Physikal, in more code?
Includes all operators
val added = 10.metre + 1.kilo.metre
>> 1010.0 m
val speed = added/10.minute
>> 101 m/min
var aFewSeconds = 5.second
aFewSeconds++
>> 6.0 s
10.peta.watt > 2.watt
>> true
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
What is Physikal, in more code?
Using different units (SI units & other units)
5.gram + 2.pound
>> 912.18474 g
(13.kilo.gram + 20.pound) convertTo STONE
>> 3.47572100600243466674378 st
© 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI
Links
Public JSR-363 mailing list(s) and/or forum(s)
Units-Dev on Google Groups
Units-Users on Google Groups
JSR-363 page: https://jcp.org/en/jsr/detail?id=363…
Project Website: http://unitsofmeasurement.github.io on GitHub
Tenkiv: https://tenkiv.com
Physikal: https://github.com/Tenkiv/Physikal
@YourTwitterHandle#DVXFR14{session hashtag} © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI

More Related Content

PPTX
Presentation to Ministerial Meeting of Global Geothermal Alliance, Florence, ...
PPTX
Global Geothermal Development - An Overview, September 2017
PPTX
Presentation at IIGCE 2017 in Jakarta, Indonesia
PDF
Simulations of Superwind Suppression in Super Star Clusters
PDF
Emission Lines from Superwinds of Super Star Clusters
PDF
Geothermal Energy - Global Development Status
PPTX
Global Geothermal Development, CanGEA Conference, March 2013
PPTX
Eclipse Science F2F 2016 - JSR 363
Presentation to Ministerial Meeting of Global Geothermal Alliance, Florence, ...
Global Geothermal Development - An Overview, September 2017
Presentation at IIGCE 2017 in Jakarta, Indonesia
Simulations of Superwind Suppression in Super Star Clusters
Emission Lines from Superwinds of Super Star Clusters
Geothermal Energy - Global Development Status
Global Geothermal Development, CanGEA Conference, March 2013
Eclipse Science F2F 2016 - JSR 363

What's hot (18)

PPTX
Status of Geothermal Development in Latin America & Caribbean
PDF
Hydrodynamic Simulations and Time-dependent Photoionization Modeling of Starb...
PPTX
nuclear power plant
PDF
Introduction of Post-K development
PDF
Keynote presentation at GEORG Geothermal Workshop, Nov. 24, 2016
PPTX
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
PDF
Non-equilibrium Photoionization and Hydrodynamic Simulations of Starburst-dri...
PPTX
Rob Best - Decision Support for Integrated Urban Infrastructure Planning
PDF
Clean Sky Projects on the More Electric Aircraft
PPT
Phillips Ch10 Ppt 1
PDF
IRJET - A Review on Gravity based Power Generation System
PPTX
Genome-scale Big Data Pipelines
PPTX
VariantSpark - a Spark library for genomics
PPTX
Near realtime wildfire simulation using big data platforms
PDF
Public Lecture Presentation Slides (4.5.2013)
PDF
01 groundwork clean-powerresearch_sandia_2017-05-09
PDF
DCSF 19 Towards Reproducable Climate Research
Status of Geothermal Development in Latin America & Caribbean
Hydrodynamic Simulations and Time-dependent Photoionization Modeling of Starb...
nuclear power plant
Introduction of Post-K development
Keynote presentation at GEORG Geothermal Workshop, Nov. 24, 2016
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
Non-equilibrium Photoionization and Hydrodynamic Simulations of Starburst-dri...
Rob Best - Decision Support for Integrated Urban Infrastructure Planning
Clean Sky Projects on the More Electric Aircraft
Phillips Ch10 Ppt 1
IRJET - A Review on Gravity based Power Generation System
Genome-scale Big Data Pipelines
VariantSpark - a Spark library for genomics
Near realtime wildfire simulation using big data platforms
Public Lecture Presentation Slides (4.5.2013)
01 groundwork clean-powerresearch_sandia_2017-05-09
DCSF 19 Towards Reproducable Climate Research
Ad

Similar to Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017 (20)

PPTX
Physikal - Using Kotlin for Clean Energy - KUG Munich
PDF
HPC Cluster Computing from 64 to 156,000 Cores 
PDF
Cycle Computing Record-breaking Petascale HPC Run
PPTX
Scientific Software: Sustainability, Skills & Sociology
PDF
The Department of Energy's Integrated Research Infrastructure (IRI)
PPTX
The First IoT JSR: Units of Measurement - DevoXX BE 2015
PDF
Agile Systems Engineering & Agile at SKA Scale
PDF
The Salmon Algorithm Spawning with Kubernetes
PPTX
Panel: Building the NRP Ecosystem with the Regional Networks on their Campuses;
PDF
Scilab Conference 2018 - Welcome to the Community
PPTX
JSR 363 - The Answer to Life Science and the Internet of Everything
PDF
NASA Advanced Computing Environment for Science & Engineering
PDF
The ECP Exascale Computing Project
PDF
Cse new graduate_students2011
PDF
Accelerating Time to Science: Transforming Research in the Cloud
PDF
Valencia EMEA Java User Group Summit
PPTX
Utilizing Nautilus and the National Research Platform for Big Data Research a...
PDF
Structural Biology in the Clouds: A Success Story of 10 years
PDF
IGBC2014 - Stephen Selkowitz, Lawrence Berkeley National Laboratory
PDF
Frank Würthwein - NRP and the Path forward
Physikal - Using Kotlin for Clean Energy - KUG Munich
HPC Cluster Computing from 64 to 156,000 Cores 
Cycle Computing Record-breaking Petascale HPC Run
Scientific Software: Sustainability, Skills & Sociology
The Department of Energy's Integrated Research Infrastructure (IRI)
The First IoT JSR: Units of Measurement - DevoXX BE 2015
Agile Systems Engineering & Agile at SKA Scale
The Salmon Algorithm Spawning with Kubernetes
Panel: Building the NRP Ecosystem with the Regional Networks on their Campuses;
Scilab Conference 2018 - Welcome to the Community
JSR 363 - The Answer to Life Science and the Internet of Everything
NASA Advanced Computing Environment for Science & Engineering
The ECP Exascale Computing Project
Cse new graduate_students2011
Accelerating Time to Science: Transforming Research in the Cloud
Valencia EMEA Java User Group Summit
Utilizing Nautilus and the National Research Platform for Big Data Research a...
Structural Biology in the Clouds: A Success Story of 10 years
IGBC2014 - Stephen Selkowitz, Lawrence Berkeley National Laboratory
Frank Würthwein - NRP and the Path forward
Ad

More from Werner Keil (20)

PPTX
Securing eHealth, eGovernment and eBanking with Java - DWX '21
PPTX
OpenDDR and Jakarta MVC - JavaLand 2021
PPTX
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
PPTX
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
PPTX
NoSQL Endgame - Java2Days 2020 Virtual
PPTX
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
PPTX
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
PPTX
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
PPTX
NoSQL: The first New Jakarta EE Specification (DWX 2019)
PPTX
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
PPTX
JNoSQL: The Definitive Solution for Java and NoSQL Databases
PPTX
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
PPTX
Performance Monitoring for the Cloud - Java2Days 2017
PPTX
Java2Days - Security for JavaEE and the Cloud
PPTX
Apache DeviceMap - Web-Dev-BBQ Stuttgart
PPTX
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
PPTX
JSR 354: Money and Currency API - Short Overview
PPTX
JavaLand: Quantified Social - Fitness-Geräte und -Portale mit Agorava
PPTX
Enterprise 2.0 with Open Source Frameworks like Agorava
PPTX
JSR 375 - Have you seen Java EE Security API lately? - codemotion Tel Aviv 2015
Securing eHealth, eGovernment and eBanking with Java - DWX '21
OpenDDR and Jakarta MVC - JavaLand 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 Virtual
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Performance Monitoring for the Cloud - Java2Days 2017
Java2Days - Security for JavaEE and the Cloud
Apache DeviceMap - Web-Dev-BBQ Stuttgart
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
JSR 354: Money and Currency API - Short Overview
JavaLand: Quantified Social - Fitness-Geräte und -Portale mit Agorava
Enterprise 2.0 with Open Source Frameworks like Agorava
JSR 375 - Have you seen Java EE Security API lately? - codemotion Tel Aviv 2015

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Cloud computing and distributed systems.
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
cuic standard and advanced reporting.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
Teaching material agriculture food technology
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Electronic commerce courselecture one. Pdf
Building Integrated photovoltaic BIPV_UPV.pdf
sap open course for s4hana steps from ECC to s4
NewMind AI Weekly Chronicles - August'25 Week I
Review of recent advances in non-invasive hemoglobin estimation
The Rise and Fall of 3GPP – Time for a Sabbatical?
Agricultural_Statistics_at_a_Glance_2022_0.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Per capita expenditure prediction using model stacking based on satellite ima...
Cloud computing and distributed systems.
Mobile App Security Testing_ A Comprehensive Guide.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
cuic standard and advanced reporting.pdf
The AUB Centre for AI in Media Proposal.docx
Teaching material agriculture food technology
Spectroscopy.pptx food analysis technology
Understanding_Digital_Forensics_Presentation.pptx
Electronic commerce courselecture one. Pdf

Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017

  • 1. Copyright © 2016, Creative Arts & Technologies and others. All rights reserved. Physikal – JSR 363 and Kotlin for Clean Energy Werner Keil JSR 363 Maintenance Lead @wernerkeil October 18, 2017
  • 2. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI Agenda 1. Introduction 2. Tenkiv Nexus 3. JSR 363 4. Physikal
  • 3. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI Who am I? Werner Keil • Consultant – Coach • Creative Cosmopolitan • Open Source Evangelist • Software Architect • Spec Lead – JSR363 • Individual JCP Executive Committee Member [www.linkedin.com/in/catmedia] Twitter @wernerkeil
  • 4. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI Save Water
  • 5. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI Water Crisis
  • 6. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI The Globe 2.5 billion people across the globe lack access to clean water.
  • 7. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI Developing Nations In places like Afghanistan, lack of access to water sanitation leads to a 1 in 5 child mortality rate.
  • 8. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI California 98% of California is experiencing severe drought, placing major stress on our water infrastructure.
  • 9. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI What is Tenkiv Nexus? The Tenkiv Nexus is a fully modular renewable energy system. It uses heat from the sun in order to power anything for 1/13th the cost of existing solar panels and 1/5th the cost of fossil fuels without any subsidies. It’s the breakthrough the world’s been waiting for that finally enables us to truly utilize the most abundant source of power available on earth: the sun. Tenkiv started deployment of the Tenkiv Nexus for water purification, but over time will replace more and more of the world's dying energy infrastructure with this new, more powerful, cost-effective, and completely clean energy nexus.
  • 10. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI Tenkiv Nexus
  • 11. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI What is JSR-363? 5,999 miles A Quantity A Unit Brussels São Paulo
  • 12. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI Why do we need JSR-363? There are no specifications or standards for handling units in Java. The current solution is to use primitives, that don’t provide any Type Safety. The errors are difficult to find using unit testing: Interface and Internationalization (e.g. radian/degree, meters/feet); Arithmetic operations (e.g. overflow); Conversion between units (e.g. from same domain);
  • 13. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI 5,999 miles A Quantity A Unit What is the problem, in code? int distance = 5999; //in miles float speed = airplane.getSpeed(); //in km/h System.out.println(“ETA: “ + (distance/speed) + “ h”);
  • 14. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI What is JSR-363, in code? Quantity<Length> distance = Quantities.getQuantity(5999, US.MILE); Quantity<Speed> airplaneSpeed = getAirplaneSpeed(); Quantity<Time> eta = (Quantity<Time>)distance.divide(airplaneSpeed); System.out.println(“ETA: “ + eta.to(Units.HOUR)); ETA: 10.216345960256564 h
  • 15. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI What is Physikal? Library providing Kotlin extensions and ease of use functions for Java Units of Measurement libraries based on JSR-363. Contains • Core - Basic Metric units. • SI-Units - SI units. • Complete-Units - All units including US or Imperial.
  • 16. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI What is Physikal, in code? Create Units val added = 10.metre + 1.kilo.metre >> 1010.0 m val small = 10.metre val large = 10.kilo.metre
  • 17. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI What is Physikal, in more code? Includes all operators val added = 10.metre + 1.kilo.metre >> 1010.0 m val speed = added/10.minute >> 101 m/min var aFewSeconds = 5.second aFewSeconds++ >> 6.0 s 10.peta.watt > 2.watt >> true
  • 18. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI What is Physikal, in more code? Using different units (SI units & other units) 5.gram + 2.pound >> 912.18474 g (13.kilo.gram + 20.pound) convertTo STONE >> 3.47572100600243466674378 st
  • 19. © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI Links Public JSR-363 mailing list(s) and/or forum(s) Units-Dev on Google Groups Units-Users on Google Groups JSR-363 page: https://jcp.org/en/jsr/detail?id=363… Project Website: http://unitsofmeasurement.github.io on GitHub Tenkiv: https://tenkiv.com Physikal: https://github.com/Tenkiv/Physikal
  • 20. @YourTwitterHandle#DVXFR14{session hashtag} © 2017 Creative Arts & Technologies and others. All rights reserved.#Physikal @UnitAPI