OWASP ZAP (Zed Attack Proxy) is an open source dynamic application security testing (DAST) tool. It is available here and has a website with documentation here. I recently encountered it when looking for open source security test tools to embed in a CI/CD pipeline (here). I was surprised by how versatile this tool […]
Software Development
How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (1)
What’s in a name? A title is important and I hope that it describes well what I do want to share with you in this series of articles. It is not so much about how to use the back-end part (Oracle Database) or the front-end (Oracle APEX, Java, Node, React […]
Java Security: Open Source tools for use in CI/CD pipelines
It is often expected of a DevOps team to also take security into consideration when delivering software. Often however, this does not get the attention it deserves. In this blog post I’ll describe some easy to use, CI/CD pipeline friendly, open source tools you can use to perform several checks […]
How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (6)
Last time in “How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (5)”, I told you about Git, Subversion, Maven and Flyway. In this final article, I will discuss the following tools & methods: Oracle SQL Developer, utPLSQL, SonarQube, Perl, Ant and DevOps. Oracle […]
How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (5)
Last time in “How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (4)”, I told you about the Oracle SQL Developer Data Modeler. This time I will discuss the following tools: Git, Subversion, Maven and Flyway. Flyway The first tool I would like to […]
How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (4)
Last time in “How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (3)”, I told you about the Oracle Database and Oracle APEX. This time I will discuss Oracle SQL Developer Data Modeler. Oracle SQL Developer Data Modeler A book I can recommend is Oracle […]
How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (3)
Last time in “How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (2)”, I did show you the database structure. This time I will elaborate on the base tools, the Oracle Database and Oracle APEX. Oracle Database How to use it? I can tell […]
How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (2)
Last time in “How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (1)”, I gave you an introduction. This time I will elaborate on the database structure. Project folder layout The following top level directories may exist for every database application project: Directory Description […]
Java Agent: Rewrite Java code at runtime using Javassist
You might want to change the behavior of a Java application at runtime without having to alter the original sources and recompile them. This can be done by using a Java Agent. Java Agents are used by several products. Dynatrace uses for example a Java Agent to collect data from inside […]
Automating actions on Windows – my first steps with AutoIt
I recently spent quite some time on getting to know Playwright – a great tool for automating virtually any operation performed in a browser. Playwright is great for automating testing web applications as well as for screen scraping (for data), tactical integration, RPA, prototyping and even customizing third party applications […]
Python: A Google Translate service using Playwright
There are a lot of use-cases in which you might want to automate web-browser actions. For example to automate tedious repetitive tasks or to perform automated tests of front-end applications. There are several tools available to do this such as Selenium, Cypress and Puppeteer. Several blog posts (such as here) […]
Performance problems, the Whys.. and Hows.. around them
Introduction Over the last years, as part of my consultancy experience, I had the chance to work on several assignments tackling IT performance problems. In this post I will try to share my experiences on that topic, considering performance problems that I have faced on several (on-premise, cloud, hybrid) and […]
How to dynamically Schedule EM Blackouts after PatchTuesday
In the organization I’m currently working for, the OS-patch schedule depends on PatchTuesday (PT) just as Microsoft, Adobe or Oracle are using. And PatchTuesday is, as you all know, the Second Tuesday of each month. But this is a schedule you can not set in the Oracle Enterprise Manager Scheduler. […]
ADF Performance Monitor New Whitepaper Published
We are happy to announce that we have a new whitepaper on the ADF Performance Monitor. This blog publishes a new whitepaper that gives more information about the architecture, features and implementation of the ADF Performance Monitor. It is updated with the many features of our new major version 9.5. Recently […]
Jenkins Pipeline: SonarQube and the OWASP Dependency-Check
The OWASP Foundation plays an important role in helping to improve security of software worldwide. They have created a popular and well-known awareness document called the ‘OWASP Top 10‘. This document lists the following risk: using components with known vulnerabilities. Software nowadays can be quite complex consisting of many direct and […]
Quarkus – Supersonic Subatomic Java, trying out Quarkus guide “Quarkus – Kubernetes extension” (part 3)
In this article, you can read more about the Quarkus code guide I tried out, related to the following topic: The ability to automatically generate Kubernetes resources by Quarkus The guide covers generating and deploying Kubernetes resources based on sane defaults and user supplied configuration. In this article, I will […]
Quarkus – Supersonic Subatomic Java, trying out Quarkus guide “Quarkus – Kubernetes extension” (part 2)
In this article, you can read more about the Quarkus code guide I tried out, related to the following topic: The ability to automatically generate Kubernetes resources by Quarkus The guide covers generating and deploying Kubernetes resources based on sane defaults and user supplied configuration. In this article, I will […]
Quarkus – Supersonic Subatomic Java, trying out Quarkus guide “Quarkus – Kubernetes extension” (part 1)
In this article, you can read more about the Quarkus code guide I tried out, related to the following topic: The ability to automatically generate Kubernetes resources by Quarkus The guide covers generating and deploying Kubernetes resources based on sane defaults and user supplied configuration. In this article, I will […]
Quickly get going with Kotlin on Windows–using VS Code as IDE
Kotlin has been on my mind. The back of my mind, but still. And apart from a very short workshop last year at Devoxx I have not really tried it out. VS Code is my preferred IDE nowadays. So I wanted to get going with Kotlin in VS Code. Of […]
Jenkins: Building Java and deploying to Kubernetes
Kubernetes is a popular platform to run and manage containerized applications. A CI/CD solution is often needed but not always provided. You might need to set this up for yourself. In this blog post I’ll provide a minimal end-to-end solution for Java applications. This starts with a commit in source […]
Run VS Code on Linux, in a container or just anywhere–work in a browser
My colleague pointed the open source code-server project to me. This project allows you to run Visual Studio Code just anywhere – and to develop on any device. He already had it running – showing off his code development skills on a mobile phone. Of course I had to try […]
My Steps for Getting Started with Java Development on Windows
In this article a brief overview of my steps to set up an environment on my Windows 10 laptop for doing Java programming. If you follow these steps, you should be up and running with coding, building, testing and packaging Java applications on your laptop in some 20 minutes. The […]
Quarkus – Supersonic Subatomic Java, trying out some Quarkus code guides (part2)
In this article, you can read more about a Quarkus code guide I tried out, related to the following topic: Packaging the native executable in a container In a next article, you can read more about another Quarkus code guide I tried out, related to the following topic: The ability […]
Quarkus – Supersonic Subatomic Java, trying out some Quarkus code guides (part1)
In my previous article, I already shared with you the Quarkus code guide “Quarkus – Creating Your First Application”, I tried out, including the hot deployment with background compilation. [ https://technology.amis.nl/2020/08/21/using-vagrant-and-shell-scripts-to-further-automate-setting-up-my-quarkus-demo-environment-from-scratch-and-trying-out-a-quarkus-code-guide/] In this article, you can read more about other Quarkus code guides I tried out, related to the following […]
Using Vagrant and shell scripts to further automate setting up my Quarkus demo environment from scratch and trying out a Quarkus code guide
In my previous article, I shared with you the steps I took, to set up a demo environment, so I could get started with Quarkus. [https://technology.amis.nl/2020/08/17/quarkus-supersonic-subatomic-java-setting-up-a-demo-environment-using-vagrant-and-oracle-virtualbox] In this article, you can read more about the steps I took to further automate setting up my demo environment and the Quarkus code […]
Quarkus – Supersonic Subatomic Java, setting up a demo environment using Vagrant and Oracle VirtualBox
In November 2019, I attended Devoxx Belgium together with other AMIS colleagues. The yearly gathering of over 3000 Java developers (numbers provided by Devoxx website) were Java and software development are the core themes. At Devoxx, among other things, I learned about Quarkus and wanted to know more about it. […]
ADF Performance Monitor: New Introduction Video (3:40)
Are you unable to pinpoint frustrating blind spots and recurring problems in your ADF application? This video gives a quick introduction of the features of the ADF Performance Monitor, an advanced monitor specifically designed for Oracle ADF applications.
Write debug level logs on error – print detailed logging only in exceptional circumstances
TL;DR: Collect debug information in an in-memory buffer that is printed to the output when an error occurs (and quietly discarded in all other cases). I may have come up with a useful idea. Or something that is not all that useful. Or even something that already exists (and I […]
Connect Azure Pipelines with sonarcloud through maven (YAML)
Introduction Sonarcloud is a static code analysis tool. This means that it checks out the code at your repository, does an analysis and shows you the results. It may look something like this: It gives detailed information about your code and you can for example let it scan if you […]
Productivity Boosting features in Windows 10
I ran into a valuable 17 minute YouTube movie with tips over some useful Windows 10 features: https://www.youtube.com/watch?v=do06MPWf9E4 I created this short list as a personal reminder: Virtual Desktop – multiple desktop pages for different circumstances (per customer, technology, work and private, for specific demos or recording webinars) (Windows + […]
ADF Performance Monitor: Thread Wait and Blocked Time
Last week we had a new version of the ADF Performance Monitor available – version 9.5. In this blog I will write on one of the new features; thread wait and thread blocked time of requests. Sometimes we cannot explain a poor performance, disruptions, hiccups. If we dive into the […]
ADF Performance Monitor New Version 9.5
We have again a major new version of the ADF Performance Monitor available – version 9.5 ! We have added many new valuable features and improvements. Many overview screens have got a facelift and new charts. In several blogs I will write on them. This blog is on one of […]
DIY Kafka Topic Watcher tool – Node, Express, Server Sent Events and Apache Kafka
This article can be read in at least two different ways: as a somewhat lengthy introduction of a handy tool that you can easily run to inspect messages published to the topics in a Kafka Cluster as a detailed yet basic example of how to combine several techniques to create […]
Spring: Blocking vs non-blocking: R2DBC vs JDBC and WebFlux vs Web MVC
Spring Framework version 5, released in Sept 2017, introduced Spring WebFlux. A fully reactive stack. In Dec 2019 Spring Data R2DBC was released, an incubator to integrate relational databases using a reactive driver. In this blog post I’ll show that at high concurrency, WebFlux and R2DBC perform better. They have […]
Migrating an old (10.2.0.4) database to Oracle Cloud with minimal downtime
Unlike most of our posts this post will contain almost no code or examples. But it hopefully will help somebody who ends up to be in the same situation we landed on: migrating data from very old versions to a new environment. Recently we were tasked with the migration of […]
The size of Docker images containing OpenJDK 11.0.6
When running Java applications in containers, you need to be careful with your resources. If you’re not careful with layering your images (for example using Google’s Jib), you can quickly get into disk-space issues, especially when your base image and/or application gets updated regularly. One of the ways you can save […]
Performance of relational database drivers. R2DBC vs JDBC
R2DBC provides non-blocking reactive APIs to relational database programmers in Java. It is an open specification, similar to JDBC. JDBC however uses a thread per connection while R2DBC can handle more connections using less threads (and thus potentially use less memory). This could also mean threads are available to do other […]
HTTP benchmarking using wrk. Parsing output to CSV or JSON using Python
wrk is a modern HTTP benchmarking tool. Using a simple CLI interface you can put simple load on HTTP services and determine latency, response times and the number of successfully processed requests. It has a LuaJIT scripting interface which provides extensibility. A distinguishing feature of wrk compared to for example ab […]
jq – Linux command line tool for interpreting and manipulating JSON documents
I am not the first to discover jq, or even to write about it. However, jq was such a valuable tool for me that I felt obliged to share it with you. And turn it into a Katacoda scenario (Katacoda is on of my other favorite finds). jq is a […]