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 ]

Going from JavaScript to WebAssembly in three steps

Categories

Tags javascript web-development browsers performance

It is vital that the performance on the client’s browser is as good as possible. The reason for this is very simple: when you are being told a story, or watching a movie, even a single frameskip immediately takes you out of your experience. By Marcel Duin.

WebAssembly (Wasm) is the ability for your browser to run compiled code at (near-) native speeds. It is now recognised by the W3C as the 4th official web programming language, after HTML, CSS and JavaScript.

With it, you can run compiled code written in a variety of programming languages (C/C++, Rust, Go, AssemblyScript, and many more) in your browser, without any need for plugins.

I was very impressed by a synth demo written in AssemblyScript, a language created specifically for WebAssembly, using the TypeScript syntax. Basically you can write (near) TypeScript, which compiles to a .wasm-binary. So anyone familiar with either TypeScript or JavaScript ES6 will not have a lot of difficulties using it.

This article describes my journey from upgrading the Micrio JavaScript-only client to use WebAssembly, with the hopes of improving performance, and taking my code to the next level:

  • The current version
  • First rewrite: C++ and emscripten
    • Coding C++ felt old-fashioned
    • The compiled .wasm binary was very large
    • TIL: A glue file
  • Second rewrite: AssemblyScript
    • Going atomic
    • Bundling the compiled Wasm inside the JS file
    • Realisation
  • Third Rewrite: AssemblyScript + WebGL
    • Moving the image tile logic to AssemblyScript
    • Connecting it to JavaScript
    • Rendering the lot

… and much more. The new client already felt a lot smoother in my browser. Zooming, panning and animating clearly went more smoothly than the previous JS-only version. It all resulted in 65% less CPU used than and there was less memory used. These results were also the same over multiple runs. Very insightful!

[Read More]

How the HotSpot and Graal JVMs execute Java code

Categories

Tags java app-development programming miscellaneous performance

James Gough explores the subsystems that are involved in interpreting, compiling and executing a Hello World Application. He dives into JIT compilation and the arrival of the JVM Compiler Interface to explore how optimizations are applied to boost the performance. He discusses HotSpot, explores Graal and the JVM ecosystem to discover performance benefits of a platform 25 years in the making.

This talk can be divided into few interesting topics:

  • Exploring the JVM
  • Building Java applications, a simple example
  • Classloaders
  • Interpreting bytecode
  • The HotSpot compiler
  • Challenges with the C2 compiler
  • Evolving the JIT compiler
  • JVM Compiler Interface (JVMCI)
  • Graal as a JIT

… and much more. You will also get a video with the talk.

Fundamentally, Graal in terms of how JIT compilation is working, it’s not doing anything super revolutionary like the structure. the idea that you take a graph that represents your program as it is running. Then you do optimizations to that graph, essentially. Then you take the output graph and emit that into the actual machine code itself. It uses a combination of, what’s actually going on? What does the profile look like? It runs through a series of phases. Then you end up with your output code, which is a lot quicker than being interpreted. Superb!

[Read More]

What is risk management and how to integrate it into SDLC: Best explanation ever

Categories

Tags teams infosec management agile miscellaneous

This article describes the primary concepts associated with organizing and managing the system-related information security risk in organizations. Concepts associated with organizing and managing the system-related information security risk in organizations. By Mr.Vic.

Risk Management Overview

Source: https://hackernoon.com/what-is-risk-management-and-how-to-integrate-it-into-sdlc-best-explanation-ever-qg1c3t8m

To undertake the Managing information on security and the privacy-related task is a complex, and it’s required a broad perspective which involves the entire organization from the Chief Technology Officer (CTO), Network Security Architect (NSA) providing the strategic vision and goals and objectives for the organization, to mid-level leaders planning, managing, and executing the visions, to associate level individuals developing, implementing, operating, and maintaining the organization’s strategic missions and business functions.

