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 ]

Mastering web components in Ionic 4

Categories

Tags app-development web-development nodejs javascript

In this series of posts we are going to go deeper on the new structure and core concepts of Ionic 4 and explore more advanced topics. Author also believes that the few structural changes that were made in Ionic 4 are a big win for the framework. By Agustin Haller.

The big thing about web components is encapsulation, this has a lot of benefits, but also enforce you to follow a more strict interface, leaving behind the anarchy and flexibility of Ionic 3 non web component elements.

The article then dives deep into Ionic and describes:

  • A big step forward towards the future of the web: Web Components
  • Styling Ionic 4 components
  • Customizing Ionic 4 components
  • Getting started with Stencil
  • Creating a Web Component with Stencil
  • Building a multi-color SVG icon web component

Plenty of code examples with detailed explanation also provided. And they also released Ionic 5 full starter app? It’s an ionic 5 template that you can use to jump start your Ionic app development and save yourself hundreds of hours of design and development. Super exciting!

[Read More]

REST API with Elixir/Phoenix - beginner's tutorial

Categories

Tags apis web-development code-refactoring json restful erlang elixir

For this tutorial, we are going to write a simple Books REST API with database persistence using PostgreSQL. The requirements are to have a single endpoint on /api/books that allows CRUD operations over the books resource. By Dairon Medina Caro.

This step by step tutorial then explains:

  • Prerequisites
  • Getting started
  • Creating the Phoenix project
  • Setting up the database
  • Modelling our data
  • Generating the REST endpoints
  • Adding the routes
  • Running the App

This was all about the Phoenix REST API Tutorial, while there seems to be a lot of witchcraft and generator magic, all it does is automate the generation of boring CRUD so you can focus on your important business logic, all the generated code is very explicit and can be modified to your needs and code style. Link to the GitHub repo provided together with moore resources for anybody interested in learning Erlang and Phoenix. Nice one!

[Read More]

🚀 Visualizing memory management in JVM(Java, Kotlin, Scala, Groovy, Clojure)

Categories

Tags java scala jvm performance

In this multi-part series, author aims to demystify the concepts behind memory management and take a deeper look at memory management in some of the modern programming languages. By Deepu K Sasidharan; JHipster co-lead, Java, JS, Cloud Native Advocate, Developer Advocate @ Adyen, Author, Speaker, Software craftsman.

The series should give you some insights into what is happening under the hood of these languages in terms of memory management. In this chapter, we will look at the memory management of the Java Virtual Machine(JVM) used by languages like Java, Kotlin, Scala, Clojure, JRuby and so on.

Heap memory allocation

Source: https://deepu.tech/memory-management-in-jvm/

The article then focuses on:

  • JVM memory structure
  • Heap memory
  • Thread stacks
  • Meta space
  • Code cache
  • JVM memory usage (Stack vs Heap)
  • JVM Memory management: Garbage collection
  • Mark & Sweep Garbage collection

… and more. JVM manages the heap memory by garbage collection. In simple terms, it frees the memory used by orphan objects, i.e, objects that are no longer referenced from the Stack directly or indirectly(via a reference in another object) to make space for new object creation.

Slide presentation is always provided for your benefit, together with code examples. Refreshing read!

[Read More]

Human inside: How capabilities can unleash business performance

Categories

Tags management cio agile learning teams

Companies need human capabilities more than ever. What can organizations do about it? As business pressures only increase, organizations need to help develop workers’ human capabilities—curiosity, imagination, creativity, empathy, and courage—and encourage their application across all levels and departments. By John Hagel, Cochairman, Deloitte Center for the Edge.

In the future of work, a paradox is becoming increasingly apparent and important: The more advanced and pervasive technology becomes, the more important humans are to the equation—humans as customers, humans as buyers, humans as engines of growth and innovation, humans as users, collaborators, and stakeholders. And leaders are seeing fresh importance in the ways in which organizations deploy and develop their people to create new value and navigate increasing ambiguity.

Why aren’t companies more focused on developing and making use of the human capabilities in their organizations? Why is this still an unrealized opportunity?

Innate human capabilities broaden the horizon

Source: @Deloitte analysis https://www2.deloitte.com/us/en/insights/focus/technology-and-the-future-of-work/building-capability-unleash-business-performance.html

The article deals with the following in great deal:

  • An untapped opportunity
  • The business benefits
  • How to approach cultivating capabilities
  • Why do capabilities matter?
  • Cultivating human capabilities offers tangible business benefits
  • Myths and misconceptions
  • How to cultivate capabilities throughout the organization

.. and much more. Tons of good advice and pointers how innovation, transformation, and leadership occur in many ways.

We liked this:

