Welcome to curated list of handpicked free online resources related to IT, cloud, Big Data, programming languages, Devops. Fresh news and community maintained list of links updated daily. Like what you see? [ Join our newsletter ]

Shareloc: share your location with friends using the cloud

Categories

Tags cloud app-development serverless

Gerrit Grunwald wrote pos about how easy it is to use Java SE and JavaFX to create mobile applications that run on iOS and Android devices in the cloud – without the need to learn a lot of different platforms.

For this project, author makes use of the Oracle Application Container Cloud service, which provides preconfigured containers that run Java SE applications.

Article then follows with detailed information:

  • About app idea
  • Server application requirements
  • Code for creating a simple REST endpoint
  • The Mobile Application in JavaFX using framework, called Gluon
  • Deployment to Oracle Application Container Cloud service

And much more. For limited time you can also get coupon to experience Oracle Cloud for free worth $300. Sweet!

[Read More]

How to connect to Redis with Unix sockets in Docker

Categories

Tags docker containers kubernetes

Jonathan Baldie short tutorial addressing speed of Redis connection. Connecting to Redis via Unix sockets is usually faster than connecting via TCP/IP.

That’s because in general, Unix sockets have much less overhead. They’re essentially just files that Unix-based systems can read. The downside of that being that only local connections are possible.

A 14% speed difference is significant and we should take advantage of this even when using Docker.

The most systems based on Docker are set up to connect to Redis via Docker’s own TCP bridge networking. So how can we use Unix sockets? We can take advantage of shareable Docker volumes so we can use Unix sockets even in containers environment.

We can use the busybox image for this volume container because this container won’t actually be doing anything other than holding the volume. We also can use volumes_from option to extra the same volume from the busybox container. Good article with detailed code examples and explanation.

[Read More]

Automating CI/CD workflow for serverless apps with CircleCI

Categories

Tags cicd aws containers serverless

Rupak Ganguly wrote neat post about the process of continuous integration and deployment (CI/CD) of serverless application – which can be really challenging. In this post, author takes a deep look at the end-to-end workflow of automating a CI/CD process for a serverless application via CircleCI.

Article describes using serverless frameworks and also covers in depth (among others):

  • Defining the CI/CD process
  • Creating an app with testable code
  • Preparing the app for automation
  • Integrating with a CI/CD toolchain
  • Advanced deployment patterns

It also covers Creating an AWS IAM user and configuring CircleCI with AWS credentials. Plenty of code examples, screen grabs and explanations. In real-life enterprise scenarios, there’s a lot of complexity involved in deploying an application. There are concerns about redundancy, high-availability, versioning & rollback, A/B testing and incremental rollouts. Good read!

[Read More]

Understanding Angular pipes

Categories

Tags app-development android ios

James Griffiths post on Angular pipes. Angular, the underlying front-end development framework used by Ionic, provides developers with a feature known as pipes which allows data values to be transformed within an application’s template view prior to being displayed.

Over the course of his tutorial he takes you through using the following Angular pipes:

  • DatePipe
  • i18nSelect

Following from these he’ll then create 2 custom pipes which will allow the following data transformations to take place:

  • Return a random array element
  • Return a random generated, unique string value with a name spliced into that at select intervals

All pipes in Angular make use of a single method – transform. Both example code and installation instructions will help you to understand pipes in Angular. Start building your own pipes now. Good read.

[Read More]

Sherlock: Near real time search indexing for commerce site

Categories

Tags nosql software-architecture apache streaming

Prasanna Ranganathan from Flipkart published article about building a world-class e-commerce discovery experience through search. The dynamic nature of e-commerce poses unique challenges - stock units, availability, pricing, catalog data, etc. can all change at a very high rate and the system needs to keep up with the latest data lest the customer be disappointed.

Challenge: Processing all the data updates (10K per sec on average) on a continuous basis.

Stack they built their solution on:

  • HBASE
  • Storm + Kafka
  • Redis
  • Solr

Their real-time distributed stream processing framework of choice is Storm. Storm, coupled with Kafka, has a thriving user community not to mention the backing of the Apache foundation. Good read with supporting resources and charts.