Risk management is a reciprocal activity that includes mission and organization planning, network architecture, the SDLC processes, identify, evaluate, and prioritize risks followed by the application of resources to minimize, the control impact of unfortunate events or to maximize the realization of events. It is a multi-level approach to the organizational risk management flow. The communication between the business and organization is in bi-directional flow.

To learn more about actions conducted at Level 1 and Level 2 of above schema and how critical they are to preparing the organization to execute the risk management framework follow the link to the full article. Nice one!

[Read More]

Getting started with DevOps automation

Categories

Tags devops teams cloud programming

Automation is one of the key principles for accelerating with DevOps. It enables consistency, reliability, and efficiency within the organization, making it easier for teams to discover and troubleshoot problems. By Jared Murrell.

However, as we’ve worked with organizations, authors have found not everyone knows where to get started, or which processes can and should be automated. In this post, thet will discuss a few best practices and insights to get teams moving in the right direction. You will find information on:

  • A few helpful guidelines
  • DevOps automation best practices
    • Continuous integration, continuous delivery, and continuous deployment
    • Change management
    • X as code
    • Continuous monitoring

Automation is an important means to accomplishing this work efficiently between teams. Whether you’re new to DevOps or migrating from another set of automation solutions, testing new tooling with a small project or process is a great place to start. Nice one!

[Read More]

How many jobs do robots really replace?

Categories

Tags robotics big-data data-science teams career

New research puts a number on the job costs of automation. In many parts of the U.S., robots have been replacing workers over the last few decades. But to what extent, really? Some technologists have forecast that automation will lead to a future without work, while other observers have been more skeptical about such scenarios. By Massachusetts Institute of Technology, original written by Peter Dizikes.

Now a study co-authored by an MIT professor puts firm numbers on the trend, finding a very real impact – although one that falls well short of a robot takeover. The study also finds that in the U.S., the impact of robots varies widely by industry and region, and may play a notable role in exacerbating income inequality.

From 1990 to 2007, the study shows, adding one additional robot per 1,000 workers reduced the national employment-to-population ratio by about 0.2 percent, with some areas of the U.S. affected far more than others.

This means each additional robot added in manufacturing replaced about 3.3 workers nationally, on average.

That increased use of robots in the workplace also lowered wages by roughly 0.4 percent during the same time period.

In the U.S., four manufacturing industries account for 70 percent of robots: automakers (38 percent of robots in use), electronics (15 percent), the plastics and chemical industry (10 percent), and metals manufacturers (7 percent). To learn more follow the link to the full article. Interesting!

[Read More]

Data-driven software architecture

Categories

Tags software-architecture containers web-development app-development agile big-data

The web continues to grow and expand in innovative ways. At the same time, few seem to notice that the way web applications are currently built is dragging us ever deeper into technical debt. Software-centric architecture and legacy technologies used to implement it are at odds with the potential of the web. At best, they are wildly inefficient, and at worst they are heading us into a software apocalypse. By AtomGraph.

The article is split into:

  • The problem with legacy systems
  • The problem with APIs
  • The problem with code

What most of them fail to notice is that they are dragging themselves deeper into the technical debt. Let’s be clear: a large number of different APIs is a liability. The compound complexity of the sheer amount of APIs makes system integration and interoperability increasingly difficult:

With the growing number of web applications and APIs, the size of their codebases grows continuously as well. The reuse of models, or rather the lack of it, is another problem with imperative code… Good read!

[Read More]

Be effective with Bitrise CI for Android — the lessons learned the hard way

Categories

Tags cicd android web-development software-architecture containers

I’m pretty sure we can all agree on how CI tools support our day to day effectiveness. How they might save dozens of hours spent on non-essential tasks. Yet, it’s common to present CI tools as a hassle; slow, bulky, and unreliable pipelines bloated with chaotic events instead of fast, maintainable feedback loop configured to support both product quality and team flexibility. By Maciej Malak.