Human capability: Attributes that are demonstrated independent of context. Capabilities have value and applicability across different outcomes, sectors, and domains; they do not become obsolete.

Skill: The tactical knowledge or expertise needed to achieve work outcomes within a specific context. Skills are specific to a particular function, tool, or outcome, and they are applied by an individual to accomplish a given task.

Excellent read, very insightful for anybody in a leadership role!

[Read More]

Centralize your automation logs with Ansible Tower and Splunk Enterprise

Categories

Tags python ansible devops analytics big-data

For many IT teams, automation is a core component these days. But automation is not something on it’s own - it is a part of a puzzle and needs to interact with the surrounding IT. By Leonardo Araujo.

The Red Hat Ansible Automation Platform is a solution to build and operate automation at scale. As part of the platform, Ansible Tower integrates well with external logging solutions, such as Splunk, and it is easy to set that up. In this blog post we will demonstrate how to perform the necessary configurations in both Splunk and Ansible Tower to let them work well together. Splunk is data platform which enables you to bring data to every question, decision and action.

This tutorial then describes in detail:

  • Setup of Splunk
  • Configuring Data Input with Red Hat Ansible Content Collections
  • Validating Data Input
  • Configuring Ansible Tower
  • Viewing the logs in Splunk
  • Creating a simple dashboard

In this post, author demonstrates how to send the Ansible Tower usage logs to Splunk to enable a centralized view of all events generated by Ansible Tower. That way we can create graphs from various information, such as the number of playbooks that failed or succeeded, modules most used in the executed playbooks and so on. Plenty of screen shots and all the code for playbook available. Superb!

[Read More]

Mastering AWS Kinesis data streams

Categories

Tags software-architecture event-driven messaging big-data cio data-science code-refactoring

An article by Anahit Pogosova in which she describes how she has been working with AWS Kinesis Data Streams for several years, dealing with over 0.5TB of streaming data per day. Rather than telling you about all the reasons why you should use Kinesis Data Streams (plenty is written on that subject), she will talk about the things you should know when working with the service.

One thing about Kinesis Streams that makes it a very powerful tool, in addition to its nearly endless scalability, is that you can attach custom data consumers to it to process and handle data in any way you prefer, in near real-time.

After writing it to a stream, data is available to read within milliseconds and is safely stored in the stream for at least 24 hours, during which you can “replay” the data as many times as you want. You can increase that time even further, to up to 7 days, but you will be charged extra for any time over 24h.

The article then reads about:

  • Shards
  • Shards and Partition Keys
  • Serverless?
  • Writing to a stream
  • AWS SDK
  • Batch operations
  • Failures
  • Partial failures
  • Pricing

The main cause for these kinds of failures is exceeding the throughput of a stream or an individual shard. The most common reasons for that can be really tricky to fix. They are traffic spikes and network latencies. Both of them may cause records to arrive to the stream unevenly and cause sudden spikes in throughput. Plenty of code examples, links to further reading and charts explaining concepts. Excellent read!

[Read More]

Introduction to Machine Learning K-Nearest Neighbors (KNN) algorithm in Python

Categories

Tags machine-learning big-data data-science fintech python

Machine Learning is one of the most popular approaches in Artificial Intelligence. Over the past decade, Machine Learning has become one of the integral parts of our life. It is implemented in a task as simple as recognizing human handwriting or as complex as self-driving cars. By Vibhu Singh.

In this blog, we will give you an overview of the K-Nearest Neighbors (KNN) algorithm and understand the step by step implementation of trading strategy using K-Nearest Neighbors in Python.

K-Nearest Neighbors (KNN) is one of the simplest algorithms used in Machine Learning for regression and classification problem. KNN algorithms use data and classify new data points based on similarity measures (e.g. distance function). Classification is done by a majority vote to its neighbors. The data is assigned to the class which has the nearest neighbors. As you increase the number of nearest neighbors, the value of k, accuracy might increase.

The article is split into:

  • Import the libraries
  • Fetch the data - the S&P 500 data from Yahoo finance
  • Define predictor variable
  • Define target variables
  • Split the dataset
  • Instantiate KNN model
  • Create trading strategy using the model
  • Sharpe Ratio

Now that you know how to implement the KNN Algorithm in Python, you can start to learn how logistic regression works in machine learning and how you can implement the same to predict stock price movement in Python. Nice one!

[Read More]

Building the Enterprise Knowledge Graph

Categories

Tags cio miscellaneous management teams

Over the years, enterprises have leveraged many generations of knowledge management products in order to retain and reuse knowledge across the enterprise, prevent re-inventing the wheel and improve productivity. By Henry Ball, Solutions Engineer, Neo4j.

