---
title: Learn Computing from the Experts | The Rheinwerk Computing Blog (2)
description: Dive into programming, web development, and more with Rheinwerk Computing Blog! Your go-to resource for expanding your computing knowledge. (2)
---

[![Rheinwerk Computing Logo](https://blog.rheinwerk-computing.com/hubfs/computing_logo-header.svg)](https://blog.rheinwerk-computing.com/) [Blog](https://blog.rheinwerk-computing.com)

- Books 
    - Get an overview of our wide selection of books on every relevant computing topic. 
          - [General Computing](https://www.sap-press.com/rheinwerk-computing/general-computing/)
          - [DevOps](https://www.sap-press.com/rheinwerk-computing/devops/)
          - [Programming Languages](https://www.sap-press.com/rheinwerk-computing/programming-languages/)
          - [Security](https://www.sap-press.com/rheinwerk-computing/security/)
          - [Software Development](https://www.sap-press.com/rheinwerk-computing/software-development/)
- Book Subscription 
    - Get unlimited access to all Rheinwerk Computing books! 
          - [Programming Subscription](https://sap-press.com/subscriptions/)

![](https://blog.rheinwerk-computing.com/hs-fs/hubfs/How%20to%20Write%20Your%20Own%20Python%20Functions.jpg?width=1000&name=How%20to%20Write%20Your%20Own%20Python%20Functions.jpg)

[Featured](https://blog.rheinwerk-computing.com/tag/featured) | Featured article

## [How to Write Your Own Python Functions](https://blog.rheinwerk-computing.com/how-to-write-your-own-python-functions)

Functions in Python provide functionality that you or someone else has already pro­grammed. In this post, we’ll teach you how to write your own Python functions.

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/how-to-write-your-own-python-functions)

# Latest Blog Posts

[![How to Do Freehand Drawing in Excel](https://blog.rheinwerk-computing.com/hs-fs/hubfs/How%20to%20Do%20Freehand%20Drawing%20in%20Excel.jpg?height=600&name=How%20to%20Do%20Freehand%20Drawing%20in%20Excel.jpg)](https://blog.rheinwerk-computing.com/how-to-do-freehand-drawing-in-excel)

[Featured](https://blog.rheinwerk-computing.com/tag/featured)

## [How to Do Freehand Drawing in Excel](https://blog.rheinwerk-computing.com/how-to-do-freehand-drawing-in-excel)

Excel is best known for formulas, data, and grids, but it also includes a surprisingly capable set of freehand drawing tools.

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/how-to-do-freehand-drawing-in-excel)

[![What Is TryHackMe?](https://blog.rheinwerk-computing.com/hs-fs/hubfs/What%20Is%20TryHackMe_.jpg?height=600&name=What%20Is%20TryHackMe_.jpg)](https://blog.rheinwerk-computing.com/what-is-tryhackme)

[Featured](https://blog.rheinwerk-computing.com/tag/featured)

## [What Is TryHackMe?](https://blog.rheinwerk-computing.com/what-is-tryhackme)

*TryHackMe* is an online learning platform where users can get a hands-on, interactive introduction to the world of cybersecurity, on both the...

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/what-is-tryhackme)

[![Creating Your First PyTorch Model: Data Preparation](https://blog.rheinwerk-computing.com/hs-fs/hubfs/Creating%20Your%20First%20PyTorch%20Model_%20Data%20Preparation.jpg?height=600&name=Creating%20Your%20First%20PyTorch%20Model_%20Data%20Preparation.jpg)](https://blog.rheinwerk-computing.com/creating-your-first-pytorch-model-data-preparation)

[Featured](https://blog.rheinwerk-computing.com/tag/featured)

## [Creating Your First PyTorch Model: Data Preparation](https://blog.rheinwerk-computing.com/creating-your-first-pytorch-model-data-preparation)

Building a machine learning model is only as good as the data you feed it.

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/creating-your-first-pytorch-model-data-preparation)

[![Core Concepts of Cyber Threat Intelligence](https://blog.rheinwerk-computing.com/hs-fs/hubfs/Core%20Concepts%20of%20Cyber%20Threat%20Intelligence.jpg?height=600&name=Core%20Concepts%20of%20Cyber%20Threat%20Intelligence.jpg)](https://blog.rheinwerk-computing.com/core-concepts-of-cyber-threat-intelligence)

[Featured](https://blog.rheinwerk-computing.com/tag/featured)

## [Core Concepts of Cyber Threat Intelligence](https://blog.rheinwerk-computing.com/core-concepts-of-cyber-threat-intelligence)

Cyber threat intelligence (CTI) relies on a shared set of concepts that allow analysts, defenders, and decision-makers to interpret threats in a...

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/core-concepts-of-cyber-threat-intelligence)

[![What to Monitor in a Machine Learning Model](https://blog.rheinwerk-computing.com/hs-fs/hubfs/What%20to%20Monitor%20in%20a%20Machine%20Learning%20Model.jpg?height=600&name=What%20to%20Monitor%20in%20a%20Machine%20Learning%20Model.jpg)](https://blog.rheinwerk-computing.com/what-to-monitor-in-a-machine-learning-model)

[Featured](https://blog.rheinwerk-computing.com/tag/featured)

## [What to Monitor in a Machine Learning Model](https://blog.rheinwerk-computing.com/what-to-monitor-in-a-machine-learning-model)

Deploying a machine learning model is only half the battle — knowing whether it's still working weeks or months later is where most teams fall short.

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/what-to-monitor-in-a-machine-learning-model)

[![How to Set Up the Swift Development Environment](https://blog.rheinwerk-computing.com/hs-fs/hubfs/How%20to%20Set%20Up%20the%20Swift%20Development%20Environment.jpg?height=600&name=How%20to%20Set%20Up%20the%20Swift%20Development%20Environment.jpg)](https://blog.rheinwerk-computing.com/how-to-set-up-the-swift-development-environment)

[Featured](https://blog.rheinwerk-computing.com/tag/featured)

## [How to Set Up the Swift Development Environment](https://blog.rheinwerk-computing.com/how-to-set-up-the-swift-development-environment)

Learn to prepare your development environment for Swift development, which is a rather easy task on a Mac!

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/how-to-set-up-the-swift-development-environment)

[![Security Awareness Training Scenarios, Part 3: USB Drives in Public Areas](https://blog.rheinwerk-computing.com/hs-fs/hubfs/Security%20Awareness%20Training%20Scenarios%2c%20Part%203_%20USB%20Drives%20in%20Public%20Areas.jpg?height=600&name=Security%20Awareness%20Training%20Scenarios,%20Part%203_%20USB%20Drives%20in%20Public%20Areas.jpg)](https://blog.rheinwerk-computing.com/security-awareness-training-scenarios-part-3-usb-drives-in-public-areas)

[Featured](https://blog.rheinwerk-computing.com/tag/featured)

## [Security Awareness Training Scenarios, Part 3: USB Drives in Public Areas](https://blog.rheinwerk-computing.com/security-awareness-training-scenarios-part-3-usb-drives-in-public-areas)

Almost a classic in the field of IT security awareness training is handing out USB drives in a parking lot outside a company.

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/security-awareness-training-scenarios-part-3-usb-drives-in-public-areas)

[![How to Edit Sparklines in Excel](https://blog.rheinwerk-computing.com/hs-fs/hubfs/How%20to%20Edit%20Sparklines%20in%20Excel.jpg?height=600&name=How%20to%20Edit%20Sparklines%20in%20Excel.jpg)](https://blog.rheinwerk-computing.com/how-to-edit-sparklines-in-excel)

[Featured](https://blog.rheinwerk-computing.com/tag/featured)

## [How to Edit Sparklines in Excel](https://blog.rheinwerk-computing.com/how-to-edit-sparklines-in-excel)

Sparklines are small, data-driven charts that fit within a single cell, offering a quick visual summary of trends and patterns in your data.

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/how-to-edit-sparklines-in-excel)

[![What Are Red Teaming and Purple Teaming in Cybersecurity?](https://blog.rheinwerk-computing.com/hs-fs/hubfs/What%20Are%20Red%20Teaming%20and%20Purple%20Teaming%20in%20Cybersecurity.png?height=600&name=What%20Are%20Red%20Teaming%20and%20Purple%20Teaming%20in%20Cybersecurity.png)](https://blog.rheinwerk-computing.com/what-are-red-teaming-and-purple-teaming-in-cybersecurity)

[Cybersecurity](https://blog.rheinwerk-computing.com/tag/cybersecurity)

## [What Are Red Teaming and Purple Teaming in Cybersecurity?](https://blog.rheinwerk-computing.com/what-are-red-teaming-and-purple-teaming-in-cybersecurity)

Discover how red teaming and purple teaming can strengthen your cybersecurity defenses by simulating real-world attacks and fostering collaboration...

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/what-are-red-teaming-and-purple-teaming-in-cybersecurity)

[![What Is the MITRE ATT&CK Framework?](https://blog.rheinwerk-computing.com/hs-fs/hubfs/What%20Is%20the%20MITRE%20ATT%26CK%20Framework_.jpg?height=600&name=What%20Is%20the%20MITRE%20ATT&CK%20Framework_.jpg)](https://blog.rheinwerk-computing.com/what-is-the-mitre-attck-framework)

[Featured](https://blog.rheinwerk-computing.com/tag/featured)

## [What Is the MITRE ATT&CK Framework?](https://blog.rheinwerk-computing.com/what-is-the-mitre-attck-framework)

The MITRE ATT&CK framework is a scientifically based, publicly accessible knowledge model that systematically documents the behaviors and methods of...

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/what-is-the-mitre-attck-framework)

- <https://blog.rheinwerk-computing.com/page/1>
- [1](https://blog.rheinwerk-computing.com/page/1)
- [2](https://blog.rheinwerk-computing.com/page/2)
- [3](https://blog.rheinwerk-computing.com/page/3)
- [4](https://blog.rheinwerk-computing.com/page/4)
- [5](https://blog.rheinwerk-computing.com/page/5)
- [...](https://blog.rheinwerk-computing.com/page/7)
- [31](https://blog.rheinwerk-computing.com/page/31)
- <https://blog.rheinwerk-computing.com/page/3>

### Blog Topics

- [All Topics](https://blog.rheinwerk-computing.com)
- [Programming Languages](https://blog.rheinwerk-computing.com/tag/programming-languages)
- [How To](https://blog.rheinwerk-computing.com/tag/how-to)
- [JavaScript](https://blog.rheinwerk-computing.com/tag/javascript)
- [DevOps](https://blog.rheinwerk-computing.com/tag/devops)
- [Featured](https://blog.rheinwerk-computing.com/tag/featured)
- [Web Development](https://blog.rheinwerk-computing.com/tag/web-development)
- [What Is?](https://blog.rheinwerk-computing.com/tag/what-is)
- [Cybersecurity](https://blog.rheinwerk-computing.com/tag/cybersecurity)
- [Artificial Intelligence](https://blog.rheinwerk-computing.com/tag/artificial-intelligence)
- [Software Development](https://blog.rheinwerk-computing.com/tag/software-development)

**Subscribe to our blog!**Get notified about future blog updates.

- <https://www.linkedin.com/showcase/rheinwerk-computing/>
- <https://www.youtube.com/channel/UChj-U-uWGM7qRlHXSFU93ew>
- <https://blog.rheinwerk-computing.com/rss.xml>

### Most Popular Blog Posts

1. [What Is?](https://blog.rheinwerk-computing.com/tag/what-is) [What Is the Basic Structure of a Python Program?](https://blog.rheinwerk-computing.com/what-is-the-basic-structure-of-a-python-program)
   
   by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing)
2. [HTML & CSS](https://blog.rheinwerk-computing.com/tag/html-css) [Twelve-Factor App Principles for Developers](https://blog.rheinwerk-computing.com/twelve-factor-app-principles-for-developers)
   
   by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing)
3. [Java](https://blog.rheinwerk-computing.com/tag/java) [Elements of the Java Programming Language](https://blog.rheinwerk-computing.com/elements-of-the-java-programming-language)
   
   by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing)
4. [Cybersecurity](https://blog.rheinwerk-computing.com/tag/cybersecurity) [11 Linux Shell Commands for Hacking and Security](https://blog.rheinwerk-computing.com/11-linux-shell-commands-for-hacking-and-security)
   
   by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing)
5. [Cybersecurity](https://blog.rheinwerk-computing.com/tag/cybersecurity) [What Are the 4 Principles of Cryptography?](https://blog.rheinwerk-computing.com/what-are-the-4-principles-of-cryptography)
   
   by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing)

**Subscribe to our blog!**Get notified about future blog updates.

- <https://www.linkedin.com/showcase/rheinwerk-computing/>
- <https://www.youtube.com/channel/UChj-U-uWGM7qRlHXSFU93ew>
- <https://blog.rheinwerk-computing.com/rss.xml>

### The official Rheinwerk Computing Blog

Rheinwerk Computing is an imprint of Rheinwerk Publishing and publishes resources that will help you accelerate your computing journey. The Rheinwerk Computing Blog is designed to provide helpful, actionable information on a variety of topics, including programming, administration, security, and analytics!

### Blog Topics

- [All Topics](https://blog.rheinwerk-computing.com)
- [Programming Languages](https://blog.rheinwerk-computing.com/tag/programming-languages)
- [How To](https://blog.rheinwerk-computing.com/tag/how-to)
- [JavaScript](https://blog.rheinwerk-computing.com/tag/javascript)
- [DevOps](https://blog.rheinwerk-computing.com/tag/devops)
- [Featured](https://blog.rheinwerk-computing.com/tag/featured)
- [Web Development](https://blog.rheinwerk-computing.com/tag/web-development)
- [What Is?](https://blog.rheinwerk-computing.com/tag/what-is)
- [Cybersecurity](https://blog.rheinwerk-computing.com/tag/cybersecurity)
- [Artificial Intelligence](https://blog.rheinwerk-computing.com/tag/artificial-intelligence)
- [Software Development](https://blog.rheinwerk-computing.com/tag/software-development)

### Blog curated by

[![Rheinwerk Computing Logo](https://blog.rheinwerk-computing.com/hubfs/computing_logo-header.svg)](https://www.sap-press.com/rheinwerk-computing/) [Visit Rheinwerk Computing Store](https://www.sap-press.com/rheinwerk-computing/)

### About

- [Home](https://sap-press.com/)
- [About Us](https://sap-press.com/the-publisher/)
- [Contact](mailto:info@rheinwerk-publishing.com)
- [Legal Notes](https://sap-press.com/legal-notes/)
- [Privacy Policy](https://sap-press.com/privacy/)
- [Terms of Use](https://sap-press.com/terms/)

© 2026 Rheinwerk Publishing, Inc. | Change Privacy Options