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 ]

Why you should not use webpack

Categories

Tags nodejs javascript performance containers cicd

Webpack is one of the most popular bundlers around today. Tons of production apps and frameworks, such as Next.js, Create React App, and more, use it for bundling and building. Additionally, it has the largest library of plugins out of any bundler. However, times have changed since Webpack’s inception, and now it is not the best tool for lots of cases. By AsyncBanana.

The article main content:

  • Why Webpack grew
  • The ecosystem now
  • Dev mode speeds
  • Ease of configuration
  • Bundle size
  • Alternatives (Parcel, Rollup, Vite, Snowpack)

Nowadays, there are many other bundlers, like Rollup, Parcel, Vite, and Snowpack, as well as a new native module system, ESM, or ECMAScript Modules. The newer bundlers have simpler configuration, allowing people to add/create plugins and configure the setup more easily, and some utilize ESM to make ultra fast reload speeds and smaller bundles.

While Webpack has a vast number of plugins and community support, in lots of ways, it is not the best thing to use. Personally, author prefers Vite, as it solves all three problems in an effective way, making it as easy to configure as Parcel, but still using ESM and gaining the advantages of that. Nice one!

[Read More]

Flow efficiency: Powering the current of your work

Categories

Tags management cio miscellaneous agile teams performance

How can we be more efficient? What’s holding us back from delivering great customer value, sooner? By Sonya Siderova.

The greatest leverage in increasing productivity though is focusing on avoiding delays. Eliminating the causes that block our work and accumulate waiting time is the best way of getting more done, with less effort. Any reduction of inactive time will improve your overall cycle time. Looking at wait time is usually the easiest and cheapest area to investigate first when it comes to process improvement.

Flow efficiency percentage

Source: https://getnave.com/blog/flow-efficiency/

The article then continues and covers following topics:

  • What is flow efficiency?
  • Analyzing the efficiency of your flow
  • Seeing the clear picture of your process
  • How to amplify your flow efficiency?

Let’s suppose your team needed 10 days to deliver a feature, but has only spent two days working on it. The flow efficiency of that feature would be 20%.

210 x 100% = 20%

Not an ideal percentage, but far from bad. Keep in mind it’s not uncommon for teams that are new to workflow management to start with an efficiency in the 15% range.

While trying to improve their flow efficiency, many companies simply start working on more commitments, hoping it will bolster their production rate. Good read!

[Read More]

Defenseless: UVA engineering computer scientists discover vulnerability affecting computers globally

Categories

Tags infosec management cio miscellaneous software linux servers crypto

In 2018, industry and academic researchers revealed a potentially devastating hardware flaw that made computers and other devices worldwide vulnerable to attack. Since Spectre was discovered, the world’s most talented computer scientists from industry and academia have worked on software patches and hardware defenses, confident they’ve been able to protect the most vulnerable points in the speculative execution process without slowing down computing speeds too much. By Audra Book @virginia.edu.

Researchers named the vulnerability SPECTRE because the flaw was built into modern computer processors that get their speed from a technique called “speculative execution,” in which the processor predicts instructions it might end up executing and preps by following the predicted path to pull the instructions from memory. A Spectre attack tricks the processor into executing instructions along the wrong path. Even though the processor recovers and correctly completes its task, hackers can access confidential data while the processor is heading the wrong way.

A team of University of Virginia School of Engineering computer science researchers has uncovered a line of attack that breaks all Spectre defenses, meaning that billions of computers and other devices across the globe are just as vulnerable today as they were when Spectre was first announced. The team reported its discovery to international chip makers in April and will present the new challenge at a worldwide computing architecture conference in June (2021). Follow the link to read the article in full. Very interesting!

[Read More]

Running scaled retrospectives

Categories

Tags agile management cio performance teams

A scaled retrospective provides the chance to expand scope of improvements beyond the individual team. By Colleen Johnson.

A scaled retrospective is meeting where multiple teams come together to identify critical organizational improvements and create a viable method for delivering and tracking them to completion.

Retrospectives are a chance for a team to come together to reflect on how they are working and identify small adjustments that will improve their practices.

The main content in the article:

  • Running scaled retrospectives
  • Phase one: review individual team data
  • Phase two: create a shared understanding
  • Phase three: vote as a team
  • Phase four: break down improvements
  • Facilitation tips

Scaled retrospectives are powerful opportunity for an organization to gather feedback and respond to the needs of the teams. The team-s ability to address issues outside of their sphere of influence is constrained by the lack of opportunity to come together in place where it is shared and discussed. Great!

[Read More]

Recording audio on Android with examples

Categories

Tags android app-development kotlin ux

Knowing how to effectively record audio from a phone is valuable for mobile developers, but is especially essential for apps that process media. The wide range of hardware in Android devices can make it difficult to develop applications that need to capture and play back audio. By Megan Ren.

However, Android provides several media frameworks to abstract the audio recording process, and others have developed external libraries that make it possible to incorporate high-performance audio into an application. This article will explain how to use the MediaRecorder, MediaPlayer, AudioRecord, and AudioTrack frameworks in Java, touch briefly on other options for audio capture and playback, and lastly will review their respective pros and cons.

The main content of the article:

  • What is MediaRecorder and how to use it?
  • What is MediaPlayer and how to use it?
  • What is AudioRecord and how to use it?
  • What is AudioTrack and how to use it?
  • Other options

For applications where low latency and/or high performance is vital to audio features, you could consider using libraries written in C or C++ and incorporating them in your app using the Android NDK toolset. OpenSL ES is an API that operates at a lower level, standardizing audio functionality access across platforms and allowing applications to use hardware acceleration. Follow the link to get all the details and see the table with features comparison for each option. Good read!