[Read More]

A primer on deep learning

Categories

Tags big-data data-science

Post written by Jeremy Fain – the CEO and co-founder of Cognitiv, the first neural network technology. In it he addresses what deep learning, machine learning and artificial intelligence is.

Machine learning basically involves giving data to an algorithm and then “training” it to perform a certain task, such as giving out movie recommendations based on a user’s past watching history.

Deep learning takes machine learning to the next level through the use of artificial neural networks. These networks are essentially layers of artificial “neurons” in a rough approximation of the way that human brains work.

Neural networks are explicitly engineered to be able to recognize complex patterns. AlphaGo Zero “managed to rediscover over 3,000 years of human knowledge around Go game in 72 hours”.

To learn more jump to the forbes.com article below. And remmeber – the term “artificial intelligence” (AI) has been around since the 1950s. Are we getting over the threshold now?

[Read More]

Ports and Adapters Architecture

Categories

Tags software-architecture devops

Herberto Graca wrote another piece for a series of posts about Software Architecture. The Ports & Adapters Architecture (aka Hexagonal Architecture) was thought of by Alistair Cockburn and written down on his blog in 2005.

The application should have no knowledge of who/what is sending input or receiving its output.

Article then covers:

  • Evolving from the Layered Architecture
  • What is a Port?
  • What is a Port?
  • What are the benefits?
  • Delivery mechanisms isolation

The way author sees it, Ports & Adapters Architecture has only one goal: isolate the business logic from the delivery mechanisms and tools used by the system.

Interesting read with charts and links to further reading. Also please read all articles in the The Software Architecture Chronicle.

[Read More]

Agents and tasks in Elixir

Categories

Tags software-architecture functional-programming programming

Vitaly Tatarintsev wrote article about messaging in Elixirlang. Elixir provides nice wrappers around processes such as Agents and Tasks. Agents allow us to keep a state and Tasks help us to run processes in parallel.

Agents are background processes which help us to maintain a state. The usage of an agent is pretty straightforward. We have the ability to spawn an agent with an initial value, update its state and read the state.

Tasks are processes which run in a background. With the Elixir tasks, we can run all these jobs in parallel and then collect the result (if we need it).

Article also sports code examples. Also look at the older article of the same author: the StatefulRobot example with more Elixir goodies.

Author encourages you to read the documentation about Agents and Tasks. You can find more useful functions there which can help you to solve different problems.

[Read More]

Introduction to WebAssembly - why should we care?

Categories

Tags programming javascript nodejs

Gabriele Tomassetti article about WebAssembly, or wasm, which is a low-level bytecode format for in-browser client-side scripting. In practical terms, WebAssembly is implemented by browsers’ developers on the back of the existing JavaScript engine.

The kind of binary format being considered for WebAssembly can be natively decoded much faster than JavaScript can be parsed (experiments show more than 20× faster).

In the greater scheme of things, the arrival of WebAssembly means that you will not be forced anymore to use JavaScript for the web, because it is the only thing that run in the browser.

A founding principle of WebAssembly is to integrate well with the existing JavaScript world.

Author further covers:

  • How WebAssembly works
  • WebAssembly tools
  • Using WebAssembly
  • Interoperability between C and JavaScript

Its development is backed by people at Mozilla, Microsoft, Google and Apple. Example code and links to further resources also provided. Good read!

[Read More]

What is WebAssembly?

Categories

Tags programming javascript nodejs

Eric Elliott article about WebAssembly. WebAssembly gives us access to a set of low level building blocks that we can use to construct just about anything you can imagine.

The web platform is getting a new low-level binary compile format that will do a better job at being a compiler target than JavaScript.

WebAssembly defines an Abstract Syntax Tree (AST) that gets stored in a binary format. Binary is great because it means we can create smaller app bundles.

WebAssembly is:

  • An improvement to JavaScript
  • A new language: WebAssembly code defines an AST (Abstract Syntax Tree)
  • A browser improvement: Browsers will understand the binary format,
  • A compile target

WebAssembly brings language diversity to the web platform. Interesting read, well worth your time.

[Read More]