Unveiling ACSE-K8: An Innovative Email List for Ontario’s K-8 Educators in Coding and Technology

Welcome to the latest addition to Ontario’s educational landscape—ACSE-K8, an interactive, private email list designed exclusively for K-8 educators. Whether you’re teaching in public or private schools, or you’re a consultant in this field, ACSE-K8 offers a unique platform to integrate coding into your classrooms.

Continue reading “Unveiling ACSE-K8: An Innovative Email List for Ontario’s K-8 Educators in Coding and Technology”

Programming Challenge: Array and Loop Manipulation (Intermediate)

This image is an illustration featuring a stylized scene with a central magnifying glass focused on a number 5 on a cube. The magnifying glass has a classic design with a blue tinted glass and a beige handle. Surrounding the magnifying glass are multiple cubes with numbers and mathematical symbols on their faces. The cubes have different numerical values such as 3, 4, 5, 6, 7, and 8, with mathematical operations next to them like "+4," "-2," "x4," and "?". Arrows around the cubes suggest movement or rearrangement, implying a dynamic or interactive aspect to the puzzle-like setting. The overall color scheme is warm with a monochromatic tan background that complements the blue and white of the cubes. The image could be interpreted as a metaphor for problem-solving, analysis, or mathematics, as it appears to represent a numerical puzzle or game being examined or solved.

Challenge Description:

You are provided with a list of n non-negative integers. Your task is to write a program that performs the following operations:

  1. Query Mode:
    • The program should first ask the user if they want to perform queries or updates: Enter 'Q' for query and 'U' for update.
    • If the user enters Q, prompt them to enter a range [l, r] (1-based index) and then output the sum of elements from index l to r inclusive.
  2. Update Mode:
    • If the user enters U, prompt them to enter an index i (1-based index) and a value v. Update the element at index i by adding v to it (this is an increment operation, not set).
    • After each update, print the new full array.

The challenge is designed to teach basic array manipulations and looping constructs, with a focus on handling user inputs and performing range queries and updates efficiently.

Continue reading “Programming Challenge: Array and Loop Manipulation (Intermediate)”

Using Python To Quickly Open Multiple Websites In Your Browser

Generated with AI ∙ January 18, 2024 at 1:10 p.m.

I had a problem where I was opening about a dozen bookmarks at the same time in Brave, and in doing so, it was giving me a “503 Service Temporarily Unavailable” error.

To fix this, I turned to Copilot Pro with this prompt:

Write a Python program that opens in my web browser (using Django?) that has a list of URLs that it opens in new tabs with a pause of 0.5 seconds between them. For the initial URLs, use Google and Microsoft.

Continue reading “Using Python To Quickly Open Multiple Websites In Your Browser”

How to Save Python Files in the Same Directory in VS Code (Update)

In a recent post I gave a programmatic solution to how to get Python to write files in the same folder as the Python file itself when working in VS Code. By default, Python programs in VS Code write files in the root folder of the project, not in the folder where the Python file is saved.

My solution involved the use of a built-in variable named “__file__“, which together with some fancy path concatenation, achieved what I was hoping for.

Continue reading “How to Save Python Files in the Same Directory in VS Code (Update)”

How to Save Python Files in the Same Directory in VS Code

Introduction

Have you ever been frustrated because your Python programs in VS Code always save in the root folder of your GitHub project, even if the program is in a subfolder? You’re not alone. I’ve encountered this problem too, and I couldn’t find a solution within VS Code’s settings.

Solution

The solution is within Python itself.

Python has a built-in variable called __file__ that refers to the path of the current Python file. By using this with os.path.join(), you can ensure that your file will be saved in the same directory as your program, not in the root folder.

The os.path.join() function in Python is a smart way to stick together pieces of a file path. It knows how to correctly use the right kind of slash (/ or \) depending on your computer’s operating system. So, if you have a folder named “folder” and a file named “file.txt”, os.path.join("folder", "file.txt") will give you the correct full path: “folder/file.txt”. It’s a handy tool for dealing with file paths in Python.

Continue reading “How to Save Python Files in the Same Directory in VS Code”

Ten Things I Learned – December 5, 2023 Update

April Wine

I was sad to hear of Myles Goodwyn‘s death. Myles was the lead singer of April Wine, a Canadian band that had quite an influence on my musical tastes.

WordPress

Want to your open WordPress links in a new tab as the default? “External Links in New Window / New Tab” is your solution.

Speed Test

Google has a speed test webpage. (I’ve added it to my Google A-Z page.)

Continue reading “Ten Things I Learned – December 5, 2023 Update”

Hey Bing Chat: How can I compile a Python program into an executable file?

Bing Chat is an AI alternative to Chat-GPT. I’ve been testing it quite a bit since, at least for now, it is completely free and in most cases does an excellent job.

Here is a test case that worked perfectly for me…

Prompt: How can I compile a Python program into an executable file?

There are several ways to compile Python code into an executable file. One of the most popular ways is to use PyInstaller² which can be installed using pip package manager². Once installed, you can use it to create an executable file by running the following command in your terminal:

Continue reading “Hey Bing Chat: How can I compile a Python program into an executable file?”