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 ]

How to unlock Windows systems with a bootable flash drive

Categories

Tags infosec programming software

Accessing a locked system is always a challenge. Full-disk encryption presents an immediate challenge to forensic experts. When acquiring computers with encrypted system volumes, the investigation cannot go forward without breaking the encryption first. By Oleg Afonin from ElcomSoft.

Traditionally, experts would remove the hard drive(s), make disk images and work from there. There is a faster and easier way to access information required to break full-disk encryption by booting from a flash drive, extracting the system’s hibernation keys and obtaining encryption metadata required to brute-force the original plain-text passwords to encrypted volumes.

The article provide following information for forensics experts:

  • Dealing with full disk encryption
  • No encryption: do i still need a password?
  • Why not reset the password?
  • Launching the chain reaction
  • Recovering windows logon password

Whether or not you are able to recover the password with a preliminary attack is a matter of luck, especially if there are multiple users or a domain controller in place. If you were unable to recover the particular user’s Windows logon password, as a last resort, you may reset the account password (or remove account lock if it was locked).

[Read More]

Remote work: How global teams collaborate across time zones

Categories

Tags how-to learning career cio distributed miscellaneous

Laura Heisman is an author of this article about how they have built and managed very successful global teams through the years and share some great insight on how to work with dispersed teams around the world.

Successfully managing a global team requires rock star leadership and strong communication skills, coupled with cultural awareness and empathy. It’s important to collaborate with your teams in ways that engage employees to work together as one team across multiple departments, languages, time zones, and cultures.

The article covers topics, like:

  • What best practices have worked well for you?
  • What is the impact of COVID-19 when it comes to remote working?
  • How do you work across different time zones and continents?
  • How do you work across different time zones and continents?
  • Any advice for new remote workers in similar functions to yours?

Plan your home office and your work-week, and be sure to leverage tools and technology available to accomplish this. It was also recommended that you have a divide between your ‘home’ and ‘office’. Good read!

[Read More]

Railway oriented programming in Kotlin

Categories

Tags java functional-programming programming kotlin

Railway Oriented Programming (ROP) is a functional programming technique that allows sequential execution of functions, not necessarily synchronous. The key concept is that each function can only accept and return Container of either Success or Failure. Failure wraps Throwable type and Success can be of any type. Published by Tonje Krosby.

This concept is present but not promoted in Kotlin since Kotlin 1.3. The matter of fact Kotlin KEEP states that feature may change in the future. At the time of writing this blog post, Result is a Container-like type which can be used inside generic containers such as Collection.

Example of functions that can have this paradigm and how to write adapters to those functions:

Excellent read for all fans of functional programming!

[Read More]

Native image lazy-loading for the web!

Categories

Tags miscellaneous browsers javascript frontend performance

In this post, we’ll look at the new loading attribute which brings native img and iframe lazy-loading to the web! Web pages often contain a large number of images, which contribute to data-usage, page-bloat and how fast a page can load. By Addy Osmani, Engineering Manager at Google working on Chrome.

Many of these images are offscreen, requiring a user to scroll in order to view them. Historically, to limit the impact offscreen images have on page load times, developers have needed to use a JavaScript library (like LazySizes) in order to defer fetching these images until a user scrolls near them.

What if the browser could avoid loading these offscreen images for you? This would help content in the view-port load quicker, reduce overall network data usage and on lower-end devices, reduce memory usage. Well, I’m happy to share that this will soon be possible with the new loading attribute for images and iframes.

The article then goes and describes the loading attribute. The loading attribute allows a browser to defer loading offscreen images and iframes until users scroll near them. For details, including demo video follow the link to the original article. Nice one!

[Read More]

How to improve docker image size with layers

Categories

Tags containers software-architecture docker

Today we’re going to dive deeper into Docker’s union file system (UFS) layers. Author will try to explain how layers work and then how to use them properly to reduce the size of your images. By Mac Rusek.

Docker containers are made of layers. Whenever we add, change, or delete files, we add a new layer on top of the old one. A combination of all those layers or the union is what the user or container sees; it’s a top-to-bottom view. On the other hand, the actual layered perspective is different.

The article puts forward few rules, which should help you to keep overall images small:

  • Whenever we commit something, we add a new layer
  • The image is a stack of layers and the user sees only the top one
  • Image size is a sum of all layers
  • We can flatten the image by export and import, but we lose the commit history
  • We can assign several tags to one image
  • We should tag generously
  • Don’t forget to keep the latest tag for the actual latest release

From the user perspective, we can see only the files that are left after all operations, but under the hood, everything is still there. Everything we add and then remove is still in our image. It’s helpful in general, as we have access to all commits, so we know what’s happened and when it happened. Good one!

[Read More]

A Guide to software delivery value stream mapping

Categories

Tags software cio management agile

Value-stream mapping (VSM) is a lean manufacturing technique popularized in the 90s after its successful applications in the manufacturing industry with companies like Toyota. Written by Tiffany Jachja.

