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 ]

Embodied Learning is essential to Artificial Intelligence

Categories

Tags software big-data data-science miscellaneous

Jeff Hawkins has a principle that intuitively makes a lot of sense, yet is something that Deep Learning research has not emphasized enough. This is the notion of embodied learning. That is, biological systems learn from interacting with the environment. By Carlos E. Perez.

The classic Deep Learning training procedure is one of the crudest teaching methods that one can possibly imagine. It is based on repetitively and randomly presenting facts about the world and hoping that the student (i.e. the neural network) is able to disentangle and create sufficient abstractions of the world.

Whereas most previous work focuses on the static setting (e.g., with images), we postulate that some of the causal factors could be discovered if the learner is allowed to interact with its environment.

Read the article in full to get better idea about Artificial Intelligence, challenges with Deep learning. The links to further reading and white papers are also provided. Nice one!

[Read More]

What is the best CPU for gaming in 2020?

Categories

Tags miscellaneous servers performance

We’ve tested all the top AMD and Intel processors to help you make the right choice. By Dave James.

The best CPU for gaming simply has to be the processor to offer the heady combination of powerful single-threaded performance, some tasty multi-threaded processing chops, and a price tag that doesn’t instantly nuke your bank balance. Thankfully that holy trinity is now more readily available that at any time we can remember.

Some of the processors (CPU) they’ve tested in the article:

  • Amd Ryzen 5 3600
  • Amd RyzeN 5 3600X
  • Amd RyzeN 5 2600
  • Intel Core i5 8400
  • Intel Core I5 9600K
  • Intel Core I9 9900K
  • Amd Ryzen 9 3900X
  • Amd Ryzen 7 3700X

… and others. Despite the dominance of multi-core CPUs in today’s gaming rigs, the difficulty in coding for chips with multiple processor cores has meant we’re still not seeing many modern game engines taking full advantage of the powerful CPUs many of us now have in our machines. In fact, since AMD has decided to take the fight to Intel in terms of core-count, even six cores is becoming more and more common. Good read!

[Read More]

A Pythonista's review of Haskell

Categories

Tags python functional-programming programming

An article by Ying Wang about his experience with trying Haskell after using Python in production for few years. Even as it’s a wonderful Swiss Army knife, Python also feels limiting in some ways. The same classes of bugs (e.g. type casting / translation errors, state management errors) kept cropping up, and Sisyphean bugs frustrate me. Python is also quite slow when you compare the operations you want to execute vs. the theoretical maximum performance of those operations on the underlying hardware. He kept wondering about what was possible if he had used a different tool.

Since Haskell is a lambda calculus, and everything is functional, I thought I could get parallelism trivially. Nope. As far as I can tell, you still have to mutate your source code, and use a library, such as Control.Parallel (external dep) or Control.Concurrent (base stdlib). Simon Marlow’s “Parallel and Concurrent Programming in Haskell” is probably a must-read to understand this topic (and things like Control.Concurrent.MVar).

His experience is divided into the sections:

  • What I like about Haskell
    • The type system
    • An emphasis on structure
    • Streams and stream-oriented programming foundations
    • Property-based testing
    • Hoogle
  • What I dislike about Haskell
    • Cognitive load
    • Indentation
    • Concurrency / Parallelism
    • Package Management
    • Strictness / Non-strictness
    • Compatibility

… and much more. One thing to point out is Haskell isn’t a magical elixir. It’s still a programming language. Good read!

[Read More]

Covariant uses simple robot and gigantic neural net to automate warehouse picking

Categories

Tags miscellaneous big-data data-science iot servers

A massive neural network connects cameras, a robot arm, and a suction gripper in Covariant’s logistics system. By Evan Ackerman. Covariant.ai spent almost a year talking with literally hundreds of different companies about how smarter robots could potentially make a difference for them.

These companies represent sectors that include electronics manufacturing, car manufacturing, textiles, bio labs, construction, farming, hotels, elder care—“pretty much anything you could think about where maybe a robot could be helpful,” Pieter Abbeel tells us.

“People often say neural networks are just black boxes and if you’re doing something new you have to start from scratch. That’s not really true . . . Their strength comes from the fact that you can train end-to-end, you can train from input to the desired output”.

This is a very interesting interview for anybody into automation, neural networks, robotics and deep learning. Excellent!

[Read More]

Why Discord is switching from Go to Rust

Categories

Tags programming golang web-development how-to

Jesse Howarth wrote this piece about how they seen success with Rust on the client side and server side. For example, they use it on the client side for our video encoding pipeline for Go Live and on the server side for Elixir NIFs. Most recently, they drastically improved the performance of a service by switching its implementation from Go to Rust.

Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages.