Retainment and reuse of institutional expertise is the holy grail of knowledge management. Enterprise knowledge graph, coupled with AI/ML-based predictive capabilities, is the future of knowledge management technology.

This is a vast improvement over current knowledge management implementations. Graph technology helps connect discrete pieces of information together with the right context, providing extremely fast and flexible querying capabilities.

Knowledge Graph example data model

Source: https://neo4j.com/blog/building-enterprise-knowledge-graph/

The content of the article:

  • Why Build an Enterprise Knowledge Graph
  • The Hidden Wealth of Data Collected by Enterprise Apps
  • Implementation of a Knowledge Graph
  • Connecting to the Google Drive API
  • Document Extraction
  • Document Ingestion
  • Extending the Data Model

Hopefully, this article gets you thinking about what kind of insights a knowledge graph might uncover for your organization. Great read!

[Read More]

11 mistakes to avoid during your first 30 days as a new manager

Categories

Tags career management agile programming

As a new manager, mistakes are inevitable. The mindset to acknowledge mistakes and learn from them is essential to success. Learn from these 11 common mistakes. By Vinita Bansal.

As a new manager, mistakes are inevitable. The first few weeks are the most critical to earning trust and respect from people in the organization. The mindset to acknowledge mistakes and learn from them is essential to the growth and success of a new manager.

First-time managers fail when they do not accept the challenges of the new role with openness and curiosity. They are oblivious of the impact of their own actions, how others perceive them, and live with a false sense of pride in the assumption that everything they do is right… What new managers need to know is that self-awareness is the first step to notice their own shortcomings. They are bound to make mistakes, but self-discipline and eagerness to improve can help them learn from these mistakes and offset their vulnerabilities.

The excitement of the new job along with the commotion of its demands will cause you to make mistakes as a new manager.

The article then summarizes things to avoid:

  • I need to act early to establish credibility
  • You’re too worried that everyone is watching you
  • You think asking for help or advice is a sign of weakness
  • You are expected to know everything
  • You need to optimise for team goals
  • Former peers are my friends

It may be uncomfortable at first, but a new manager must openly discuss the new dynamics with each of their team members. Talk about your new role, define boundaries, and align on expectations. Mention that you will make mistakes and will need their support to learn and do what’s right for the team. For full list of the mistakes follow the link to the article. Refreshing read!

[Read More]

Generating UUIDs at scale on the Web

Categories

Tags web-development browsers cloud infosec crypto

Can you trust every browser to generate globally unique identifiers at scale? At Teads, we have tried, and the answer is yes, with a few caveats. This article describes the experiments we’ve run and the discoveries we made along the way. By Matthieu Wipliez, senior software engineer @ Teads.

Generating unique identifiers is a common need that third-party scripts integrated on Web pages and e-commerce sites have for analytics, marketing purposes, or advertising.

These scripts are almost always loaded from a CDN (Content Delivery Network) whenever they get used at a big enough scale to get optimal response times and to reduce the load on origin servers.

This means that scripts cannot be generated on-the-fly. A workaround could be (or used to be) to have the CDN generate a unique identifier and store it in a cookie, except that user privacy legislation like GDPR and ePrivacy directives in Europe or the CCPA in the USA prevent cookies to be set until the user has given their unambiguous consent.

The article then deals with:

  • Uniquely identifying advertising experiences
  • Universally Unique IDentifiers
  • Pick your version (4 versions of UUID)
  • Let’s generate a UUID in the browser
  • Experiments for UUID generation
  • Analysis of generated UUIDs
  • Collisions

The vast majority of browsers (99.9%) provide the APIs needed to generate random (version 4) UUIDs, either with URL.createObjectURL or crypto.getRandomValues. From what we have seen in the source code of major browsers, the implementation of these functions is of a similar quality to what can be found on servers. It is therefore highly surprising that they generate a significant number of collisions with 5 non-unique identifiers per million.

Upon closer look, the APIs are not at fault, rather these collisions seem to be mainly (92%) due to Googlebot and some other Google-related services. The rest of collisions (8%) are either coming from a fringe browser (PS Vita), automated browser agents (HTML to PDF converters) or are associated with fraudulent activity, most likely because of man-in-the-middle agents/proxies.

What author found initially was that close to 2 requests per thousand carried a duplicate UUID. This is sobering, to say the least. _The theory says that there’s a 50% chance of having one collision if you generate 1 billion UUIDs per second for 85 years. In our case, we will be generating about 1 billion UUIDs per day, so we should be safe for about 7 million years. _. The difference is that we were looking at duplicated requests instead of colliding identifiers. Plenty of charts explaining various concepts and also links to further reading are provided. Excellent read!

[Read More]