In 1999, NASA lost the $125 million Mars Climate Orbiter as it went into orbital insertion. Due to a mismatch between US customary and SI units of measurements in one of the APIs, the spacecraft came too close to the planet, passed through the upper atmosphere and disintegrated. Sadly, this hasn’t been the only instance where a mismatch between units of measurements had catastrophic consequences, but it’s certainly one of the most spectacular and expensive ones.
How could this happen? The bad news: if you use primitive types to handle quantities in your code, due to the same practice at best, you’ve codified the unit in a variable name or database field, e.g. calling it lengthInMetres. Otherwise, you’re only relying on convention, just like Lockheed Martin and NASA did.
Join this talk to learn how JSR 385 can help you avoid $125 million mistakes, how it applies the 2019 redefinition of SI base units, and discover the immeasurable world of dimensions, units and quantities.
With IoT it’s all about things and sensors. And when representing a temperature, for example, we normally have it as a float. But is this float in Celsius? Kelvin? This is one of the problems JSR 363 wants to solve: have all “real world” value and unit data represented in a standard way. This JSR is also very suitable for scientific applications, where data representation, conversion, and formatting are very important. In this session, you’ll see how developers as well as platform providers can leverage this JSR, coding a smart gas pump that reports its values by using Java standards. Come to meet JSR 363, Units of Measurement.
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayWerner Keil
In 1999, NASA lost the $125 million Mars Climate Orbiter as it went into orbital insertion. Due to a mismatch between US customary and SI units of measurements in one of the APIs, the spacecraft came too close to the planet, passed through the upper atmosphere and disintegrated. Sadly, this hasn’t been the only instance where a mismatch between units of measurements had catastrophic consequences, but it’s certainly one of the most spectacular and expensive ones.
How could this happen? The bad news: if you use primitive types to handle quantities in your code, due to the same practice at best, you’ve codified the unit in a variable name or database field, e.g. calling it lengthInMetres. Otherwise, you’re only relying on convention, just like Lockheed Martin and NASA did.
Join this talk to learn how JSR 385 can help you avoid $125 million mistakes, how it applies the 2019 redefinition of SI base units, and discover the immeasurable world of dimensions, units and quantities.
Indroductory slides for the Adopt-a-JSR Day by Utrecht JUG
The First IoT JSR: Units of Measurement - DevoXX BE 2015Werner Keil
Come to meet JSR 363 - Units of Measurement! It's the first JSR targeted to help you work with IoT devices, tackling sensors and measurements in a standard way. We all know that when representing a temperature, for example, we normally have it as a float. But, is this float in Celsius? Fahrenheit? Kelvin? This is one of the problems this JSR wants to solve: have all "real world" value and unit data represented in a standard way. This JSR is also very suitable for scientific applications, where data representation, conversion and formatting is very important.
In this presentation, we'll see how both developers and platform providers can leverage this JSR, coding for a smart home or smart gas pump that reports its values in a standard way. As well as other use cases and actual embedded devices like Raspberry Pi or Intel Edison.
And this JSR is still in the making. Be first hand witness of the JSR 363 Public Draft (due around Nov) and learn how YOU can get involved and help Java grow in the IoT space! We'll explore how JSRs work and how you can get involved in the JCP and work with this and other JSRs.
Physikal - Using Kotlin for Clean Energy - KUG MunichWerner Keil
Tenkiv developed a new kind of solar power system focused on cost-effectiveness and scalability in need of data acquisition system to collect and analyze data from different sensors throughout the cloud. Because the system may have different energy conversion devices (modules), different number of thermal circuits, collectors, etc. the control software has to be very adaptable to match these varying configurations.
Therefore the JVM was an ideal choice. The control software "Nexus Brain" is written in Kotlin. It heavily uses Units of Measurement, so Tenkiv created Physikal, a Kotlin extension to the Java 8 implementation of JSR 363. A project also used by others, for example in collaboration with NASA or ETH Zurich.
This session will give a brief overview of how Tenkiv and Nexus Brain use Kotlin and Physikal/JSR 363 to calculate the optimal usage of alternate energy sources and control solar power systems for making clean water anywhere from Flint Michigan to Afghanistan or Cape Town.
The SpaceDrive Project - First Results on EMDrive and Mach-Effect ThrustersSérgio Sacani
Propellantless propulsion is believed to be the best option for interstellar travel. However, photon rockets or solar sails have thrusts so low that maybe only nano-scaled spacecraft may reach the next star within our lifetime using very high-power laser beams. Following into the footsteps of earlier breakthrough propulsion programs, we are investigating different concepts based on non-classical/revolutionary propulsion ideas that claim to be at least an order of magnitude more efficient in producing thrust compared to photon rockets. Our intention is to develop an excellent research infrastructure to test new ideas and measure thrusts and/or artefacts with high confidence to determine if a concept works and if it does how to scale it up. At present, we are focusing on two possible revolutionary concepts: The EMDrive and the Mach-Effect Thruster. The first concept uses microwaves in a truncated cone-shaped cavity that is claimed to produce thrust. Although it is not clear on which theoretical basis this can work, several experimental tests have been reported in the literature, which warrants a closer examination. The second concept is believed to generate mass fluctuations in a piezo-crystal stack that creates non-zero time-averaged thrusts. Here we are reporting first results of our improved thrust balance as well as EMDrive and Mach-Effect thruster models. Special attention is given to the investigation and identification of error sources that cause false thrust signals. Our results show that the magnetic interaction from not sufficiently shielded cables or thrusters are a major factor that needs to be taken into account for proper μN thrust measurements for these type of devices.
In this slidecast, Jason Stowe from Cycle Computing describes the company's recent record-breaking Petascale CycleCloud HPC production run.
"For this big workload, a 156,314-core CycleCloud behemoth spanning 8 AWS regions, totaling 1.21 petaFLOPS (RPeak, not RMax) of aggregate compute power, to simulate 205,000 materials, crunched 264 compute years in only 18 hours. Thanks to Cycle's software and Amazon's Spot Instances, a supercomputing environment worth $68M if you had bought it, ran 2.3 Million hours of material science, approximately 264 compute-years, of simulation in only 18 hours, cost only $33,000, or $0.16 per molecule."
Learn more: http://blog.cyclecomputing.com/2013/11/back-to-the-future-121-petaflopsrpeak-156000-core-cyclecloud-hpc-runs-264-years-of-materials-science.html
Watch the video presentation: http://wp.me/p3RLHQ-aO9
With IoT it’s all about things and sensors. And when representing a temperature, for example, we normally have it as a float. But is this float in Celsius? Kelvin? This is one of the problems JSR 363 wants to solve: have all “real world” value and unit data represented in a standard way. This JSR is also very suitable for scientific applications, where data representation, conversion, and formatting are very important. In this session, you’ll see how developers as well as platform providers can leverage this JSR, coding a smart gas pump that reports its values by using Java standards. Come to meet JSR 363, Units of Measurement.
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayWerner Keil
In 1999, NASA lost the $125 million Mars Climate Orbiter as it went into orbital insertion. Due to a mismatch between US customary and SI units of measurements in one of the APIs, the spacecraft came too close to the planet, passed through the upper atmosphere and disintegrated. Sadly, this hasn’t been the only instance where a mismatch between units of measurements had catastrophic consequences, but it’s certainly one of the most spectacular and expensive ones.
How could this happen? The bad news: if you use primitive types to handle quantities in your code, due to the same practice at best, you’ve codified the unit in a variable name or database field, e.g. calling it lengthInMetres. Otherwise, you’re only relying on convention, just like Lockheed Martin and NASA did.
Join this talk to learn how JSR 385 can help you avoid $125 million mistakes, how it applies the 2019 redefinition of SI base units, and discover the immeasurable world of dimensions, units and quantities.
Indroductory slides for the Adopt-a-JSR Day by Utrecht JUG
The First IoT JSR: Units of Measurement - DevoXX BE 2015Werner Keil
Come to meet JSR 363 - Units of Measurement! It's the first JSR targeted to help you work with IoT devices, tackling sensors and measurements in a standard way. We all know that when representing a temperature, for example, we normally have it as a float. But, is this float in Celsius? Fahrenheit? Kelvin? This is one of the problems this JSR wants to solve: have all "real world" value and unit data represented in a standard way. This JSR is also very suitable for scientific applications, where data representation, conversion and formatting is very important.
In this presentation, we'll see how both developers and platform providers can leverage this JSR, coding for a smart home or smart gas pump that reports its values in a standard way. As well as other use cases and actual embedded devices like Raspberry Pi or Intel Edison.
And this JSR is still in the making. Be first hand witness of the JSR 363 Public Draft (due around Nov) and learn how YOU can get involved and help Java grow in the IoT space! We'll explore how JSRs work and how you can get involved in the JCP and work with this and other JSRs.
Physikal - Using Kotlin for Clean Energy - KUG MunichWerner Keil
Tenkiv developed a new kind of solar power system focused on cost-effectiveness and scalability in need of data acquisition system to collect and analyze data from different sensors throughout the cloud. Because the system may have different energy conversion devices (modules), different number of thermal circuits, collectors, etc. the control software has to be very adaptable to match these varying configurations.
Therefore the JVM was an ideal choice. The control software "Nexus Brain" is written in Kotlin. It heavily uses Units of Measurement, so Tenkiv created Physikal, a Kotlin extension to the Java 8 implementation of JSR 363. A project also used by others, for example in collaboration with NASA or ETH Zurich.
This session will give a brief overview of how Tenkiv and Nexus Brain use Kotlin and Physikal/JSR 363 to calculate the optimal usage of alternate energy sources and control solar power systems for making clean water anywhere from Flint Michigan to Afghanistan or Cape Town.
The SpaceDrive Project - First Results on EMDrive and Mach-Effect ThrustersSérgio Sacani
Propellantless propulsion is believed to be the best option for interstellar travel. However, photon rockets or solar sails have thrusts so low that maybe only nano-scaled spacecraft may reach the next star within our lifetime using very high-power laser beams. Following into the footsteps of earlier breakthrough propulsion programs, we are investigating different concepts based on non-classical/revolutionary propulsion ideas that claim to be at least an order of magnitude more efficient in producing thrust compared to photon rockets. Our intention is to develop an excellent research infrastructure to test new ideas and measure thrusts and/or artefacts with high confidence to determine if a concept works and if it does how to scale it up. At present, we are focusing on two possible revolutionary concepts: The EMDrive and the Mach-Effect Thruster. The first concept uses microwaves in a truncated cone-shaped cavity that is claimed to produce thrust. Although it is not clear on which theoretical basis this can work, several experimental tests have been reported in the literature, which warrants a closer examination. The second concept is believed to generate mass fluctuations in a piezo-crystal stack that creates non-zero time-averaged thrusts. Here we are reporting first results of our improved thrust balance as well as EMDrive and Mach-Effect thruster models. Special attention is given to the investigation and identification of error sources that cause false thrust signals. Our results show that the magnetic interaction from not sufficiently shielded cables or thrusters are a major factor that needs to be taken into account for proper μN thrust measurements for these type of devices.
In this slidecast, Jason Stowe from Cycle Computing describes the company's recent record-breaking Petascale CycleCloud HPC production run.
"For this big workload, a 156,314-core CycleCloud behemoth spanning 8 AWS regions, totaling 1.21 petaFLOPS (RPeak, not RMax) of aggregate compute power, to simulate 205,000 materials, crunched 264 compute years in only 18 hours. Thanks to Cycle's software and Amazon's Spot Instances, a supercomputing environment worth $68M if you had bought it, ran 2.3 Million hours of material science, approximately 264 compute-years, of simulation in only 18 hours, cost only $33,000, or $0.16 per molecule."
Learn more: http://blog.cyclecomputing.com/2013/11/back-to-the-future-121-petaflopsrpeak-156000-core-cyclecloud-hpc-runs-264-years-of-materials-science.html
Watch the video presentation: http://wp.me/p3RLHQ-aO9
The operational scale of edge computing introduces new challenges for building and operating suitable computation platforms. This talk was given at SEC'18 (http://acm-ieee-sec.org/2018/) and reports on the paper 'Portable Energy-Aware Cluster-Based Edge Computers'.
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021Werner Keil
In 1999, NASA lost the $125 million Mars Climate Orbiter as it went into orbital insertion. Due to a mismatch between US customary and SI units of measurements in one of the APIs, the spacecraft came too close to the planet, passed through the upper atmosphere and disintegrated. Sadly, this hasn’t been the only instance where a mismatch between units of measurements had catastrophic consequences, but it’s certainly one of the most spectacular and expensive ones.
How could this happen? The bad news: if you use primitive types to handle quantities in your code, due to the same practice at best, you’ve codified the unit in a variable name or database field, e.g. calling it lengthInMetres. Otherwise, you’re only relying on convention, just like Lockheed Martin and NASA did.
Join this compact version of our talk for IoT Day 2021 to learn how JSR 385 can help you avoid $125 million mistakes, how it applied the 2019 redefinition of SI base units, and discover the immeasurable world of dimensions, units and quantities.
Securing eHealth, eGovernment and eBanking with Java - DWX '21Werner Keil
The EU increases its cooperation on cyber defense to strengthen its resilience to cyber-attacks through the EU Cybersecurity Act and certification of products, services or applications. To be as well prepared as possible against hacker attacks or the distribution of "fake news", fake documents or transactions. Like a One Trillion Amazon refund or fake tax returns. The IT industry may use this mechanism to certify products like connected vehicles, government services or smart medical devices. Due to its platform independence, Java plays an important role, especially in web, cloud or enterprise environments. In addition the PSD2 regulation went into effect in 2019 to make payments more secure, boost innovation and help banking services adapt to new technologies.
This session shows use cases of the DSS Framework and solutions based on it, such as Digidoc4J. DSS (Digital Signature Services) is a Java framework for the creation and validation of electronic signatures. DSS supports the creation and validation of interoperable and secure electronic signatures in accordance with European legislation, in particular the eIDAS Regulation, as well as IT standards like OASIS DSS. We are going to demonstrate how different documents and services can be signed and verified. Securing the data exchange using standards like DICOM, HL7 to OCSI or PSD2 and XS2A.
OpenDDR and Jakarta MVC - JavaLand 2021Werner Keil
We experience a growing number of mobile phones, tablets, phablets, foldables, smart TV, watches or home assistants and similar devices flooding the market almost every day. If you want to create a responsive web application with the best user experience you need dynamic adaptive content according to all relevant aspects of your device. That’s the reason for Device Description Repositories (DDR).
This session provides an overview of the W3C DDR standard for Mobile Device recognition and the OpenDDR project. Followed by a live demo of extensions to Spring MVC and the Jakarta MVC standard, plus .NET using C# and VB.NET leveraging the power of OpenDDR to simplify the development of cross device web applications. All offer automatic device detection based on OpenDDR, configuration of user preferences, automatically forward to the most appropriate view for a particular device or device type. As well as device aware templates, view engines and more.
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualWerner Keil
We experience a growing number of mobile phones, tablets, phablets, foldables, smart TV, watches, or home assistants, and similar devices flooding the market almost every day. If you want to create a responsive web application with the best user experience you need dynamic adaptive content according to all relevant aspects of your device. That’s the reason for Device Description Repositories (DDR).
This session provides an overview of the W3C DDR standard for Mobile Device recognition and the OpenDDR project. Followed by a live demo of extensions to Spring MVC and the Jakarta MVC standard leveraging the power of OpenDDR to simplify the development of cross device web applications. Both offer automatic device detection based on OpenDDR, configuration of user preferences, automatically switch the path to the most appropriate view for a particular device or device type. As well as device aware templates, view engines, and more.
The operational scale of edge computing introduces new challenges for building and operating suitable computation platforms. This talk was given at SEC'18 (http://acm-ieee-sec.org/2018/) and reports on the paper 'Portable Energy-Aware Cluster-Based Edge Computers'.
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021Werner Keil
In 1999, NASA lost the $125 million Mars Climate Orbiter as it went into orbital insertion. Due to a mismatch between US customary and SI units of measurements in one of the APIs, the spacecraft came too close to the planet, passed through the upper atmosphere and disintegrated. Sadly, this hasn’t been the only instance where a mismatch between units of measurements had catastrophic consequences, but it’s certainly one of the most spectacular and expensive ones.
How could this happen? The bad news: if you use primitive types to handle quantities in your code, due to the same practice at best, you’ve codified the unit in a variable name or database field, e.g. calling it lengthInMetres. Otherwise, you’re only relying on convention, just like Lockheed Martin and NASA did.
Join this compact version of our talk for IoT Day 2021 to learn how JSR 385 can help you avoid $125 million mistakes, how it applied the 2019 redefinition of SI base units, and discover the immeasurable world of dimensions, units and quantities.
Securing eHealth, eGovernment and eBanking with Java - DWX '21Werner Keil
The EU increases its cooperation on cyber defense to strengthen its resilience to cyber-attacks through the EU Cybersecurity Act and certification of products, services or applications. To be as well prepared as possible against hacker attacks or the distribution of "fake news", fake documents or transactions. Like a One Trillion Amazon refund or fake tax returns. The IT industry may use this mechanism to certify products like connected vehicles, government services or smart medical devices. Due to its platform independence, Java plays an important role, especially in web, cloud or enterprise environments. In addition the PSD2 regulation went into effect in 2019 to make payments more secure, boost innovation and help banking services adapt to new technologies.
This session shows use cases of the DSS Framework and solutions based on it, such as Digidoc4J. DSS (Digital Signature Services) is a Java framework for the creation and validation of electronic signatures. DSS supports the creation and validation of interoperable and secure electronic signatures in accordance with European legislation, in particular the eIDAS Regulation, as well as IT standards like OASIS DSS. We are going to demonstrate how different documents and services can be signed and verified. Securing the data exchange using standards like DICOM, HL7 to OCSI or PSD2 and XS2A.
OpenDDR and Jakarta MVC - JavaLand 2021Werner Keil
We experience a growing number of mobile phones, tablets, phablets, foldables, smart TV, watches or home assistants and similar devices flooding the market almost every day. If you want to create a responsive web application with the best user experience you need dynamic adaptive content according to all relevant aspects of your device. That’s the reason for Device Description Repositories (DDR).
This session provides an overview of the W3C DDR standard for Mobile Device recognition and the OpenDDR project. Followed by a live demo of extensions to Spring MVC and the Jakarta MVC standard, plus .NET using C# and VB.NET leveraging the power of OpenDDR to simplify the development of cross device web applications. All offer automatic device detection based on OpenDDR, configuration of user preferences, automatically forward to the most appropriate view for a particular device or device type. As well as device aware templates, view engines and more.
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualWerner Keil
We experience a growing number of mobile phones, tablets, phablets, foldables, smart TV, watches, or home assistants, and similar devices flooding the market almost every day. If you want to create a responsive web application with the best user experience you need dynamic adaptive content according to all relevant aspects of your device. That’s the reason for Device Description Repositories (DDR).
This session provides an overview of the W3C DDR standard for Mobile Device recognition and the OpenDDR project. Followed by a live demo of extensions to Spring MVC and the Jakarta MVC standard leveraging the power of OpenDDR to simplify the development of cross device web applications. Both offer automatic device detection based on OpenDDR, configuration of user preferences, automatically switch the path to the most appropriate view for a particular device or device type. As well as device aware templates, view engines, and more.
The amount of data collected by applications nowadays is growing at a scary pace. Many of them need to handle billions of users generating and consuming data at an incredible speed. Maybe you are wondering how to create an application like this? What is required? What works best for your project?
In this session we’ll compare popular Java and JVM persistence frameworks for NoSQL databases: Spring Data, Micronaut, Hibernate OGM, Jakarta NoSQL, and GORM. How do they compare, what are the strengths, weaknesses, differences, and similarities? We’ll show each of them with a selection of different NoSQL database systems (Key-Value, Document, Column, Graph).
The data load on applications has increased exponentially in recent years. We know the JVM (Java Virtual Machine) can cope with heavy loads very well yet we often come across the big dilemma: there are tons of persistence frameworks out there but which one performs best for my case? It would normally take ages to evaluate and choose the best fit for your use case. We’ve done those comparisons for you.
JCON 2020: Mobile Java Web Applications with MVC and OpenDDRWerner Keil
Mobile Java Web Applications with MVC and OpenDDR
We experience a growing number of mobile phones, tablets, phablets, foldables, smart TV, watches or home assistants and similar devices flooding the market almost every day. If you want to create a responsive web application with the best user experience you need dynamic adaptive content according to all relevant aspects of your device. That’s the reason for Device Description Repositories (DDR). This session provides an overview of the W3C DDR standard for Mobile Device recognition and the OpenDDR project. Followed by a live demo of extensions to Spring MVC and the MVC 1.0 standard for Java (JSR-371) leveraging the power of OpenDDR to simplify the development of cross device web applications. Both offer automatic device detection based on OpenDDR, configuration of user preferences, automatically switch the path to the most appropriate view for a particular device or device type. As well as device aware templates, view engines and more.
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)Werner Keil
Maintenance Lead Werner Keil will present JSR 354 (Money and Currency). He will discuss the API from a developer as well as user perspective and share details on the design decisions behind the JSR. Monetary values are a key feature of many applications, yet the JDK provides little or no support.
The existing java.util.Currency class is strictly a structure used for representing current ISO-4217 currencies, but not associated values or custom currencies. The JDK also provides no support for monetary arithmetic or currency conversion, nor for a standard value type to represent a monetary amount.
The session will demonstrate how the JSR models monetary capabilities, monetary amounts, currencies, rounding, financial arithmetics as well as formatting and currency conversion in a platform independent and flexible manner.
The first part of the talk will focus on key concepts, improvements like Java 9/Jigsaw modularity and planned new features for a future release followed by a live coding session demonstrating the Money JSR in action.
Money, Money, Money, can be funny with JSR 354 (DWX 2019)Werner Keil
Maintenance Leads Werner Keil and Anatole Tresch will present JSR 354 (Money and Currency). They will discuss the API from a developer as well as user perspective and share details on the design decisions behind the JSR.
Monetary values are a key feature of many applications, yet the JDK provides little or no support. The existing java.util.Currency class is strictly a structure used for representing current ISO-4217 currencies, but not associated values or custom currencies. The JDK also provides no support for monetary arithmetic or currency conversion, nor for a standard value type to represent a monetary amount.
The session will demonstrate how the JSR models monetary capabilities, monetary amounts, currencies, rounding, financial arithmetics as well as formatting and currency conversion in a platform independent and flexible manner. The first part of the talk will focus on key concepts, improvements like Java 9/Jigsaw modularity and planned new features for a future release followed by a live coding session demonstrating the Money JSR in action.
NoSQL: The first New Jakarta EE Specification (DWX 2019)Werner Keil
Jakarta EE NoSQL is a framework and collection of tools that make integration between Java applications and NoSQL quick and easy—for developers as well as vendors. The API is easy to implement, so NoSQL vendors can quickly implement, test, and become compliant by themselves. And with its low learning curve and just a minimal set of artifacts, Java developers can start coding without having to worry about the complexity of specific NoSQL databases instead of their core aspects (such as graph or document properties). Built with functional programming in mind, it leverages all the features of Java 8 and above.
This session covers how the API is structured, how it relates to the multiple NoSQL database types, and how you can get started and involved in this open source technology and help the first new Jakarta EE specification evolve.
JNoSQL: The Definitive Solution for Java and NoSQL DatabasesWerner Keil
JNoSQL is a framework and collection of tools that make integration between Java applications and NoSQL quick and easy—for developers as well as vendors. The API is easy to implement, so NoSQL vendors can quickly implement, test, and become compliant by themselves. And with its low learning curve and just a minimal set of artifacts, Java developers can start coding by worrying not about the complexity of specific NoSQL databases but only their core aspects (such as graph or document properties). Built with functional programming in mind, it leverages all the features of Java 8. This session covers how the API is structured, how it relates to the multiple NoSQL database types, and how you can get started and involved in this open source technology.
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabasesWerner Keil
JNoSQL is a framework and collection of tools that make integration between Java applications and NoSQL quick and easy—for developers as well as vendors. The API is easy to implement, so NoSQL vendors can quickly implement, test, and become compliant by themselves. And with its low learning curve and just a minimal set of artifacts, Java developers can start coding by worrying not about the complexity of specific NoSQL databases but only their core aspects (such as graph or document properties). Built with functional programming in mind, it leverages all the features of Java 8. This session covers how the API is structured, how it relates to the multiple NoSQL database types, and how you can get started and involved in this open source technology.
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017Werner Keil
This session will give you a brief overview of how Tenkiv and Nexus Brain use Kotlin and Physikal/JSR 363 to calculate the optimal usage of alternate energy sources and control solar power systems used for making clean water anywhere from Flint Michigan to Afghanistan.
Performance Monitoring for the Cloud - Java2Days 2017Werner Keil
Performance Monitoring tools like Performance Co-Pilot (PCP) existed almost longer than the World Wide Web. It was developed in the early 90s by SGI. Parts were made available open source from 2000 on, which led to a further spread of the tool. In recent years an active community formed and a variety of new features and enhancements were added. PCP is now part of Red Hat and SuSE Linux Enterprise editions and included in many other Linux distributions. Versions for other Unix variants, OS X and Windows also exist. This session compares popular Open Source Monitoring Tools like Performance Co-Pilot, StatsD, Dropwizard Metrics, Prometeus, MicroProfile Metrics or StatsD. How they each support Containers or Virtualization, share data with IT monitoring systems like Nagios or Zabbix, or process analyze and visualize it via Carbon, Graphite or Grafana/ElasticSerch.
Java2Days - Security for JavaEE and the CloudWerner Keil
When we deploy existing applications to the cloud or build new applications for it, how do the applications change? How does the boundary of an application change? How does this change affect the security parameters? What are the security characteristics that need to be accounted for? This talk explores these and the following questions:
• What are the top security concerns when building for the cloud?
• How do we evolve the security JSR (375) in Java EE 8 for the cloud?
• What are the key security areas for the next-generation Java EE platform that can ease a developer’s path for cloud deployments?
Das Wachstum an Mobiltelefonen, Tablets und ähnlichen Geräten, die den Markt geradezu überschwemmen erleben wir Tag für Tag.
Die Spezifikation jedes Einzelnen genau zu verfolgen ist ein Knochenjob. Diese Mühe kann reduziert werden, wenn zur Verbesserung dasDevice Description Repository – kurz DDR - beigesteuert wird und Anwender dieses selbst verwaltet können.
Apache DeviceMap entstand als Kooperation von OpenDDR und anderen, um ein umfassendes Open Source Daten-Repository mit Geräteinformationen, Bilder und andere relevante Informationen für alle Arten von mobilen Geräten zu schaffen, Smartphones, Tablets, Smart-TV, u.dgl.
Das Projekt begann im Januar 2012, im Herbst 2012 wurden DDR APis für Java und .NET von OpenDDR beigesteuert. Im Herbst 2014 verließ DeviceMap erfolgreich den Apache Incubator. Die nächsten Schritte umfassen verbesserte Erkennung von Informationen im UserAgent String. Java Portlet 3.0 Integration via Apache Pluto. Sowie Crowd-Sourcing der Device Repository Daten und eine Speicher-Struktur, die langfristige Erhaltung und Pflege dieser Daten durch die Apache Gemeinde erlaubt.
The First IoT JSR: Units of Measurement - JUG Berlin-BrandenburgWerner Keil
Come to meet JSR 363 - Units of Measurement! It's the first JSR targeted to help you work with IoT devices, tackling sensors and measurements in a standard way. We all know that when representing a temperature, for example, we normally have it as a float. But, is this float in Celsius? Fahrenheit? Kelvin? This is one of the problems this JSR wants to solve: have all "real world" value and unit data represented in a standard way. This JSR is also very suitable for scientific applications, where data representation, conversion and formatting is very important.
In this presentation, we'll see how both developers and platform providers can leverage this JSR, coding for a smart home or smart gas pump that reports its values in a standard way. As well as other use cases and actual embedded devices like Raspberry Pi or Intel Edison.
And this JSR is still in the making. Be first hand witness of the JSR 363 Public Draft (due around Nov) and learn how YOU can get involved and help Java grow in the IoT space! We'll explore how JSRs work and how you can get involved in the JCP and work with this and other JSRs.
JSR 354: Money and Currency API - Short OverviewWerner Keil
JavaMoney is the new monetary API for the Java™ Platform as well as related projects and libraries. Whereas the API (JSR 354) provides a portable and extendible API for handling of Money & Currency models, Moneta provides a production ready reference implementation.
The JavaMoney libraries add additional functionalities that were built on top of the API such as
- Basic financial operations
- Rounding
- Currency conversion
- Extended formatting (usable for arbitrary types)
JavaLand: Quantified Social - Fitness-Geräte und -Portale mit AgoravaWerner Keil
Quantified Self ist die Messung, Protokollierung und in der Regel das Teilen von Gesundheits- und Fitnessdaten mit anderen über einen gewissen Zeitraum durch Verwendung von Sensoren - zur Förderung eines gesünderen Lebensstils, um fit zu bleiben oder Gewicht zu verlieren. Andere Anwendungsfälle sind Messung von Blutzuckerspiegel, Puls oder Herzfrequenz - die Grenzen zwischen Freizeit/Fitness und Gesundheitswesen sind hier oft fließend.
Diese Session bietet einen Überblick zu populären Fitness-Geräten, APIs, Fitness- und IoT-Portalen. Deren Anbindung durch Agorava, das Social Framework auf Basis von CDI, JAX-RS, JSON und OAuth. Dank paralleler Unterstützung mehrerer APIs ermöglicht Agorava nicht nur, Freunde bei Fitbit, Strava, Twitter oder Facebook über die Leistungen zu informieren, sondern auch etwa bei Foursquare auf der Strecke einzuchecken.
Enterprise 2.0 with Open Source Frameworks like AgoravaWerner Keil
After Seam stopped at version 3, affecting related modules like Seam Social, a number of people started to work on Agorava, a "reference implementation" for Social Network integration in Java.
In this session, you will see examples from a number of frameworks that help developers to integrate their projects with existing Social Networks, both Public (Facebook, Twitter, Google+, LinkedIn, Xing, Yammer,...) and Corporate, e.g. within the Enterprise or Institution (University, Hospital, Library, Museum or individual Artists...) It also aims to assist Java Enterprise technologies and frameworks by adding social media features to web sites or services developed using Java or running on a JVM. Agorava is intended to be part of JDF 2.next alongside full DeltaSpike support or PicketLink SSO and more, e.g. JSR 330, allowing Agorava to also run on Android or Java SE.
JSR 375 - Have you seen Java EE Security API lately? - codemotion Tel Aviv 2015Werner Keil
JSR 375: Java EE Security API works on the following enhancements: standardize user management, syntax for indicating passwords stored in secure repositories with password aliasing, and definition and standardization of a 'role service' API with role mapping. There’s also scope for a new CDI interceptor annotation to perform application-domain rules at the method level or enhancements to authentication. Where feasible synergies with prior JSR 351 (Identity) shall also be explored. In this session we’ll present the current status of this JSR and what's going on in the JSR 375 Expert Group.
Apache DeviceMap - ApacheCon core Europe 2015Werner Keil
We experience a growing number of mobile and similar devices flooding the market almost every day. Capturing the specification of each device is a tough job. If you want to create a great UX you need dynamic content matching hardware and browser specs of your device. That’s why Device Description Repositories (DDR) exist. Apache DeviceMap is a collaborative effort to create a comprehensive open-source and open-data repository of device information and other relevant data for various devices. The project began in January 2012 after which OpenDDR contributed data and APIs for Java and. NET. DeviceMap left Apache Incubator Nov 2014. After modularization, DeviceMap 2.0 aims to make classification generic, so people can introduce their own detection domains. Support further languages like JavaScript/Node.js, common web UI frameworks, etc. and a JSON representation of device data.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
5. Mars Climate
Orbiter
• Launched on 11
December 1998
• 338 kilograms
• $125 millions
• To study Martian
climate, atmosphere
and surface changes
@wernerkeil @UnitAPI
8. Mars Climate Orbiter
“The problem here was not the error; it was the
failure of NASA’s systems engineering, and the
checks and balances in our process, to detect the
error. That’s why we lost the spacecraft.”
Edward Weiler
NASA associate administrator of space science,
IEEE Spectrum: Why the Mars Probe went off course
@thodorisbais@wernerkeil
12. What is the Fundamental Problem?
Primitive (Java) types are primitive types
• static final double C = 1079252849;
• static final double SPEED_OF_LIGHT = 1079252849;
• static final double SPEED_OF_LIGHT_IN_KM_PER_H = 1079252849;
@thodorisbais@wernerkeil
static final Quantity<Speed> SPEED_OF_LIGHT =
Quantities.getQuantity(1079252849, Units.KILOMETRE_PER_HOUR);
13. Rolling your Own Library
• Development
• Maintenance
• Upgrades & extensions
@thodorisbais@wernerkeil
14. Werner Keil Thodoris Bais
Maintenance Lead JSR-385 Expert Group Member JSR-385
Let’s meet
@thodorisbais@wernerkeil
22. –Wikipedia
“A physical quantity is a physical property of a phenomenon, body, or
substance, that can be quantified by measurement.”
Definition of a Physical Quantity
@thodorisbais@wernerkeil
23. Speed of Light
c = 299,792,458 m/s
Value Unit
@thodorisbais@wernerkeil
25. Speed of Light
c = 299,792,458 m/s
= 1,079,252,849 km/h
@thodorisbais@wernerkeil
26. 1. Define two quantities
a. A mass
b. A length
2. Print them out
Useful classes:
•tech.units.indriya.quantity.Quantities
•getQuantity(java.lang.Number value, javax.measure.Unit unit)
•tech.units.indriya.unit.Units
•javax.measure.Quantity
•javax.measure.quantity.Mass
Exercise Time
@thodorisbais@wernerkeil
27. •Divide the mass by the square of the height
•Print out the result
Exercise Time
@thodorisbais@wernerkeil
28. •Parse mass and height from a String
•Read mass and height from the command line
Exercise Time
@thodorisbais@wernerkeil
35. Dimensions
• L: length
• T: time
• M: mass
• I: electric current
• Θ: thermodynamic temperature
• N: amount of substance
• J: luminous intensity
• (1)
Force: L · M · T-2
@thodorisbais@wernerkeil
41. Royal Swedish Academy of Sciences
February Exam on Math
How much is 0 °C + 0 °C?
• 0 °C
• 0 °C
• 273.15 °C
Two absolute temperatures
0 °C + 0 °C = 273.15K + 273.15K
= 546.30K
= 273.15 °C
@thodorisbais@wernerkeil
42. How much is 0 °C + 0 °C?
• 0 °C
• 0 °C
• 273.15 °C
An absolute temperature and a temperature change
0 °C + 0 °C = 273.15K + 0K
= 273.15K
= 0 °C
@thodorisbais@wernerkeil
Royal Swedish Academy of Sciences
February Exam on Math
43. How much is 0 °C + 0 °C?
• 0 °C
• 0 °C
• 273.15 °C
Two temperature changes
0 °C + 0 °C = 0K + 0K
= 0K
= 0 °C
@thodorisbais@wernerkeil
Royal Swedish Academy of Sciences
February Exam on Math
44. How much is 0 °C + 0 °C?
Answer
@thodorisbais@wernerkeil
Royal Swedish Academy of Sciences
February Exam on Math
46. •Swedish astronomer, physicist and
mathematician
•Born in Uppsala, on 27 November 1701
•Supported formation of the Royal Swedish
Academy of Sciences in Stockholm in 1739
•Founded the Uppsala Astronomical
Observatory in 1741
•Proposed the Celsius temperature scale
in a paper to the Royal Society of Sciences
in Uppsala in 1742
•Died from tuberculosis on 25 April 1744
Anders Celsius
@wernerkeil @UnitAPI
48. Systems of UnitSystems of Unit
•Metric System
•Imperial System
•US customary units
•Roman units of measurement
•Swedish Units of Measurement
@wernerkeil @UnitAPI
Launched on the 19th of December 1998 at 18:45 UTC. It was launched from Cape Canaveral aboard a delta to launch the eco.
the complete burn sequence lasted 42’ and brought the spacecraft into a so called human transform orbit from earth to Mars.
The orbit is 669million kilometers long and takes 9.5 months to complete > over a pregnancy
Primary science objectives of the mission:
determine the distribution of water in Mars
monitor the daily atmospheric conditions
record changes of the Martian surface (due to wind)
determine temperature profiles in the atmosphere
look for evidence of past climate change
So that was a whole set of things the MCO was supposed to do
into a trajectory above 226km above the surface of Mars
It probably got disintegrated in the atmosphere and disappeared.
Minimum altitude to survive was 80km
A piece of software provided by Lockheed Martin produced results for the total impulse by the thruster firing in pound force seconds, whereas the trajectory calculation software provided by NASA expected it to be in Newton seconds.
The software specification said it should have been in Newton seconds so Luckheed Martin clearly made a mistake
if Lockheed Martin had done a good job, it would have never happened
Use JSR-385 instead of primitives
Fail fast <== don’t rely on the checksum balancer to discover problems
The 12 October 1492 “mishap”Colombus miscalculated the circumference of the earth cuz he used roman miles instead of nautical miles. ended up in Bahamas, but thought he was in Asia. Consequence? the native americans were called for Indians 500 years afterwards
2) “Gimli Glider”, 1983 - Air Canada flight 143 from Montreal to Edmonton.-After Canada went over from imperial units to SI system.received Less than the half needed and run out of fuel.Captain made a mistake in the conversion of the units. Groundcrew didn’t look it up independently.
Less than the half needed and run out of fuel.
Airport nearby used for car races, festivals, social happenings. There was a festival that day.
just a few injuries
3) Clarence the Tortoise, 2001 , Galapagos tortoise
Los Angeles Zoo loaned to Moorpark College.
“Build an enclosure for an animal that weighs in at about 250”
Forgot to say “kilograms” . so Moorpark college built one for a 250 pound tortoise. Guess what happened the first night. Clarence wrecked the cage
“It weighs 250”. forgot to say kilograms
they built a cage for a 250 pound
tortoise comes in, eats, and the tortoise wrecked the cage
4) units begging for mistakes —> Tea spoon . gram and grain “take 5 grains” is being understood as “take 5 grams”
using a primitive to represent a quantity is fundamentally conflicting with OOP and DDD, cuz you’re using a type representing just a number to represent a quantity which has a unit
—-
built in into the property and it contains both the value and the unit
—-
No way to misinterpret the SPEED of light at the bottom as that number in km/h
wanna do it properly? define ur own library
how difficult can it be? it’s just a value and a unit
lot of work —> many units
meter, time units, electrical resistance , TEMPERATURES?, divide & multiply
Are you a UoM domain expert? so even if you use the SI system every day do you really understand how it works? TBH I didn’t even answer that question to myself. I would be surprised if you know all the peculiarities around SI.
There is a number of strange things, even though it is designed as the rational system as compared to some other systems.
This JSR is a major evolution of the Unit API 1.0 (JSR 363) specification. Focussed on the SI System redefinition, modularity and support for Java SE 8/9 and above.
JSR 363
This JSR specifies Java packages for modelling and working with measurement values, quantities and their corresponding units.
Dimensions: length
Unit: metre
Quantity: 5 metres
prefixes: kilo, milli, etc.
converters: km/h —> m/s or mph
formatting: print out the quantity and parse the quantity of the unit
systems of units: metric, imperial and handle them in a good way
kg/m^2
a thing that matters for the BMI index is to express the units as kilograms and meters and not cm for example.
We’ll see as we go through th exercise that we can handle that in a good way
It doesn’t do some kinds of optimisations that one could think it would be nice to have
Let’s start by defining a number of quantities and try to print them out.
5 meters = 500 cm
So you see? this is not difficult to do, so instead of defining an Integer to hold 75 as the mass, that’s not much of simplification compared to this
Yesterday I travelled 1.6Mm???
1hour = 3.6ks, but “come back in 1ks”???
Yesterday I travelled 1.6Mm???
1hour = 3.6ks, but “come back in 1ks”???
Yesterday I travelled 1.6Mm???
1hour = 3.6ks, but “come back in 1ks”???
You need 1 for the angle for example so that you can handle the absence of dimension
Should you have functions to normalize expressions into what could be closer to the base unit
That’s something you could consider, and also for quantities for example that 1 mg per mm-2 is automatically normalized to 1kg m-2
Special paint for small devices
It’s not just about comparing the values and the units
you have to convert to one unit
and do the comparison in one reference unit
We use the 1st unit if we can
If it leads to an overflow, we can fall back to the second unit
Otherwise, if it leads to an overflow in both units, we just throw an overflow error
THAT’S EASY! RIGHT?
There are thermodynamic parameters when you want to add temperatures
All 3 answers are correct depending on the situation.
absolute or relative quantity? We hadn’t modelled this.
So, again, are you a domain expert in ur system? Do you really know the SI system so that you can write a library to handle this stuff?
Why are we using degrees celsius. Undoubtedly, it’s easy (0-100 degrees), but degrees celsius is not such a good unit to measure temperature.
JavaZone example with Time (i.e. day light, saving time, etc., formatting problem with US month – dd - yyyy, countries using F and celsius)