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 ]

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


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


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


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


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]

Docker networking and how it impacts your image


Tags docker containers devops software-architecture

Can’t connect to the server running in your container? Let’s see why, and how to fix it, starting with an example. By by Itamar Turner-Trauring.

This is hands on tutorial, explaining common Docker networking issues in case you are not able to connect to your Docker containers. To understand how to solve various networking issues, you need to know a minimal amount about how Docker’s networking works.

Container network namespace example

Source: https://pythonspeed.com/articles/docker-connection-refused/

In particular, this article will cover:

  • Networking namespaces, and how Docker uses them
    • Networking without Docker
    • Network namespaces
  • What docker run -p 5000:5000 does, and why our example above doesn’t work
    • Docker run port-forwarding (is not enough)
  • How to fix your image so the server is accessible
    • The solution: listen on all interfaces

By default, containers run in their own network namespaces, with their own IP addresses. Links to more resources provided together with link to a book: Just Enough Docker Packaging. Nice one!

[Read More]

Difference between Personal Kanban and the Personal Agility System?


Tags agile cio teams career management

It may surprise you, but I was doing Personal Kanban before I created PAS. I then tried using Scrum on my life; that was closer to what I needed, but Scrum didn’t really solve my challenges either. So my “personal Scrum” evolved and became “my personal Agility” and eventually, The Personal Agility System™. By Peter Stevens.

No plan for the day survives the first call from a customer!

Larry Pakieser

In Personal Kanban, you write your options on cards. Then look at your options, and reflect on the complexity of each task, what relationships are involved, when things are expected, etc. Fill up your “Doing” column, while respecting the work in progress (“WIP”) limit. In the examples, the WIP limit was set to three, which means that only three tasks may be in progress at a time. Other tasks have to wait until one of them is completed.

The article deals with:

  • What do PAS and Personal Kanban have in common?
  • Personal Agility is about you and who you want to become
  • The Personal Agility Attitude
  • Dealing with Distractions and Interruptions
  • What are the key differences

In Personal Agility, the basic idea is to be aware of how what you are doing relates to what you care about. When deciding how to spend your time, be clear on what matters and why. The weekly “Celebrate and Choose” lets you to reflect on what you’ve accomplished – it is probably different that what you expected, but you pat yourself on the back anyway – and to choose items that serve a purpose that matters. Interesting read!

[Read More]

6 best practices for managing Git repos


Tags infosec agile software web-development open-source

This article reviews some of the best practices when it comes to adding files to your own repositories. Resist the urge to add things in Git that will make it harder to manage; here’s what to do instead. By Seth Kenlon (Red Hat).

Know your repo - This is arguably Rule Zero for a secure Git repository. As a project maintainer, whether you started it yourself or you’ve adopted it from someone else, it’s your job to know the contents of your own repository. You might not have a memorized list of every file in your codebase, but you need to know the basic components of what you’re managing.

In addition to the usual POSIX tools, you can detect binaries using git diff. When you try to diff a binary file using the --numstat option, Git returns a null result

$ git diff --numstat /dev/null pixel.png | tee
-     -   /dev/null => pixel.png
$ git diff --numstat /dev/null file.txt | tee
5788  0   /dev/null => list.txt

The article then describes following practices:

  • Know your repo
  • Ban binary blobs
  • Keep third-party libraries third-party
  • Resist a blind git add
  • Use Git ignore
  • Review merge requests

Git is meant for text, whether it’s C or Python or Java written in plain text, or JSON, YAML, XML, Markdown, HTML, or something similar. Git isn’t ideal for binary files. Some great advice here!

[Read More]

A startups lean business model canvas


Tags cio miscellaneous learning management teams software

A lean business model canvas determines your business model in a visually descriptive way. In the same way as the original Business Model Canvas, this “lean” version, ideal for startups, will help you construct your business plan more efficiently and help draft a business model for your idea or business. By wcic.tech.

Complete a startups lean business model canvas

Source: @wcic.tech wcic.tech/a-startups-lean-business-model-canvas/

The Lean Canvas is more suited to entrepreneurs and startups as it is more actionable by focussing on factors such as uncertainty and risk. The article describes:

  • Lean business model canvas framework
  • Solution
  • Key metrics
  • Unique value proposition (UVP) or unique selling point (USP)
  • Unfair advantage
  • Channels
  • Customer segments
  • Cost structure
  • How is a lean business model canvas different to a business plan?
  • Revenue streams

A lean business model canvas can be created in a day, is much more collaborative in its approach and provides structure and focus to early-stage startups. It’s a starting point on your entrepreneurship journey.

A business plan is great when you’re six months in and spoken to many people about your idea and looking towards investors. The problem with a business plan is that it can be very long and time-consuming. Great read!

[Read More]

Fastly edge compute explained


Tags cloud iot servers devops software-architecture

Fastly (FSLY) has experienced an incredible run over the past several weeks. In this post author will spend time examining how Fastly has approached building new technologies in the past and what this might mean for their future edge compute offering. By softwarestackinvesting.com.

Modern internet has new requirements

_Source: @fastly.com Fastly Q1 2020 Investor Deck, https://softwarestackinvesting.com/fastly-edge-compute-explained/

Since its founding, there has been something different about Fastly’s mind set. The Fastly team has a trait ingrained in their DNA to address hard technical problems with innovative and often more difficult solutions, with the goal to create a better experience for their customers. This was applied to the CDN business originally and is now manifesting in the design of a fast, compact, secure, globally distributed serverless compute platform.

The article is divided into:

  • Applied to network design
  • Distributed compute
  • Cloud vendor competition
  • Other Independents

Fastly’s solution for this distributed compute is called Compute@Edge and was announced in November 2019. “Edge compute” is really about providing a development environment for enabling large-scale, coordination-free distributed systems. These can run autonomously, anywhere outside of the origin. Providing the development platform to enable this type of distributed compute is Fastly’s vision for Compute@Edge. You will also get loads of links to further reading. Good read!

[Read More]

How to create a personal leadership development plan


Tags cio miscellaneous learning management teams

In every organization and in every industry, leaders play a critical role: managing teams, working together to make important (and sometimes difficult) decisions, and guiding an organization to move in the right direction. By Brian Eastwood.

While you might think of a leader as an experienced executive with a corner office, the reality is that successful organizations rely on employees who demonstrate strong leadership skills regardless of their job title or length of tenure.

If you are looking to enhance your leadership capacity, one important strategy for guiding your growth is to create a personal leadership development plan:

  • Benefits of a personal leadership development plan
  • Before the plan: conducting a self-assessment
  • Elements of a personal leadership development plan
    • Core skills to master
    • Experience gaps to close
    • New relationships to build
    • Specific tasks to delegate
    • Key action items to complete
    • Critical indicators of success
  • Beyond the plan: building leadership development into your role

And remember: take time to reflect. Leaders have a great deal of responsibility to juggle. Take 15 minutes every morning to assess the most important tasks for the day and 15 minutes in the evening to reflect on what went well and what could have been improved. Nice one!

[Read More]