Archive for the ‘Development Tools’ Category

If you looked at TensorFlow as a deep learning framework last year and decided that it was too hard or too immature to use, it might be time to give it another look.

Since I reviewed TensorFlow r0.10 in October 2016, Google’s open source framework for deep learning has become more mature, implemented more algorithms and deployment options, and become easier to program. TensorFlow is now up to version r1.4.1 (stable version and web documentation), r1.5 (release candidate), and pre-release … Read the rest

The first half of this article presented an overview of serverless computing with AWS Lambda, including building, deploying, and testing AWS Lambda functions in an example Java application. In Part 2, you’ll learn how to integrate Lambda functions with an external database, in this case DynamoDB. We’ll then use the AWS SDK to invoke Lambda functions from our example Java application.

AWS Lambda and DynamoDB

DynamoDB is a NoSQL document store that is hosted by Amazon Web Services (AWS). DynamoDB … Read the rest

Serverless computing may be the hottest thing in cloud computing today, but what, exactly, is it? This two-part tutorial starts with an overview of serverless computing–from what it is, to why it’s considered disruptive to traditional cloud computing, and how you might use it in Java-based programming.

Following the overview, you’ll get a hands-on introduction to AWS Lambda, which is considered by many the premiere Java-based solution for serverless computing today. In Part 1, you’ll use AWS Lambda to build, … Read the rest

Until very recently, when you shopped for a database you had to choose: Scalability or consistency? SQL databases such as MySQL guarantee strong consistency, but don’t scale well horizontally. (Manual sharding for scalability is no one’s idea of fun.) NoSQL databases such as MongoDB scale beautifully, but offer only eventual consistency. (“Wait long enough, and you can read the right answer”—which isn’t any way to do financial transactions.)

Google Cloud Spanner, a fully managed relational database service running on … Read the rest

2017 was a good year for Google Cloud Platform. But 2018 promises to be even better. Although Google still sits well behind Amazon Web Services and Microsoft Azure in cloud revenue, with just 2.3 percent market share against AWS’s 44.1 percent and Azure’s 7.1 percent, according to Gartner data, 2018 could well prove Google’s breakout year.

That is, if it can just deliver on one, eensie weensie thing: helping enterprises operate more like Google.

In the past, this has … Read the rest

Jenkins is one of the earliest and still one of the most-used continuous integration and continuous delivery (CICD) servers. It has lots of competition these days, but still has a robust community and a wide range of plugins (1,400 when I last checked). Even if you wind up using a different automation server, it is worth understanding how to use Jenkins: The underlying concepts of CICD don’t change much from one implementation to another, even though the vendors do tend … Read the rest

PostgreSQL (aka Postgres) is old as dirt, yet over the past five years it has panned out as pure gold. MongoDB got the billion-dollar IPO and AWS launched the mind-bendingly cool Aurora Serverless, but it’s PostgreSQL that keeps having its moment—again and again and again.

Now the world’s fourth most popular database, according to DB-Engines’ multicomponent ranking, PostgreSQL has a ways to go before it surpasses Oracle, MySQL, and Microsoft SQL Server. Yet at its current pace, … Read the rest

Java 8 will be remembered mainly for introducing lambdas, streams, a new date/time model, and the Nashorn JavaScript engine to Java. Some will also remember Java 8 for introducing various small but useful features such as the Base64 API. What is Base64 and how do I use this API? This post answers these questions.

What is Base64?

Base64 is a binary-to-text encoding scheme that represents binary data in a printable ASCII string format by translating it into a radix-64 representation. … Read the rest

The first half of this article introduced the big picture of programming with Java APIs–such as how Java APIs fit into application development, cloud and microservices architectures, and the role of API specs like OpenAPI. You were introduced to OpenAPI and we developed a simple example application built from an API definition.

In this article we’ll continue developing our Java API definitions and application code with OpenAPI and Swagger, and we’ll throw Swing Web MVC and Angular 2 into the … Read the rest

The first half of this article introduced the big picture of APIs–such as how they fit into application development, cloud and microservices architectures, and the role of API specs like OpenAPI. You were introduced to OpenAPI and we developed a simple example application built from an API definition.

In this article we’ll continue developing our API definitions and application code with OpenAPI and Swagger, and we’ll throw Swing Web MVC and Angular 2 into the mix. By the end of … Read the rest