Their post explains why it made sense for us to reimplement the service, how it was done, and the resulting performance improvements:

  • The Read States service
  • Why Go did not meet our performance targets
  • So why 2 minute spikes?
  • Memory management in Rust
  • Async Rust
  • Implementation, load testing, and launch
  • Raising the cache capacity

To explain why Go wasn’t meeting their performance targets, they also discuss the data structures, scale, access patterns, and architecture of the service. Good read!

[Read More]

Creating true fluid web typography to improve our processes

Categories

Tags ux web-development how-to

Responsive web design has been a must-have skill for front-end developers for many years now, but creating a truly fluid interface and giving users a seamless experience across any device still poses a lot of challenges for designers and developers alike. By Razvan Onofrei.

The web is a wonderful medium, buzzing with information and connections. The web is also a very dynamic, interactive medium that, unlike the printed page, can and will be accessed from all sorts of devices. Web users get to easily adapt the web to their daily lives, making it part of their existence.

The article main sections are:

  • A brief history, considerations for various patterns for solving different layout or UX challenges
  • The first steps forward: breakpoints and media queries
  • Giving it a shot: intermediate breakpoints
  • Responsive typography
  • Pushing the boundaries
  • We found a solution that fits our needs

Plenty of useful information for anybody invested in the front design and typography. Nice one!

[Read More]

Scaling payments for Black Friday 2019

Categories

Tags software-architecture apis web-development agile

A blog post about Black Friday’s production scalability experience in payments provider company named iyzico. By Yalçın Yenigün.

First, they predicted the hourly request count of Black Friday 2019 and the maximum transaction per second (TPS) of their APIs because they needed to optimize throughput by finding and fixing bottlenecks. Thier team made predictions by using Long Short-Term Memory (LSTM) architecture. Unlike standard feedforward neural networks, LSTM has feedback connections. For more detail: https://pathmind.com/wiki/lstm.

After prediction, we knew the maximum request count per second of APIs and the predicted time frames of related peaks. In production, the engineering team simulated the same request counts via load testing by using JMeter (http://jmeter.apache.org/) and found the bottlenecks. The major improvements that we implemented:

  • Feature toggling
  • Health checks
  • Splitting Monoliths: Split some of monolith databases.
  • Cleaned blocking commands
  • Improved existing monitoring tools
  • Circuit breakers
  • Failover tests

… and more. And you will get links to further reading and resources. Good read!

[Read More]

Quantum computing for the very curious

Categories

Tags how-to cloud data-science machine-learning big-data software

If aliens have computers, it’s because computers are the answer to a question that naturally occurs to both human and alien civilizations. By Andy Matuschak and Michael Nielsen.

In 1928, the notion of an algorithm was pretty vague. Up to that point, algorithms were often carried out by human beings using paper and pencil, as in the multiplication algorithm just mentioned, or the long-division algorithm.

The article in great detail describes:

  • Part I: The state of a qubit
  • Part II: Introducing quantum logic gates
  • Part III: Universal quantum computing
  • What are quantum computers good for?
  • Are quantum computers really universal devices?

Quantum computers need to be at least as capable as classical computers. Over the long term, authors believe the most important use of quantum computers will be simulating other quantum systems. Excellent read!

[Read More]

SRE is the most innovative approach to ITSM since ITIL

Categories

Tags devops programming how-to cloud cio

For over a decade, IT Infrastructure Library (ITIL) has been the leading IT service management (ITSM) framework adopted by enterprises across the globe. So, what is driving a rapidly increasing interest in Site Reliability Engineering (SRE) as a service management alternative? By Jayne Groll.

ITIL is a library of volumes describing a framework of best practices for delivering IT services.

In its own words, Google refers to SRE as its approach to service management: “The SRE team is responsible for the availability, latency, performance, efficiency, change management, monitoring, emergency response and capacity planning.”

The article then provides information on:

  • ITIL4 framework compared to SRE
  • SRE is more closely aligned to Agile and DevOps
  • What this means for the “Humans of DevOps” in Operations and ITSM

Services will always need to be managed. However, competing in a digital age requires new ways of working and thinking with speed and quality as key metrics. Agility must be instilled across the value stream spectrum in order to increase flow and deliver an exemplary customer experience. Excellent!

[Read More]

How to prepare for a technical phone/video interview

Categories

Tags miscellaneous programming how-to learning

Kiara Contreras put together this guide in which she shares things that she has done to set herlsef up for success. Having set actions that you complete prior to the interview can ease anxiousness by creating routine.

This post includes information about actions that are meant to be done within the hour before your interview:

  • Take notes before the interview
  • Get dressed
  • Alert others of your interview
  • Find a quiet spot
  • Test camera & audio
  • Check Internet connection
  • Have resume & job description accessible
  • Silence your devices

… and much more. Getting into interview clothes can help your energy and that translates virtually to the interviewer. Try to place the computer/webcam at eye level. Doing this will help with your posture and you can speak directly without turning. Good read!

[Read More]