A VSM is also known as a material and information flow map. Using this map, you can identify areas of improvement and map your current state to your future state. This blog post summarizes the key concepts of VSM and shares how you can use VSM within your IT organization.

The content of the article is split for:

  • Value stream map symbols and components
  • Creating a value stream map
  • Evaluating a value stream map
  • Harness your value stream

There are some more ways to look at a Value Stream Map, which borrows from lean manufacturing concepts. To optimize the flow of value you have to consider mura(unevenness), muri(overburdening), and muda(waste). Good read!

[Read More]

Socket.IO, React and Node.js: Going Real-Time

Categories

Tags golang javascript programming web-development

Learn the basics of WebSockets and Socket.IO while pairing your first real-time server with a React frontend. Everybody builds chat apps with Socket.IO these days yet messaging applications are only the tip of the iceberg. Think a moment about it: there are a million of other things you can build within the real-time domain. By Valentino Gagliardi.

One thing to keep in mind is that Socket.IO is not an WebSocket implementation. The authors state that “Socket.IO indeed uses WebSocket as a transport when possible, but a WebSocket client will not be able to connect to a Socket.IO server, and a Socket.IO client will not be able to connect to a WebSocket server”.

In the following post we will start with some basic concepts all the way through exploring what Socket.IO and React can do for us when paired together. By the end of the article you will build a super simple real-time application.

The article explains how what you need to know for building your own app:

  • What a WebSocket is
  • Requirements
  • The WebSocket protocol, Node.js and Socket.IO
  • Preparing the project
  • Hands-on
  • Designing the server
  • Implementing the server
  • Implementing the React client

… you will get also all the code wel explained. After this tutorial author suggests exploring Socket.IO’s documentation to learn more about Rooms, Namespaces and other API methods. Good read!

[Read More]

The 15 coding languages with the highest salaries, and how to learn them online at no cost

Categories

Tags career management agile programming

Marguerite Ward wrote this piece about monetary evaluation of various jobs using different programming languages. If you’re self-isolating and have extra time on your hands, or if you recently became unemployed and are looking to gain an in-demand skill, learning how to code could help your career.

While some hiring managers don’t require a job applicant know a specific coding language (the coding skills are often transferable across languages), it does help to know which languages are associated with the highest-paying jobs.

According to jobs site Indeed.com, the two most in-demand jobs of 2020 are software architect and full-stack developer, both of which require a proficiency in coding.

Tech company HackerRank polled over 116,000 software engineers to find out which languages are associated with the highest salary.

From C++ and Python to Ruby and Perl, here are the top 15 coding languages associated with the highest salaries worldwide, along with online courses to learn them. Have a read to find the best paying programming language!

[Read More]

How to use Roam Research: a tool for metacognition

Categories

Tags data-science big-data management machine-learning software

A few weeks ago I discovered Roam which brands itself as “a note-taking tool for networked thought.” Let’s have a look at how to use Roam Research to achieve your personal growth goals. Written by Anne-Laure Le Cunff.

To me, the strongest use case is to develop your metacognition, a fancy way of saying “thinking about thinking” or “knowing about knowing.” Instead of blindly cramming new information inside your head, Roam encourages you to literally connect the dots—to create your own links and metaknowledge, thus increasing both your memory and understanding of new information.

The article describes author’s experience with researching a complex topic such as Simulation Hypothesis – which posits that all of reality is an artificial simulation, most likely a computer simulation.

She used Roam and the article describes:

  • Roam as a tool for networked thought
  • Roam Research is powered by bi-directional links
  • Roam as a tool for self-reflection
  • A few limitations of Roam Research
  • An organic approach to knowledge management

… and more. Ready to get started? Check another article from Anne-Laure – beginner’s guide to Roam with five easy-to-follow steps to get started. Excellent!

[Read More]

Google engineers 'mutate' AI to make it evolve systems faster than we can code them

Categories

Tags data-science big-data google machine-learning

Much of the work undertaken by artificial intelligence involves a training process known as machine learning, where AI gets better at a task such as recognising a cat or mapping a route the more it does it. Now that same technique is being use to create new AI systems, without any human intervention. By David Nield.

For years, engineers at Google have been working on a freakishly smart machine learning system known as the AutoML system (or automatic machine learning system), which is already capable of creating AI that outperforms anything we’ve made.

The new system is called AutoML-Zero, and although it may sound a little alarming, it could lead to the rapid development of smarter systems - for example, neural networked designed to more accurately mimic the human brain with multiple layers and weightings, something human coders have struggled with.

“It is possible today to automatically discover complete machine learning algorithms just using basic mathematical operations as building blocks,” write the researchers in their pre-print paper. “We demonstrate this by introducing a novel framework that significantly reduces human bias through a generic search space.” Follow the link for full details and further resources. Nice one!

[Read More]