In this article, you will find discussion surrounding architecture, flavour agnostic unit testing, Gradle usage as well as keeping your logs and artefacts deployment in order. Additionally, at the end of the article, several tips and tricks beyond optimisation will be included.

The article main bits:

  • The landscape
  • Unit testing
  • Flavour agnostic unit tests
  • Flavour dependent unit tests
  • Artefacts deployment
  • Automation workflow
  • Investigating tools configuration
  • All numbers together
  • Tips and tricks beyond optimisations

We liked this one: Do what we haven’t done yet — introduce tools to measure build metrics automatically. Have as granular CI steps as possible. Use title attribute extensively. Greater readability — greater control over time. Solid foundations are the first step for future optimisation. Excellent advice!

[Read More]

Setting Google Analytics on a Jekyll website and implementing cookie consent collect

Categories

Tags analytics miscellaneous big-data web-development

It is very useful to have Google Analytics on your website to have an idea of how many (or how few) people are visiting. Using Google Analytics on a website requires a valid consent from visitors (Because of ePrivacy Directive and not the GDPR). By Coralie Collignon.

The article provides step by step instructions how to deal with cookie consent on a static site:

  • Implementing Google Analytics
    • Creating a Tracking ID on Google Analytics
    • Implementing Google Analytics in your Jekyll website
  • Collecting cookie consent
    • Not all cookie banners are compliant
    • Implementing a compliant cookie banner

You will find links to further resources. e.g. Jekyll Codex has a tutorial explaining how to have the correct cookie banner and provides the code to use in the cookie-consent.html. All the code is provided with explanation and enhancement journey documented. Good read!

[Read More]

Edge computing architecture and use cases

Categories

Tags cloud startups software-architecture cio apis iot

Benefits, challenges, and architectures when enterprises implement edge computing in Telecom and other industries. By Jason Gonzalez, Jason Hunt, Mathews Thomas, Ryan Anderson, Utpal Mangla @IBM.

The advent of 5G has made edge computing even more compelling, enabling significantly improved network capacity, lower latency, higher speeds, and increased efficiency. 5G promises data speeds in excess of 20 Gbps and the ability to connect over a million devices per square kilometer.

Developing new services that take advantage of emerging technologies like edge computing and 5G will help generate more revenue for many businesses today, but especially for telecommunications and media companies.

This article goes in depth over:

  • What is Edge Computing?
  • Edge Computing and 5G
  • Benefits and challenges of edge computing
  • Cross Industry Use Cases
    • Use case #1: Video Surveillance
    • Use case #2: Smart Cities
    • Use case #3: Connected Cars
    • Use case #4: Manufacturing
  • Overall Architecture
  • Sample implementation of an edge computing architecture

Edge computing architecture overview

Source: https://developer.ibm.com/depmodels/edge-computing/articles/edge-computing-architecture-and-use-cases/

In this brief overview of edge computing technology,authors have shown how edge computing is relevant to challenges faced by many industries, but especially the telecommunications industry. Perfect!

[Read More]

How data blending is leveling the playing field in online marketing

Categories

Tags startups cloud cio teams data-science

Online marketing today is about successfully manage your social media marketing, social media advertising, PPC ads, email campaigns - if you’re not careful, it can feel like throwing spaghetti at the wall just to see what works. Fortunately, data analysis and - more specifically - data blending can make your marketing decisions faster and easier to make, with more impact. By Zac Johnson.

Data blending is simply where you take data from multiple sources and combine them to give you one united dataset.

This is incredibly beneficial regardless of what data you’re looking at but can be even more so for online marketing.

The article then explains the following:

  • What is data blending?
  • The benefits of consolidating your marketing data
  • Finding the right tools

The article also briefly looks at the 2 tools you need to know about. Sisense and Google Data Studio. It’s more important than ever to start using data blending in your business and marketing efforts. Good read!

[Read More]