After years pondering the question Where are we? I now work with data science and machine learning in Oslo, Norway.
Earlier, I’ve played with everything from Basic, Awk, Java and C to Assembly. Now, I’m lucky enough to do most of my coding in Python. Other favorites include board games, hammocks, square roots and skiing (preferably up-hill). In my spare time I also have the pleasure of teaching kids to code.
Tutorials by Geir Arne:
- Python News Roundup: October 2024
- Python 3.13: Cool New Features for You to Try
- Python 3.13 Preview: A Modern REPL
- The Walrus Operator: Python's Assignment Expressions
- Python News Roundup: July 2024
- Python News: What's New From March 2024
- Primer on Python Decorators
- Python range(): Represent Numerical Ranges
- Python News: What's New From October 2023
- Python 3.12: Cool New Features for You to Try
- Python 3.12 Preview: Static Typing Improvements
- Why Are Membership Tests So Fast for range() in Python?
- Python News: What's New From May 2023
- How to Get Normally Distributed Random Numbers With NumPy
- Python's pathlib Module: Taming the File System
- Build a Wordle Clone With Python and Rich
- Learn From 2022's Most Popular Python Tutorials and Courses
- Advent of Code: Solving Your Puzzles With Python
- Should You Update to the Latest Python Bugfix Version?
- Python 3.11: Cool New Features for You to Try
- Minimax in Python: Learn How to Lose the Game of Nim
- How Can You Install a Pre-Release Version of Python?
- Python and TOML: New Best Friends
- Python 3.11 Preview: TOML and tomllib
- Build a Quiz Application With Python
- How to Publish an Open-Source Python Package to PyPI
- Python News: What's New From April 2022
- Python 3.11 Preview: Task and Exception Groups
- Python Timer Functions: Three Ways to Monitor Your Code
- Python 3.11 Preview: Even Better Error Messages
- Python News: What's New From December 2021
- Python News: What's New From October 2021
- Python 3.10: Cool New Features for You to Try
- Python 3.9: Cool New Features for You to Try
- Python import: Advanced Techniques and Tips
- Run Python Versions in Docker: How to Try the Latest Python Release
- Python 3.8: Cool New Features for You to Try
- Python Type Checking (Guide)
- Python 3.7: Cool New Features for You to Try
- Data Classes in Python 3.7+ (Guide)
Tutorials Geir Arne Contributed to:
- How to Reset a pandas DataFrame Index
- Variables in Python: Usage and Best Practices
- The Python Square Root Function
- Python Closures: Common Use Cases and Examples
- Beautiful Soup: Build a Web Scraper With Python
- Python Thread Safety: Using a Lock and Other Techniques
- Python's property(): Add Managed Attributes to Your Classes
- Structural Pattern Matching in Python
- Syntactic Sugar: Why Python Is Sweet and Pythonic
- Build a Contact Book App With Python, Textual, and SQLite
- A Guide to Modern Python String Formatting Tools
- Python Virtual Environments: A Primer
- Python 3.13 Preview: Free Threading and a JIT Compiler
- Using Python's pip to Manage Your Projects' Dependencies
- How to Use Conditional Expressions With NumPy where()
- Python News Roundup: September 2024
- Lists vs Tuples in Python
- Generate Images With DALL·E and the OpenAI API
- Web Scraping With Scrapy and MongoDB
- Primer on Jinja Templating
- Python Classes: The Power of Object-Oriented Programming
- Python News Roundup: August 2024
- Asynchronous Iterators and Iterables in Python
- Functional Programming in Python: When and How to Use It
- How to Write an Installable Django App
- Strings and Character Data in Python
- Hugging Face Transformers: Leverage Open-Source AI in Python
- Logging in Python
- Python Protocols: Leveraging Structural Subtyping
- Split Your Dataset With scikit-learn's train_test_split()
- How Do You Choose Python Function Names?
- Working With JSON Data in Python
- Python's Built-in Functions: A Complete Exploration
- Understanding the Python Mock Object Library
- Creating Great README Files for Your Python Projects
- Build a Guitar Synthesizer: Play Musical Tablature in Python
- Ruff: A Modern Python Linter for Error-Free and Maintainable Code
- Python Mappings: A Comprehensive Guide
- Python News: What's New From May 2024
- Python String Formatting: Available Tools and Their Features
- String Interpolation in Python: Exploring Available Tools
- What Are CRUD Operations?
- How to Create Pivot Tables With pandas
- The Python calendar Module: Create Calendars With Python
- Basic Data Types in Python: A Quick Exploration
- How to Get the Most Out of PyCon US
- Python's Built-in Exceptions: A Walkthrough With Examples
- What Is the __pycache__ Folder in Python?
- PyTorch vs TensorFlow for Your Python Deep Learning Project
- Python News: What's New From April 2024
- Python Sequences: A Comprehensive Guide
- Python's unittest: Writing Unit Tests for Your Code
- What's Lazy Evaluation in Python?
- Write Unit Tests for Your Python Code With ChatGPT
- How to Format Floats Within F-Strings in Python
- Build a Blog Using Django, GraphQL, and Vue
- Pydantic: Simplifying Data Validation in Python
- Install and Execute Python Applications Using pipx
- Reading and Writing WAV Files in Python
- Prompt Engineering: A Practical Example
- Build a Python Turtle Game: Space Invaders Clone
- Model-View-Controller (MVC) in Python Web Apps: Explained With Lego
- Visualizing Data in Python With Seaborn
- Python News: What's New From February 2024
- Build an LLM RAG Chatbot With LangChain
- Python's __all__: Packages, Modules, and Wildcard Imports
- Python's Requests Library (Guide)
- Duck Typing in Python: Writing Flexible and Decoupled Code
- How to Read User Input From the Keyboard in Python
- Dependency Management With Python Poetry
- BNF Notation: Dive Deeper Into Python's Grammar
- How to Write Beautiful Python Code With PEP 8
- Python News: What's New From January 2024
- Python's Format Mini-Language for Tidy Strings
- Python Exceptions: An Introduction
- What Are Python Raw Strings?
- When to Use a List Comprehension in Python
- Using Python for Data Analysis
- Inheritance and Composition: A Python OOP Guide
- Learn From 2023's Most Popular Python Tutorials and Courses
- Python's Magic Methods: Leverage Their Power in Your Classes
- Python's Array: Working With Numeric Data Efficiently
- Add Logging and Notification Messages to Flask Web Projects
- Enhance Your Flask Web Project With a Database
- Build a Scalable Flask Web Project From Scratch
- Python News: What's New From November 2023
- Build a Hangman Game With Python and PySimpleGUI
- Serialize Your Data With Python
- Single and Double Underscores in Python Names
- The Python Rich Package: Unleash the Power of Console Text
- Build Conway's Game of Life With Python
- How to Render Markdown in a Django Application
- Embeddings and Vector Databases With ChromaDB
- JupyterLab for an Enhanced Notebook Experience
- Document Your Python Code and Projects With ChatGPT
- Build a Hangman Game for the Command Line in Python
- How to Use Type Hints for Multiple Return Types in Python
- Boost Your Coding Productivity With Ptpython
- How to Run Your Python Scripts and Code
- Python's F-String for String Interpolation and Formatting
- Build a Blog From Scratch With Django
- How to Sort Unicode Strings Alphabetically in Python
- Python News: What's New From September 2023
- Python's tuple Data Type: A Deep Dive With Examples
- Python 3.12 Preview: Subinterpreters
- How to Catch Multiple Exceptions in Python
- Operators and Expressions in Python
- Bypassing the GIL for Parallel Processing in Python
- Object-Oriented Programming (OOP) in Python
- Generate Beautiful QR Codes With Python
- Python News: What's New From August 2023
- Get Started With Django: Build a Portfolio App
- How to Iterate Through a Dictionary in Python
- Click and Python: Build Extensible and Composable CLI Apps
- Build a Code Image Generator With Python
- Python Polars: A Lightning-Fast DataFrame Library
- What Are Python Asterisk and Slash Special Parameters For?
- Python News: What's New From July 2023
- Working With the Python operator Module
- How to Download Files From URLs With Python
- Python 3.12 Preview: More Intuitive and Consistent F-Strings
- Python & APIs: A Winning Combo for Reading Public Data
- Profiling in Python: How to Find Performance Bottlenecks
- Python 3.12 Preview: Support For the Linux perf Profiler
- How to Round Numbers in Python
- How to Flatten a List of Lists in Python
- Python's Self Type: How to Annotate Methods That Return self
- Python's raise: Effectively Raising Exceptions in Your Code
- How to Make Engaging Programming Videos
- What's the Zen of Python?
- Using the NumPy Random Number Generator
- Create and Modify PDF Files in Python
- Choosing the Best Coding Font for Programming
- Python's .__call__() Method: Creating Callable Instances
- How to Launch an HTTP Server in One Line of Python Code
- ChatGPT: Your Personal Python Coding Mentor
- Using and Creating Global Variables in Your Python Functions
- Python News: What's New From April 2023
- Build Robust Continuous Integration With Docker and Friends
- Efficient String Concatenation in Python
- Build Your Own Face Recognition Tool With Python
- Python 3.12 Preview: Ever Better Error Messages
- Python's del: Remove References From Scopes and Containers
- Build a Maze Solver in Python Using Graphs
- How to Read Python Input as Integers
- When Should You Use .__repr__() vs .__str__() in Python?
- Executing Python Scripts With a Shebang
- How to Evaluate the Quality of Python Packages
- Python News: What's New From February 2023
- Python's Mutable vs Immutable Types: What's the Difference?
- What's a Python Namespace Package, and What's It For?
- Iterators and Iterables in Python: Run Efficient Iterations
- Using NumPy reshape() to Change the Shape of an Array
- The Terminal: First Steps and Useful Commands
- Develop Data Visualization Interfaces in Python With Dash
- How to Flush the Output of the Python Print Function
- Python News: What's New From January 2023
- How to Split a Python List or Iterable Into Chunks
- Build a JavaScript Front End for a Flask API
- How to Iterate Over Rows in pandas, and Why You Shouldn't
- The Python Standard REPL: Try Out Code and Ideas Quickly
- Linear Algebra in Python: Matrix Inverses and Least Squares
- Working With Linear Systems in Python With scipy.linalg
- Python's Assignment Operator: Write Robust Assignments
- Python Folium: Create Web Maps From Your Data
- Discover bpython: A Python REPL With IDE-Like Features
- Natural Language Processing With spaCy in Python
- Python's "in" and "not in" Operators: Check for Membership
- How to Get and Use the Current Time in Python
- Build Command-Line Interfaces With Python's argparse
- Python News: What's New From November 2022
- How to Get a List of All Files in a Directory With Python
- Microsoft Power BI and Python: Two Superpowers Combined
- Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 3
- Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 2
- Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 1
- Getters and Setters: Manage Attributes in Python
- Python News: What's New From October 2022
- Python's doctest: Document and Test Your Code at Once
- How to Get the First Match From a Python List or Iterable
- Build a Tic-Tac-Toe Game Engine With an AI Player in Python
- A Practical Introduction to Web Scraping in Python
- ChatterBot: Build a Chatbot With Python
- Python News: What's New From September 2022
- Build Enumerations of Constants With Python's Enum
- Custom Python Strings: Inheriting From str vs UserString
- How to Add Python to PATH
- What Does if __name__ == "__main__" Do in Python?
- When Do You Use an Ellipsis in Python?
- How to Replace a String in Python
- Custom Python Lists: Inheriting From list vs UserList
- HTML and CSS for Python Developers
- Python News: What's New From August 2022
- Python and PyQt: Building a GUI Desktop Calculator
- Python's exec(): Execute Dynamically Generated Code
- How to Check if a Python String Contains a Substring
- How to Find an Absolute Value in Python
- GitHub Copilot: Fly With Python at the Speed of Thought
- Sorting a Python Dictionary: Values, Keys, and More
- Python News: What's New From July 2022
- Python Constants: Improve Your Code's Maintainability
- Asynchronous Tasks With Django and Celery
- Your Python Coding Environment on Windows: Setup Guide
- Custom Python Dictionaries: Inheriting From dict vs UserDict
- Build a Flashcards App With Django
- NumPy's max() and maximum(): Find Extreme Values in Arrays
- Python News: What's New From June 2022
- Python Stacks, Queues, and Priority Queues in Practice
- Build a Tic-Tac-Toe Game With Python and Tkinter
- Effective Python Testing With Pytest
- How Can You Emulate Do-While Loops in Python?
- Build Your Python Project Documentation With MkDocs
- The subprocess Module: Wrapping Programs With Python
- A First Look at PyScript: Python in the Web Browser
- LBYL vs EAFP: Preventing or Handling Errors in Python
- Python News: What's New From May 2022
- Level Up Your Skills With the Real Python Slack Community
- Build a URL Shortener With FastAPI and Python
- Linear Regression in Python
- pandas GroupBy: Your Guide to Grouping Data in Python
- Top Python Game Engines
- Python's min() and max(): Find Smallest and Largest Values
- Real Python at PyCon US 2022
- Why Is It Important to Close Files in Python?
- Combining Data in pandas With merge(), .join(), and concat()
- Python News: What's New From March 2022
- Build a Site Connectivity Checker in Python
- YAML: The Missing Battery in Python
- Python GUI Programming With Tkinter
- Pagination for a User-Friendly Django App
- Image Processing With the Python Pillow Library
- Build a Hash Table in Python With TDD
- Python Class Constructors: Control Your Object Instantiation
- Python News: What's New From February 2022
- Manage Your To-Do Lists Using Python and Django
- Python's urllib.request for HTTP Requests
- Python's assert: Debug and Test Your Code Like a Pro
- Socket Programming in Python (Guide)
- Providing Multiple Constructors in Your Python Classes
- Python's zipfile: Manipulate Your ZIP Files Efficiently
- Python's all(): Check Your Iterables for Truthiness
- Python News: What's New From January 2022
- Draw the Mandelbrot Set in Python
- Raining Outside? Build a Weather CLI App With Python
- Modulo String Formatting in Python
- Build a Dice-Rolling Application With Python
- Build and Submit HTML Forms With Django – Part 4
- Build and Handle POST Requests in Django – Part 3
- Build a Django Front End With Bulma – Part 2
- Build a Social Network With Django – Part 1
- Python Zip Imports: Distribute Modules and Packages Quickly
- Java vs Python: Basic Python for Java Developers
- Securely Deploy a Django App With Gunicorn, Nginx, & HTTPS
- Advanced Visual Studio Code for Python Developers
- Using the "not" Boolean Operator in Python
- A Roadmap to XML Parsers in Python
- Representing Rational Numbers With Python Fractions
- A Python Guide to the Fibonacci Sequence
- Python and REST APIs: Interacting With Web Services
- Python's collections: A Buffet of Specialized Data Types
- Using FastAPI to Build Python Web APIs
- What Can I Do With Python?
- Simplify Complex Numbers With Python
- Python Practice Problems: Parsing CSV Files
- Embedded Python: Build a Game on the BBC micro:bit
- Natural Language Processing With Python's NLTK Package
- Build a Platform Game in Python With Arcade
- Deploying a Python Flask Example Application Using Heroku
- Build a Python Directory Tree Generator for the Command Line
- The k-Nearest Neighbors (kNN) Algorithm in Python
- OrderedDict vs dict in Python: The Right Tool for the Job
- Build an Asteroids Game With Python and Pygame
- Python AI: How to Build a Neural Network & Make Predictions
- pandas Sort: Your Guide to Sorting Data in Python
- Python Microservices With gRPC
- Python Inner Functions: What Are They Good For?
- Qt Designer and Python: Build Your GUI Applications Faster
- Python Web Applications: Deploy Your Script as a Flask App
- Stochastic Gradient Descent Algorithm With Python and NumPy
- How to Use Python: Your First Steps
- Make Your First Python Game: Rock, Paper, Scissors!
- Sentiment Analysis: First Steps With Python's NLTK Library
- NumPy Tutorial: Your First Steps Into Data Science in Python
- Python's .append(): Add Items to Your Lists in Place
- Python and MySQL Database: A Practical Introduction
- Use PyQt's QThread to Prevent Freezing GUIs
- The pass Statement: How to Do Nothing in Python
- What Is Data Engineering and Is It Right for You?
- Bitwise Operators in Python
- Handling SQL Databases With PyQt: The Basics
- np.linspace(): Create Evenly or Non-Evenly Spaced Arrays
- PyQt Layouts: Create Professional-Looking GUI Applications
- Python enumerate(): Simplify Loops That Need Counters
- Python and PyQt: Creating Menus, Toolbars, and Status Bars
- PyPy: Faster Python With Minimal Effort
- Caching in Python Using the LRU Cache Strategy
- Fourier Transforms With scipy.fft: Python Signal Processing
- Get Started With Django Part 3: Django View Authorization
- Python Modulo in Practice: How to Use the % Operator
- Python Booleans: Use Truth Values in Your Code
- Data Management With Python, SQLite, and SQLAlchemy
- Using ggplot in Python: Visualizing Data With plotnine
- Python's map(): Processing Iterables Without a Loop
- The Python return Statement: Usage and Best Practices
- Python Practice Problems: Get Ready for Your Next Interview
- Plot With pandas: Python Data Visualization for Beginners
- Python mmap: Improved File I/O With Memory Mapping
- Data Version Control With Python and DVC
- Pass by Reference in Python: Background and Best Practices
- Customize the Django Admin With Python
- Generative Adversarial Networks: Build Your First Models
- Python Packages: Five Real Python Favorites
- K-Means Clustering in Python: A Practical Guide
- pandas Project: Make a Gradebook With Python & pandas
- Learn IP Address Concepts With Python's ipaddress Module
- Get Started With Django Part 2: Django User Management
- Python's reduce(): From Functional to Pythonic Style
- The Python heapq Module: Using Heaps and Priority Queues
- Hands-On Linear Programming: Optimization With Python
- PySimpleGUI: The Simple Way to Create a GUI With Python
- Python Keywords: An Introduction
- SettingWithCopyWarning in pandas: Views vs Copies
- Build Physical Projects With Python on the Raspberry Pi
- Python vs JavaScript for Pythonistas
- Python eval(): Evaluate Expressions Dynamically
- How to Move a Django Model to Another App
- Using Python datetime to Work With Dates and Times
- The Python pickle Module: How to Persist Objects in Python
- The pandas DataFrame: Make Working With Data Delightful
- Sorting Algorithms in Python
- How to Provide Test Fixtures for Django Models in Pytest
- How to Make an Instagram Bot With Python and InstaPy
- Linked Lists in Python: An Introduction
- How to Use any() in Python
- SimPy: Simulating Real-World Processes With Python
- The Python math Module: Everything You Need to Know
- Python Scope & the LEGB Rule: Resolving Names in Your Code
- How to Do a Binary Search in Python
- Using the Python defaultdict Type for Handling Missing Keys
- Alexa Python Development: Build and Deploy an Alexa Skill
- Python Bindings: Calling C or C++ From Python
- The Beginner's Guide to Python Turtle
- Introduction to Python SQL Libraries
- Null in Python: Understanding Python's NoneType Object
- Implementing an Interface in Python
- Python Command-Line Arguments
- Use a Flask Blueprint to Architect Your Applications
- Python '!=' Is Not 'is not': Comparing Objects in Python
- Scientific Python: Using SciPy for Optimization
- Arcade: A Primer on the Python Game Framework
- Logistic Regression in Python
- Exploring HTTPS With Python
- Using pandas and Python to Explore Your Dataset
- NumPy, SciPy, and pandas: Correlation With Python
- Python Statistics Fundamentals: How to Describe Your Data
- Data Engineer Interview Questions With Python
- pandas: How to Read and Write Files
- Python Descriptors: An Introduction
- Invalid Syntax in Python: Common Reasons for SyntaxError
- Build a Mobile Application With the Kivy Python Framework
- Arduino With Python: How to Get Started
- Python sleep(): How to Add Time Delays to Your Code
- Emacs: The Best Python Editor?
- Using the Python zip() Function for Parallel Iteration
- Preventing SQL Injection Attacks With Python
- How to Use Generators and yield in Python
- Getting Started With Async Features in Python
- PyGame: A Primer on Game Programming in Python
- MATLAB vs Python: Why and How to Make the Switch
- Python args and kwargs: Demystified
- Real Python at PyCon US 2019
- Basic Input, Output, and String Formatting in Python
- Three Ways of Storing and Accessing Lots of Images in Python
- How to Stand Out in a Python Coding Interview
- Refactoring Python Applications for Simplicity
- Supercharge Your Classes With Python super()
- The Factory Method Pattern and Its Implementation in Python
- Working With Files in Python
- Thonny: The Beginner-Friendly Python Editor
- Interactive Data Visualization in Python With Bokeh
- Getting Started With Testing in Python
- Python Program Lexical Structure
- Python pandas: Tricks & Features You May Not Know
- Reading and Writing CSV Files in Python
- Generating Random Data in Python (Guide)
- Operator and Function Overloading in Custom Python Classes
- Python IDEs and Code Editors (Guide)
- Python for Social Scientists
- What's New in Python 3.13 (Course)
- Advanced Python import Techniques (Course)
- Advent of Code: Solving Puzzles With Python (Course)
- What's New in Python 3.12 (Course)
- Create a Python Wordle Clone With Rich (Course)
- Publishing Python Packages to PyPI (Course)
- Using the Terminal on Linux (Course)
- Using Python's pathlib Module (Course)
- Everyday Project Packaging With pyproject.toml (Course)
- Cool New Features in Python 3.11 (Course)
- Python Assignment Expressions and Using the Walrus Operator (Course)
- Cool New Features in Python 3.10 (Course)
- Using Data Classes in Python (Course)
- Cool New Features in Python 3.9 (Course)
- Cool New Features in Python 3.8 (Course)
- Python Type Checking (Course)
- The Python range() Function (Course)
- How to Publish Your Own Python Package to PyPI (Course)
- Python Decorators 101 (Course)