5 Simple Techniques to Avoid Bugs While Programming
Programming is an activity that requires a special set of cognitive skills. While the industry has developed processes and tools to ensure the quality of software artifacts, the act of writing code is a craft in itself. Developers pride themselves on the “big picture” results they achieve, but the activity of programming is definitely a humbling experience: it’s easy to introduce bugs, and regardless of whether I catch them right away or later in the pipeline, I hate to be reminded I am inherently flawed and have introduced a defect. For this article, I will focus on simple methods to avoid bugs, not before or after you write code, but while you write that code.
The Right Tools to Develop with the IVAAP Backend SDK
One of the unique features of the IVAAP backend SDK is that you can develop your own data connectors and services with the IDE you are already familiar with. The data backbone of IVAAP is meant to be deployed in a cluster made of multiple nodes for scalability and reliability. However, despite the distributed nature of such a deployment, our SDK requires no particular plugin to compile or execute your code. The tools needed to develop a plugin for IVAAP’s backend are identical to the tools you would need to develop classic Java Servlets: a Java SDK (Oracle, OpenJDK), an IDE (Eclipse, NetBeans) and an application server (Tomcat, Glassfish).
How to Empower Developers with à la Carte Deployment in IVAAP Upstream Data Visualization Platform
IVAAP was not just meant to be a web application “built for purpose”—we wanted it to be a platform that customers can extend on their own. With this goal is mind, the first component that we picked for IVAAP’s architecture was a “lookup” system. This system makes IVAAP easy to learn, yet versatile, and devops appreciate that they can leverage it when a fast turnaround is needed.
What We Learned about the Future of NetBeans from the Last 2 Years
It’s been two years since Oracle announced the donation of the NetBeans source code to the Apache software foundation. This move was much more than a licensing change — it was a bit of a new beginning for NetBeans. With the release of NetBeans 10, now is a good time to look back and recognize the changes that this transition to Apache brought.
How Window Synchronization Facilitates Visualization of a Large Number of Datasets
While some customers will use the portability of INTViewer to present their data, others will use INTViewer on a workstation, with multiple monitors. And instead of opening a handful of windows, they will open a few dozen. The typical use case for opening a large number of windows is when you want to monitor the multiple steps of a processing workflow. In such a use case where datasets are compared, it’s important that all visualizations share the same settings. INTViewer makes it really easy to open dozens of datasets at once. You can select a directory and open in one click all the datasets within that directory. But this is not where INTViewer’s productivity stops. Automatic synchronization facilitates the management of all these windows.
Using Scopes in IVAAP: Smart Caching and Other Benefits for Developers
The purpose of IVAAP’s backend is to access data from many data sources and present this data in a unified manner to the IVAAP HTML5 client. Performance is key, and some data stores are faster to access than others. In a web service configuration, a smart caching strategy is required so that the same web/HTTP calls are not made to the same data store twice while a service request is being fulfilled, regardless of its complexity. This is where the concept of scope comes in.
Using INTViewer to Visualize Earthquakes and Other Seismic Activity
I often have a hard time explaining to friends and family what exactly INTViewer does. The moment I use the word “seismic,” the listener's mind automatically shifts to the topics of seismic activity and earthquakes, and I need to explain oil & gas exploration technologies before I even get to the software. By then, I have lost my audience. Today, I’ll try a different technique: I’ll describe the capabilities of INTViewer that actually cater to earthquake mapping. I will show how you can use the built-in capabilities of INTViewer to map recent earthquake activities.
5 Ways INTViewer Makes Offline Visualization Possible
I often say that INTViewer is a bit of Swiss knife. It serves multiple purposes, and each company finds a different use. This makes it hard to decide which feature to highlight. In the past few years, as the industry moved to the cloud, we created a companion for INTViewer: INTGeoServer, which makes it easy to visualize data beyond the bounds of your network. This year, with the new release of INTViewer approaching, I will highlight the opposite feature of INTViewer: its ability to work offline, disconnected from the world.
How the NetBeans Module System Helps Us Maintain Compatibility Between Releases
Two decades after its creation, the Java runtime has finally become modular. A modular approach not only makes dependency management easier, but it also makes applications more efficient as unused modules don’t need to be loaded. The NetBeans Platform predates Java 9 and has been using its own module system for years. Since INTViewer is a desktop application built on top of the NetBeans Platform, I find that it is far superior to the Java 9 module system for my use cases.
What Cloud Data Lakes Mean for Geoscience
With the explosion of storage capacity, cloud computing, and bandwidth availability, a trend has emerged in the oil and gas industry over the last few years. Data that was previously aggregated and discarded is now maintained and stored, creating an opportunity for the industry. Coupled with new advancements in machine learning and Al, this data availability is poised to drive more data driven decision making in well planning, drilling & completions, and well operations.
Simplifying the Learning Curve of the Seismic Unix Library
INTViewer provides a graphical user interface for the SU library, reducing the learning curve. The Seismic Workbench is a free plugin that has the documentation for the SU library built in, making it easy to find a particular command and all the parameters that this command requires. INTViewer builds the full command line for you based upon all individual commands selected.
How to Improve Performance and Reduce Latency of Your Geoscience Data
Storing and accessing large, sometimes sensitive geoscience data is one challenge many top E&P companies face. Local data storage is one option. But what about data that is not stored locally? How do you access it quickly, and can you still use INTViewer?
Live Completion Is Better than AutoCompletion
A major feature of INTViewer 5.2 is the Python integration. Our development team worked very hard to ensure that our customers can get started easily and be productive once they are hooked. One consistent user feedback was that the Python terminal lacked autocompletion. It could become tedious to have to type the full name of each class, each method or each variable. We took this feedback to heart and implemented autocompletion in INTViewer 5.2.
3 NetBeans Shortcuts to Help You Be More Productive
I have been using NetBeans daily for about 8 years, so I'd say I am pretty familiar … with the features I use all the time. Over the years, friends and colleagues have shown me that there are faster ways to get the job done. I have gathered in this post three shortcuts that I learned from others and that you can also use when you develop an INTViewer plugin.
Accessing INTViewer Remotely
In our blog post on Microsoft Azure, we describe various ways customers can move their data to the cloud. In the configuration where INTViewer is hosted on a remote server and needs to be accessed from a local workstation, a Teradici client is one solution. These configurations are increasingly popular with our customers. For performance […]
Picking Horizons in INTViewer 5.2
Horizon picking is a feature that INTViewer has included from the start. However, after discussing with several long-time users, I have found that the evolutions brought by each release can be missed. The release of INTViewer 5.2 is a good opportunity to tour basic picking options. First, a bit of terminology. The term “horizon” in […]
Overlaying Shape Files on Seismic Surveys
In our post, “Closer Look at Coordinate Conversions,” we allude to the capabilities of INTViewer with coordinate system conversions. One benefit of on-the-fly conversions is the ability to see your seismic data in context. In the example below, a time slice is reprojected to the coordinate system used by Google Maps. Showing satellite […]
Visualize Microseismic Events with INTViewer Plugins [Walkthrough]
INTViewer is well-known for its seismic analysis capabilities. Among the less well-known plugins, there is a set that always impresses during demos: the microseismic plugins, a set of four plugins that allows INTViewer users to visualize microseismic events.
New Window System for INTViewer 5.2
If you are already a user of INTViewer, the first thing you will certainly notice when you open INTViewer 5.2 for the first time is the new window system. The way windows are laid out on screen has changed, introducing tabs to browse through these windows.
A Closer Look at Coordinate Conversions
INTViewer makes coordinate conversions virtually transparent to users. Users pick two Coordinate Reference Systems (CRS), one for their data and one for the visualization map, and the visualization updates automatically. How does INTViewer do it? The short answer is “it depends”. The long answer is that the strategy used varies based upon the CRSs selected, […]
Microsoft Azure + INTViewer
The cloud is not just a set of computing resources hosting web based-applications. Microsoft Azure can also be used to host what we know today as desktop PCs. Constant availability and unlimited storage are just two of the numerous advantages of hosting your PC on the cloud.
Simple Usability Features for Desktop Applications
Microsoft Windows has a standard dialog to choose and save files, but this is not an optimal way to navigate your file system from within your application. INTViewer addresses this issue.
Introducing the Normalization Widget
The Normalization widget is one of the new tools in INTViewer 5.2. It shows graphically how your current selection relates to the minimum and maximum amplitudes of the entire dataset. There are several normalization options in INTViewer: RMS, Maximum, Limits, etc.