Downsizing the Data Set – Resampling and Binning of Time Series and other Data Sets

Data Sets are often too small. We do not have all data that we need in order to interpret, explain, visualize or use for training a meaningful model. However, quite often our data sets are too large. Or, more specifically, they have higher resolution than is necessary or even than is desirable. We may have a timeseries with values for every other second, although meaningful changes do not happen at lower frequencies than 30 seconds (more...)

Using Elastic Stack, Filebeat (for log aggregation)

In my last article I described how I used ElasticSearch, Fluentd and Kibana (EFK). Besides log aggregation (getting log information available at a centralized location), I also described how I created some visualizations within a dashboard.

In a new series of articles, I will dive into using Filebeat and Logstash (from the Elastic Stack) to do the same.

In this article I will talk about the installation and use of Filebeat (without (more...)

Prepare Jupyter Notebook Workshop Environment through Docker container image and Bootstrap Notebook

Earlier this week, I presented a workshop on Data Analytics. I wanted to provide each of the participants with a fully prepared environment, right on everyone’s own laptop (and optionally in a cloud environment such as Katacoda). The environment consisted of Python 3.7, Jupyter Labs (for Notebooks), many additional Python libraries (Pandas, Plotly, Chart Studio, Matrix Profile, SAX, Fuzzy Search and many more) and a number of my own GitHub repositories containing the workshop (more...)

Microservice framework startup time on different JVMs (AOT and JIT)

When developing microservices, a fast startup time is useful. It can for example reduce the amount of time a rolling upgrade of instances takes and reduce build time thus shortening development cycles. When running your code using a ‘serverless’ framework such as for example Knative or FnProject, scaling and getting the first instance ready is faster.

When you want to reduce startup time, an obvious thing to look at is ahead of time (AOT) compilation (more...)

SOASuite Composite Sensors: the why and how…


Long time ago BPEL PM was acquired by Oracle, and as part of the first release of SOA Suite (10g), it was a more or less standalone component. For initiated BPEL flow instances in the soa infrastructure database there were 2 tables:
  1. cube_instance: bpel flow instances
  2. ci_indexes: 6 indexes related to the bpel flow that can be set with an embedded java call

These 2 tables store the BPEL instances, along with a set (more...)

A Readers Story: Connor McDonald on Solving a Sudoku with one SQL Statement

The AMIS Technology Blog has reached a milestone and celebrates its 15-year anniversary! Over the past 15 years, we’ve published 3100 articles, written by 120 authors and gathered an international audience of 6000 unique visitors a day.

To reward your loyalty and as part of the celebration we publish several blogs where we put the spotlight on remarkable articles in our 15-year oeuvre. We have asked notable readers and authors about their most valuable, useful, memorable (more...)

Running a container in the AWS cloud using Fargate

There can be moments that you are really proud of what you achieved. You want to show it to colleagues and share your knowledge in presentations. It can be useful to let your container run in the cloud for a relatively short time. In this blog, I will explain the four different ways to run a container in AWS, with their pro’s and con’s. After that, I will explain how showing a container to collegaes (more...)

Determine the Language of a Document from the Letter Frequency – using Levenshtein Distance between sequences

imageEven though many languages share the same or a very similar alphabet, the use of letters in documents written in these languages is quite distinct. The letter ” e” is quite popular, but not the most used letter in every language. In fact, the letter frequency is very specific to a language – and can be used to determine the language of a document in a simple and pretty fast way.

The very simple steps (more...)

Tour de France Data Analysis using Strava data in Jupyter Notebook with Python, Pandas and Plotly – Step 2: combining and aligning multi rider data for analyzing and visualizing the Race

In this article, I analyze the race that took place in stage 14 of the 2019 Tour de France in a Jupyter Notebook using Python, Pandas and Plotly and based on the Strava performance data published by Steven Kruijswijk, Thomas de Gendt, Thibaut Pinot and Marco Haller. In this previous article I have explained how we can retrieve the Strava data for a specific rider for a stage in the Tour de France, and in (more...)

Tour de France Data Analysis using Strava data in Jupyter Notebook with Python, Pandas and Plotly – Step 1: single rider loading, exploration, wrangling, visualization

In this article, I will show how to analyze the performance of Steven Kruijswijk during stage 14 of the 2019 Tour de France in a Jupyter Notebook using Python, Pandas and Plotly. Strava collects data from athletes regarding their activities – such as running, cycling, walking and hiking. Members can upload data – and tens of millions do so, including some well known cyclists such as Steven Kruijswijk. In my previous article I have explained (more...)

Analyzing the 2019 Tour de France in depth using Strava performance data from Race Riders

This year’s Tour de France was quite a spectacle. Great performances, exciting stages, unexpected events: it had it all. Analyzing the race events as they unfolded during the stages of this year’s Tour is something I am keen to attempt. Using Jupyter Notebooks, Python and Pandas and Plotly for visualization, I am sure I can get more detailed stories extracted from raw race data. The starting point for such analysis activities is… the data.

However, (more...)

Apache Camel and Spring Boot: Calling multiple services in parallel and merging results

Sometimes you have multiple services you want to call at the same time and merge their results when they’re all in (or after a timeout). In Enterprise Integration Patterns (EIP) this is a Splitter followed by an Aggregator. I wanted to try and implement this in Spring Boot using Apache Camel so I did. Since this is my first quick try at Apache Camel, I might not have followed much best practices. I used sample (more...)

Monitoring Oracle Database using Prometheus

Prometheus is a very popular framework for gathering metrics from a plethora of runtime components, recording, analyzing, visualizing them and making them available for companion technologies such as Grafana. Prometheus harvests information from ‘exporters’ – processes that expose an HTTP endpoint where Prometheus can scrape metrics in a format that it understands.

Recently, I received an email with the following question:

I need help on monitoring Oracle Database using Prometheus. I Googled but not find (more...)

A transparent Spring Boot REST service to expose Oracle Database logic

Sometimes you have an Oracle database which contains a lot of logic and you want to expose specific logic as REST services. There are a variety of ways to do this. The most obvious one to consider might be Oracle REST Data Services. ORDS needs to be hosted on an application server and requires some specific configuration. It is quite powerful though (for example supports multiple authentication mechanisms like OAuth) and it is a product (more...)

Weblogic under Kubernetes: the weblogic topology of the future

Already 4 months ago I attended the PaaSForum 2019 in Mallorca. As every year it was great to meet members of the big EMEA Oracle Partner family.

And of course a lot of interesting talks and workshops. This year I was especially interested in announcements around SOA Suite and Project Helidon as a Microservice framework. But certainly also Weblogic under Kubernetes.
And actually, to me, the Kubernetes Weblogic Operator that was this years most enthusing (more...)

Dynamic tabs with Angular 6+ and ng-bootstrap

One of our Angular applications required the use of dynamic tabs. Since the project already uses ng-bootstrap components and bootstrap for the styling, I decided to use the tabset component from ng-bootstrap.

The tabs needed to fulfil the following requirements:
– A tab can be opened and closed.
– Tabs can display different components depending on the menu item clicked.
– There can only be one open tab for a given component.
– If a (more...)

Test Automation Days 2019

Vorige week woensdag en donderdag (19 en 20 juni) werden de Test Automation Days gehouden. De eerste dag bestond uit twee workshops die elk drie uur duurden. Op tweede dag van de Test Automation Days werden vooral presentaties gehouden. Ik zal van drie van deze presentaties een samenvatting geven.

Keynote sessie: Balancing your test automation with exploratory testing – Mirjana Kolarov (Levi9 IT Services)

Kernboodschap is: geautomatiseerd testen is niet de vervanging van alle andere (more...)

Making an IoT Badge – #badgelife going corporate

Code Card 2018

Editor’s note:  Noel is the last man standing from the AppsLab to work at Oracle. He created this project while being part of the Oracle Groundbreakers Team. The rest of the original AppsLab team members are now scattered throughout different companies in the tech sector.

For years I’ve been wanting to create something fun with the almighty esp8266 WiFi chip. I started experimenting with the esp8266 almost exactly four years ago. Back then (more...)

Developing concept products that embrace emerging technologies

Editor’s note: For posterity’s sake, I’m reposting some content that we created during our time at Oracle. These statements and views are those of the author and do not reflect those of Oracle’s current user experience organization.

Developing concept products that embrace emerging technologies

Working with emerging technologies brings unique challenges for developers. There are few to no users out there one can ask about requirements.

The AppsLab, the Oracle Applications User Experience (OAUX) emerging (more...)

Designing for What’s Not Yet Here

Editor’s note: For posterity’s sake, I’m reposting some content that we created during our time at Oracle. These statements and views are those of the author and do not reflect those of Oracle’s current user experience organization.

Designing for What’s Not Yet Here

Designing for emerging technologies means seeing how these technologies can help solve user problems in the enterprise and turn invention into innovation. Because design is somewhere at the intersection of people, technologies, (more...)