[Read More]

Introducing PHP on Cloud Functions

Categories

Tags app-development cloud php google serverless lambda

Google is bringing support for PHP, a popular general-purpose programming language, to Cloud Functions. With the Functions Framework for PHP, you can write idiomatic PHP functions to build business-critical applications and integration layers. By Brent Shaffer and Vinod Ramachandran @googlecloud.

Cloud Functions is a great fit for serverless, application, mobile or IoT backends, real-time data processing systems, video, image and sentiment analysis, and even things like chatbots and virtual assistants.

The Functions Framework for PHP supports HTTP functions and CloudEvent functions. A HTTP function is similar to a Webhook, whereas a CloudEvent function responds to Google services, such as Pub/Sub, Cloud Storage and Firestore, using CNCF CloudEvents.

Cloud functions on PHP supports logging through Cloud Logging, so information and error messages should be logged using Cloud Logging client library or using stderr, which will then be visible in the Logging UI.

The PHP Functions Framework fits comfortably with popular PHP development processes and tools. Include a composer.json file in your deployment, and those packages will be installed and the autoloader will be registered. Include a php.ini file, and your custom configuration will be loaded and extensions enabled. You will also get links to further reading, functions tutorials and PHP functions framework - and you can contribute as well. Nice one!

[Read More]

Experiments in concurrency 3: Event loops

Categories

Tags app-development javascript php

An event loop is a loop that runs your code and does things based on some events. That’s vague, I know, but it’ll become clearer as we go. By Shalvah.

Event loop is called a loop because it really is a loop. In fact, this is basically what happens in an event loop: First, it executes your code, statement-by-statement. Then, if there are any tasks in the task queue (which your code might have added), it executes them one-by-one.

function runEventLoop() {
  runUserCode();
  while (taskQueue.isNotEmpty()) {
    runNextTask();
  }
}

The article then captures:

  • What’s an event loop?
  • Task queues
  • Timers
  • Coroutines
  • Continuations
  • Handling requests
  • Why use an event loop?

Many popular async libraries implement an event loop, including ReactPHP, async (Ruby), and EventMachine (Ruby). But it’s not just the idea of doing multiple things at once that makes event loops cool. It’s the ability to utilise “idle time”. Good read!

[Read More]

Continuous integration for React applications using Jest and Enzyme

Categories

Tags devops react app-development cicd javascript continuous-delivery

React pairs nicely with Redux, which enables managing the data that React needs to render interfaces. Redux offers a predictable way to structure and update the data in those frontend applications. In this tutorial, we will explore how to write tests for an existing React and Redux application. By Kevin Ndung’u.

We will then configure continuous integration with CircleCI to automate the testing and ensure that any new code we add does not break the existing functionality.

The main content is split into:

  • Getting started
  • Walkthrough of the application’s functionality
  • Keeping track of our progress with Git and GitHub
  • Testing React components
  • Test setup
  • Component tests
  • Testing Redux functionality
  • Testing action creators
  • Continuous integration with GitHub and CircleCI
  • CircleCI configuration

Nice exploration of adding tests to a real-world React and Redux application. It is my hope that the concepts covered here will be helpful and will set you up for success when working on similar applications in the future. You will also get code examples and links to further reading. Good read!

[Read More]

Gitflow with automation for mobile apps

Categories

Tags devops software app-development cicd web-development continuous-delivery

Gitflow is a great branching strategy for mobile apps. As mobile developers we can only publish one stable release through the App Store and Google Play Store, therefore we do not need to—nor are we able to—ship bug fixes for older intermediate versions of the software. By Oliver Binns.

Automation is essential for achieving our agile principle of delivering working software frequently. Automated code-gates on our repository are like the brakes on our car, without them we cannot move faster without fear of crashing.

The full automated continuous integration & deployment pipeline

Source: https://www.oliverbinns.co.uk/2021/04/28/gitflow-with-automation-for-mobile-apps/

The article deals with:

  • Gitflow workflow
  • Adapting Gitflow for automation
  • Automating code gates

There are a number of automated gates that you should consider adding to your branches. These vary from basic linting through to full automated end-to-end integration tests. Some of these are free, so you can get started straight away, but some come at a high price, so you’ll have to consider if they’re worth it for your project. Good read!

[Read More]

What is the Circular Economy?

Categories

Tags miscellaneous cio learning how-to management

The World Economic Forum’s circular economy definition is “an industrial system that is restorative or regenerative by intention and design.” As opposed to the traditional linear model that transforms raw materials into products that are used once and discarded, the circular model closes the loop by bringing products back into the cycle after use so they can be reused, recycled, or repurposed.

Also referred to as circularity, this model is based on three principles:

  • Design out waste and pollution
  • Keep products and materials in use
  • Regenerate natural systems

The success of the circular economy model depends on certain core elements. First, products must be designed to be future proof – made of the right materials for an appropriate lifetime. This includes using renewable energy and renewable, reusable, and non-toxic resources in an efficient way. Success requires a shift in mindset. Waste is a resource; it must be recovered for reuse and recycling, which in turn requires the right infrastructure. Enterprises must rethink their business models and find opportunities to create greater value by building on the interaction between products and services. And finally, the new model requires digital technology that can track, monitor, and analyze relevant data across the entire process.

Circular business models reuse everything, but they rely heavily on emerging technologies to enable the path to sustainable profitability. Excellent read!

[Read More]