Sun 29 June 2025

What is the difference between GitHub vs. GitLab vs Alternatives?

Posted by Al Sweigart in misc   

This article and its content were written, reviewed, and verified by a human, Al Sweigart. In my research I found that most "GitHub vs GitLab" articles are AI slop containing false or outdated information. I wrote this article with links to actual documentation pages, and not just copying what every other article on this topic says. For those who have heard of this "Git stuff," here's a summary of the differences and details. My hot take: For the needs of most individual or small group users, they're basically the same. GitLab seems to be more oriented towards self-hosting and custom configuration. Wikipedia has an extensive comparison list of source code repo hosting servers.

Read more...



Sat 04 May 2024

Fabric.js Tutorial Part 6

Posted by Al Sweigart in misc   

Part 5 of a tutorial series on the Fabric.js canvas/graphics library for JavaScript, we'll learn how to change the size of shapes by scaling them with the scale() method. We'll also get some more practice drawing in general. We'll draw this forest:

Read more...



Sat 04 May 2024

Fabric.js Tutorial Part 4

Posted by Al Sweigart in misc   

Part 4 of a tutorial series on the Fabric.js canvas/graphics library for JavaScript, where we learn about drawing with paths.round color of a canvas as well as the shapes fabric.Polygon and fabric.Line.

Read more...


Sat 04 May 2024

Fabric.js Tutorial Part 3

Posted by Al Sweigart in misc   

Part 3 of a tutorial series on the Fabric.js canvas/graphics library for JavaScript, where we learn how to set the background color of a canvas as well as the shapes fabric.Polygon and fabric.Line.

Read more...




Tue 20 February 2024

Make Lively Movement Animation with PyTweening's Tweening Functions

Posted by Al Sweigart in misc   

Tweening functions allow you to easily add many different styles of natural-seeming movement to the graphics in your program. In this blog post, you'll learn about how tweening functions can make more lively movement animations using Pygame and the PyTweening third-party library. Tweening functions apply to any programming language, but this tutorial has actual Python code for you to run and experiment with. Start by installing these libraries by running pip install pygame and pip install pytweening from the terminal. Then follow along with the code examples.

Read more...