Category Archives: Programming languages

Resolving Error “ImportError: No module name named hypothesis”

When running the test script “” to verify Caffe2 installation, you may encounter this error “ImportError: No module name named hypothesis”. Let’s take a look at the content of the script to get some idea about the root cause.

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals

from caffe2.python import core
from hypothesis import given
import hypothesis.strategies as st
import caffe2.python.hypothesis_test_util as hu
import caffe2.python.mkl_test_util as mu
import numpy as np

import unittest

class TestRelu(hu.HypothesisTestCase):

           engine=st.sampled_from(["", "CUDNN"]),
    def test_relu(self, X, gc, dc, engine):
        op = core.CreateOperator("Relu", ["X"], ["Y"], engine=engine)
        # go away from the origin point to avoid kink problems
        X += 0.02 * np.sign(X)
        X[X == 0.0] += 0.02
        self.assertDeviceChecks(dc, op, [X], [0])
        self.assertGradientChecks(gc, op, [X], 0, [0])

if __name__ == "__main__":

Continue reading

Quick Tip: Installing NodeJS 8 on CentOS 7

Node JS has been gaining more popularity as the server-side runtime environment of choice these recent years. The asynchronous event-driven feature built into Node JS can be considered a killer feature that may flatter a system architect planning to build a high-performing server-side component serving HTTP webservice to the clients.

Node JS is cross-platform. The executable can run on major OSes that include Windows, GNU Linux, and Mac OS. Having a wide OS support further accelerates Node JS adoption within the server-side technology stack. Continue reading

Xpath Basics: Introduction to XPath with an Example Java Project

xpathXPath is a W3C recommendation used to search and find parts of an XML document through a path expression. The elements or attributes that match the path expression will be returned for further processing by the invoking command, module, actor, or component.

In this post, I will explain about the basic concept of XPath via presentation slides. The presentation starts with a revisit to some of the XML key concepts. Subsequently, it shows sufficient elaboration of the basic concept of XPath. It concisely describes the key features of XPath that are worth knowing and practically useful especially when searching inside XML files.

The final part of the presentation consists of a sample project accompanied with some screenshots provided for readers to experiment with. In an upcoming post, I will show how the sample project can be converted into a Maven project for more convenient use and distribution.

You can download the slides from the following URL:

Xpath Basics (1022 downloads)

Maven Tutorial for Beginners: Installation and Configuration

maven_windowsMaven installation on Windows is very straightforward. Nonetheless, this post will provide sufficient elaboration to ensure a smooth installation. Following the installation, some configuration and testing tasks may need to be completed prior to creating the first Maven project.

A prerequisite for Maven installation is Java JDK. If you have not installed the Java SDK, you can refer to the installation procedure explained in this post.

The installation and configuration steps are executed in order as follows:

1. Download Maven zip package from the download page

Maven download page URL is
In this post, we will install and configure Maven 3.2.3. It can be anticipated that the installation procedure of the newer version of Maven will be quite similar with the one explained in this article.

2. Extract the zip into an installation directory of preference.

In this article, the directory contained in the extracted zip package is moved into “D:\Devs\DevHome\Maven\Bundle\apache-maven-3.2.3”. There is no strict rule regarding the installation directory. You can put the Maven directory in any directory of your choice. Continue reading

How to Install Java SDK on Windows

java_windows_sA lot of Java-based development tools require Java SDK as the dependency. This post will provide the guide on how to install Java SDK from Oracle on Windows, especially Windows 7. An additional configuration step is also included so that Java will be immediately ready for use by dependent applications.

Java SDK installation on Windows is apparently very straightforward. Oracle already provides a page explaining the Java SDK installation steps. This post focuses on step-by-step guide with necessary snapshot images to deliver better clarity on the installation process.

Java SDK Installation

1. Download Java SDK from the download page

Java SDK download page URL is

Oracle has released Java JDK 8 that provides improvement over the previous Java JDK 7. However, in this post we will choose Java JDK 7 since some popular libraries that we will use later may have not officially supported Java 8. To download JDK 7, click JDK download button from the Java SE 7uXX section and choose the binary version to download (32-bit or 64-bit). Continue reading