Geek Logbook

Tech sea log book

Creating a Custom Column with a Random String in Power BI Using DAX

Introduction In Power BI, customizing your dataset by adding calculated columns can significantly enhance your data analysis capabilities. One common need is to generate random strings or categories for testing purposes, simulating scenarios, or assigning values like branch names, IDs, or categories to your data. In this post, we’ll explore how to create a custom

Best Practices: Using Direct SQL Queries in CodeIgniter

In this blog post, we’ll discuss the pros and cons of using direct SQL queries in CodeIgniter and explore alternatives that enhance security, readability, and maintainability. What is Direct SQL? Direct SQL means writing raw SQL queries directly in your code. It provides full control over the SQL, which can be appealing for quick queries

How to Implement MVC in CodeIgniter to Clean Up Your Views

When building web applications, it’s easy to end up with PHP logic mixed directly into your HTML views, especially in smaller projects. However, this can lead to messy, hard-to-maintain code. The Model-View-Controller (MVC) pattern is a great solution to separate concerns and make your application cleaner and more maintainable. In this post, we’ll explore how

Renaming Modules in Python for Clarity and Accuracy

Renaming modules in Python is an essential practice to improve code clarity and maintainability, especially as projects grow in complexity. Using intuitive and descriptive names helps in quickly understanding the purpose of each module, reducing confusion and potential errors during development. In this post, we’ll explore the process of renaming a module in Python and

Counting Covered Points on a Number Line

Introduction Algorithmic challenges often involve intervals and can initially seem complex. One such problem is determining how many unique points are covered by a set of intervals on a number line. In this post, we’ll examine a solution to this problem and explore potential improvements. Problem Statement Given a number line with several intervals representing

Handling shutil.SameFileError When Copying Files in Python

When using Python’s shutil.copy() or shutil.copy2() to copy files, you might run into a shutil.SameFileError if you mistakenly attempt to copy a file onto itself. This error occurs when the source and destination paths are the same, disrupting your script’s execution. In this post, we’ll explore how to prevent this error and ensure files are

Preserving Directory Structure While Copying Files in Python – version 2

When copying files from one directory to another in Python, it’s important to maintain the original directory structure, especially when dealing with nested directories. In this post, we’ll explore how to use Python’s shutil and os libraries to copy files while preserving the directory structure. Problem Imagine you have a source directory with nested folders

Avoiding Duplicate File Copies Based on Content in Python on AWS

When working with large file systems, copying files can often lead to unintentional duplication, especially if files with the same content are repeatedly copied into different directories. While filenames can vary, the underlying content might remain the same, leading to redundant data and wasted storage space. In this post, we’ll explore how to avoid copying

Handling NoneType Errors When Extending Lists in Python

When working with Python, especially with functions that return lists or other iterable objects, you might encounter a TypeError that says something like: This error occurs when you try to iterate over or extend a list using a value that turns out to be None. In Python, NoneType represents a null value, and it is

Tracking File Changes in S3 Using ETags

When working with AWS S3, tracking changes to files can be essential, especially when versioning is not enabled on the bucket. The ETag associated with each file in S3 can provide a simple way to detect changes. In this post, we’ll explore how to use ETags to monitor file modifications in an S3 bucket. What