Main public logs

Combined display of all available logs of Qiki. You can narrow down the view by selecting a log type, the username (case-sensitive), or the affected page (also case-sensitive).

Logs
(newest | oldest) View (newer 50 | ) (20 | 50 | 100 | 250 | 500)
  • 12:00, 7 October 2025 Ryan talk contribs created page Monorepo Management with Git – Best Practices and Workflows (Created page with "<span id="monorepo-management-with-git-best-practices-and-workflows"></span> = Monorepo Management with Git – Best Practices and '''Workflows''' = <span id="introduction"></span> == 1) Introduction == '''What is a monorepo?''' A ''monorepo'' is a single Git repository that stores many projects (apps, services, libraries, tools) together. Example: <code>apps/web</code>, <code>apps/mobile</code>, <code>libs/ui</code>, <code>libs/auth</code>, <code>infra/terraform</code...")
  • 08:13, 7 October 2025 Ryan talk contribs created page Bazel in a Monorepo — A Practical, Copy‑Ready Guide (Created page with "<span id="bazel-in-a-monorepo-a-practical-copyready-guide"></span> = Bazel in a Monorepo — A Practical, Copy‑Ready Guide = <blockquote>You already know build tools like Gradle, npm, or Make. This guide shows you '''how to use Bazel effectively in a real monorepo'''. We keep the language simple, give short examples, and end each section with a quick '''Takeaway'''. </blockquote> ----- <span id="introduction-to-bazel"></span> == 1) Introduction to Bazel == '''What...")
  • 13:50, 6 October 2025 Ryan talk contribs created page File:Dd.jpg
  • 13:50, 6 October 2025 Ryan talk contribs uploaded File:Dd.jpg
  • 13:41, 6 October 2025 Ryan talk contribs created page File:Images.png
  • 13:41, 6 October 2025 Ryan talk contribs uploaded File:Images.png
  • 10:03, 5 October 2025 Ryan talk contribs moved page Thanksgiving Day (October 4, 2025) to Thanksgiving Day (October 5, 2025)
  • 10:02, 5 October 2025 Ryan talk contribs moved page Thanksgiving Day 2025 to Thanksgiving Day (October 4, 2025)
  • 08:15, 5 October 2025 Ryan talk contribs created page Thanksgiving Day 2025 (Created page with "..")
  • 08:14, 5 October 2025 Ryan talk contribs created page Today, I Did This (Created page with "* Thanksgiving Day 2025")
  • 00:10, 3 October 2025 Ryan talk contribs created page Mermaid Flowcharts (with UML Meanings) (Created page with "<span id="mermaid-flowcharts-with-uml-meanings"></span> = Mermaid Flowcharts (with UML Meanings) = '''Beginner‑friendly guide with short explanations and many examples.''' ----- <span id="what-is-mermaid-flowchart"></span> == 1) What is Mermaid Flowchart? == A '''flowchart''' is a diagram made of '''nodes''' (shapes with text) connected by '''edges''' (lines/arrows). Mermaid lets you write text that renders into a diagram. '''Mermaid Flowchart ≠ UML''': Mermaid...")
  • 14:34, 2 October 2025 Ryan talk contribs created page Mermaid Sequence Diagrams: Syntax, UML Meaning, and Best Practices (Created page with "<span id="introduction"></span> == 1) Introduction == '''What is a sequence diagram?''' A sequence diagram shows '''how things talk to each other over time'''. Each “thing” (a person, system, service, object) is drawn as a '''lifeline'''. Messages (arrows) go back and forth to show the order of actions. In UML, sequence diagrams are a kind of '''interaction diagram'''. '''Why use Mermaid?''' Mermaid lets you write diagrams as '''text'''. This is great for code revi...")
  • 01:17, 30 September 2025 Ryan talk contribs created page Adding Custom Commands in Git (Created page with "<span id="adding-custom-commands-in-git"></span> = Adding Custom Commands in Git = Git is flexible and allows you to extend its functionality. You can add your own custom commands in two main ways: '''aliases''' and '''custom scripts'''. ----- <span id="git-aliases"></span> == 1. Git Aliases == Aliases are shortcuts that let you run common Git commands faster or create combinations of options. <span id="example-simple-alias"></span> === Example: Simple Alias === <...")
  • 01:38, 28 September 2025 Ryan talk contribs created page Mermaid vs Draw.io (diagrams.net) (Created page with " <span id="mermaid-vs-draw.io-diagrams.net"></span> = Mermaid vs Draw.io (diagrams.net) = <span id="introduction"></span> == 1. Introduction == When creating diagrams for documentation, software design, or project planning, two popular tools often come up: '''Mermaid''' and '''Draw.io (diagrams.net)'''. Both are useful but serve different needs. ----- <span id="what-is-mermaid"></span> == 2. What is Mermaid? == * '''Description''': Mermaid is a text-based diagrammi...")
  • 11:12, 27 September 2025 Ryan talk contribs created page The “Cheerful Skeleton” Mosaic of Hatay, Turkey (Created page with " <span id="introduction"></span> === 1. Introduction === * In southern Turkey, in Hatay Province (ancient Antioch), archaeologists discovered a mosaic featuring a reclining skeleton holding a drink, with bread and a wine jar nearby. ([https://apnews.com/030bc094a1244b4186db09a3dab1d04a/ancient-mosaic-featuring-cheerful-skeleton-found-turkey?utm_source=chatgpt.com AP News]) * The mosaic includes a Greek inscription that translates roughly to '''“Be cheerful, enjoy life...")
  • 16:05, 20 September 2025 Ryan talk contribs created page Mastering Companion Objects in Kotlin (Created page with "<span id="what-is-a-companion-in-kotlin"></span> == 1. What is a <code>companion</code> in Kotlin? == In Kotlin, you don’t have '''static methods or static variables''' like in Java. Instead, you use a '''<code>companion object</code>'''. A <code>companion object</code> is like a special object inside a class that is shared by all instances of that class. It acts a bit like <code>static</code> in Java. ----- <span id="syntax-of-companion-object"></span> == 2. Synt...")
  • 13:05, 6 September 2025 Ryan talk contribs created page Appendix A Kotlin Tips (Created page with "<span id="appendix-a-kotlin-tips-for-spring-boot-developers"></span> = Appendix A: Kotlin Tips for Spring Boot Developers = This appendix serves as a practical guide for Java developers transitioning to Kotlin with Spring Boot, as well as a reference for Kotlin developers looking to leverage Spring Boot more effectively. Throughout the book, we’ve explored comprehensive Spring Boot development with Kotlin. Here, we consolidate the most important Kotlin-specific patter...")
  • 13:03, 6 September 2025 Ryan talk contribs created page Chapter 13: Service Authentication and Authorization (Created page with "<span id="chapter-13-service-authentication-and-authorization"></span> = Chapter 13: Service Authentication and Authorization = Security is not an afterthought in modern application development—it’s a fundamental requirement from day one. In this comprehensive chapter, we’ll explore how to implement robust authentication and authorization in Kotlin Spring Boot applications using Spring Security, JWT tokens, and modern security patterns. We’ll start with securit...")
  • 13:03, 6 September 2025 Ryan talk contribs created page Chapter 12: Server-to-Server Communication (Created page with "<span id="chapter-12-server-to-server-communication"></span> = Chapter 12: Server-to-Server Communication = Modern applications rarely operate in isolation. They need to communicate with external APIs, microservices, payment processors, notification services, and countless other systems. In this chapter, we’ll explore the various approaches Spring Boot provides for server-to-server communication and how to implement them effectively in Kotlin. We’ll examine three p...")
  • 13:02, 6 September 2025 Ryan talk contribs created page Chapter 11: Using Actuator (Created page with "<span id="chapter-11-using-actuator"></span> = Chapter 11: Using Actuator = Spring Boot Actuator is one of the most valuable features of the Spring Boot ecosystem, providing production-ready monitoring, metrics, and operational insights out of the box. In this chapter, we’ll explore how to effectively use Actuator in Kotlin-based Spring Boot applications to gain deep visibility into your application’s health, performance, and behavior. Actuator transforms your appl...")
  • 13:01, 6 September 2025 Ryan talk contribs created page Chapter 10: Validation and Exception Handling (Created page with "<span id="chapter-10-validation-and-exception-handling"></span> = Chapter 10: Validation and Exception Handling = Building robust applications requires more than just functional code—it demands comprehensive validation and exceptional exception handling. In this chapter, we’ll explore how to implement effective validation strategies using Kotlin with Spring Boot and Hibernate Validator. We’ll cover everything from basic bean validation to sophisticated custom vali...")
  • 13:00, 6 September 2025 Ryan talk contribs created page Chapter 09: Relationship Mapping (Created page with "<span id="chapter-09-relationship-mapping"></span> = Chapter 09: Relationship Mapping = Modeling relationships between entities is one of the most critical aspects of building a data-driven application. Get it right, and your application will be performant and maintainable. Get it wrong, and you’ll face the dreaded N+1 problem, lazy loading exceptions, and performance nightmares. In this chapter, we’ll explore how to properly map relationships in JPA with Kotlin, un...")
  • 12:50, 6 September 2025 Ryan talk contribs created page Chapter 08: Utilizing Spring Data JPA (Created page with "<span id="chapter-08-utilizing-spring-data-jpa"></span> = Chapter 08: Utilizing Spring Data JPA = Spring Data JPA is a powerful abstraction layer that simplifies database access while providing sophisticated query capabilities. In this chapter, we’ll explore advanced features that go beyond basic CRUD operations, helping you leverage the full power of Spring Data JPA with Kotlin. <span id="creating-the-project"></span> == 8.1 Creating the Project == Let’s create a...")
  • 12:49, 6 September 2025 Ryan talk contribs created page Chapter 07: Writing Test Code (Created page with "<span id="chapter-07-writing-test-code"></span> = Chapter 07: Writing Test Code = Testing is crucial for building reliable Spring Boot applications. In this chapter, we’ll explore comprehensive testing strategies using modern Kotlin testing frameworks. You’ll learn about unit testing, integration testing, test patterns, and how to use Kotest, MockK, and other tools to create maintainable test suites. We’ll also cover test-driven development practices and code cove...")
  • 12:48, 6 September 2025 Ryan talk contribs created page Chapter 06: Database Integration (Created page with "<span id="chapter-06-database-integration"></span> = Chapter 06: Database Integration = In this chapter, we’ll explore how to integrate Spring Boot applications with PostgreSQL using Kotlin. We’ll cover the challenges of using Kotlin with JPA/Hibernate and provide practical solutions. You’ll learn how to set up database connections, design entities, implement repositories, and integrate with your service layer while maintaining type safety and leveraging Kotlin’...")
  • 12:47, 6 September 2025 Ryan talk contribs created page Chapter 05: Various Ways to Write APIs (Created page with "<span id="chapter-05-various-ways-to-write-apis"></span> = Chapter 05: Various Ways to Write APIs = In this chapter, we’ll explore the different approaches to building REST APIs with Spring Boot and Kotlin. We’ll cover everything from basic controller setup to advanced documentation and logging strategies. By the end of this chapter, you’ll understand how to create robust, well-documented APIs that follow modern best practices. <span id="project-configuration"></...")
  • 12:46, 6 September 2025 Ryan talk contribs created page Chapter 04: Developing a Spring Boot Application (Created page with "<span id="chapter-04-developing-a-spring-boot-application"></span> = Chapter 04: Developing a Spring Boot Application = It’s time to write code! In this chapter, we’ll create our first Spring Boot application with Kotlin, explore the project structure, understand build configuration, and get our “Hello World” running. By the end, you’ll have a solid foundation for building real applications. <span id="creating-a-project"></span> == 4.1 Creating a Project ==...")
  • 12:45, 6 September 2025 Ryan talk contribs created page Chapter 03: Setting Up the Development Environment (Created page with "<span id="chapter-03-setting-up-the-development-environment"></span> = Chapter 03: Setting Up the Development Environment = Getting your development environment right from the start will save you countless hours of frustration. In this chapter, we’ll walk through setting up a professional Kotlin and Spring Boot development environment that will serve you well throughout your journey. <span id="installing-java-jdk"></span> == 3.1 Installing Java JDK == Spring Boot 3....")
  • 12:44, 6 September 2025 Ryan talk contribs created page Chapter 02: Foundational Knowledge Before Development (Created page with "<span id="chapter-02-foundational-knowledge-before-development"></span> = Chapter 02: Foundational Knowledge Before Development = Before we dive into writing code, let’s establish a solid foundation of concepts that will make you a more effective Spring Boot developer. Understanding these principles will help you make better architectural decisions and write more maintainable applications. <span id="server-to-server-communication"></span> == 2.1 Server-to-Server Comm...")
  • 12:42, 6 September 2025 Ryan talk contribs created page Chapter 01: What is Spring Boot? (Created page with "<span id="chapter-01-what-is-spring-boot"></span> = Chapter 01: What is Spring Boot? = Welcome to the world of Spring Boot with Kotlin! If you’re reading this, you’re likely looking to build modern, robust backend applications using one of the most powerful framework combinations available today. In this chapter, we’ll explore what makes Spring Boot special and why pairing it with Kotlin creates such a compelling development experience. <span id="spring-framework...")
  • 12:38, 6 September 2025 Ryan talk contribs created page Spring Boot with Kotlin (2025) (Created page with "* Chapter 01: What is Spring Boot? * Chapter 02: Foundational Knowledge Before Development * Chapter 03: Setting Up the Development Environment * Chapter 04: Developing a Spring Boot Application * Chapter 05: Various Ways to Write APIs * Chapter 06: Database Integration * Chapter 07: Writing Test Code * Chapter 08: Utilizing Spring Data JPA * Chapter 09: Relationship Mapping * Chapter 10: Validation and Exception Handling * Chapt...")
  • 15:13, 4 September 2025 Ryan talk contribs created page Make Uploaded Files Private in MediaWiki (Logged-In Only) (Created page with "<span id="move-the-images-folder-out-of-the-web-root"></span> === 1. Move the <code>images/</code> folder out of the web root === * By default, uploaded files are in <code>yourwiki/images/</code>. * Move this folder '''outside the public web root''' so people can’t access it directly through a URL. ** Example: instead of <code>/var/www/html/wiki/images/</code>, put it in <code>/var/www/private/images/</code>. ----- <span id="configure-wguploaddirectory-and-wgupload...")
  • 08:27, 4 September 2025 Ryan talk contribs created page Essential MediaWiki Syntax You Need to Know (Created page with "<span id="basic-text-formatting"></span> === 1. Basic Text Formatting === This is the foundation for making your text stand out. {| class="wikitable" |- ! style="text-align: left;"| Feature ! style="text-align: left;"| Syntax ! style="text-align: left;"| Example Input ! style="text-align: left;"| Example Output |- | style="text-align: left;"| '''Italic Text''' | style="text-align: left;"| Two apostrophes | style="text-align: left;"| <code>''This text is italic.''</code...")
  • 08:18, 4 September 2025 Ryan talk contribs created page Git Monorepos Explained: From Basics to Advanced Features (Created page with " <span id="strategies-for-managing-a-monorepo"></span> === ## Strategies for Managing a Monorepo === When a monorepo grows large, checking out the entire codebase becomes slow and consumes a lot of disk space. Modern Git provides two key features to handle this. <span id="sparse-checkout"></span> ==== 1. Sparse Checkout ==== Sparse checkout allows you to check out only a specific subset of files and directories from the repository, even though you’ve cloned the enti...")
  • 06:44, 3 September 2025 Ryan talk contribs created page Installing Certbot on Amazon Linux 2023 via EPEL or pip (Created page with "You’re right - Amazon Linux 2023 doesn’t include snapd in its repositories. Let’s use the native approach with <code>certbot</code> directly from the EPEL repository or Python pip. Here’s the corrected method for AL2023: <span id="step-1-install-certbot-corrected-for-al2023"></span> == Step 1: Install Certbot (Corrected for AL2023) == <span id="option-a-using-python-pip-recommended-for-al2023"></span> === Option A: Using Python pip (Recommended for AL2023) ===...")
  • 06:41, 3 September 2025 Ryan talk contribs created page Step-by-Step Guide to Installing and Configuring Nginx on Amazon Linux 2023 (ARM Graviton EC2) (Created page with "<span id="complete-nginx-setup-guide-for-amazon-linux-2023-on-arm-graviton"></span> == Complete Nginx Setup Guide for Amazon Linux 2023 on ARM Graviton == <span id="step-1-update-and-prepare-the-system"></span> === Step 1: Update and Prepare the System === First, connect to your EC2 instance via SSH and update the system: <syntaxhighlight lang="bash"># Update the system packages sudo dnf update -y # Check your system information (optional but useful) uname -a cat /et...")
  • 06:38, 3 September 2025 Ryan talk contribs created page Step-by-Step Guide to Installing and Configuring Docker on AWS t4g.micro (Amazon Linux 2023, ARM64) (Created page with " <span id="step-1-update-system-and-verify-architecture"></span> == Step 1: Update System and Verify Architecture == <syntaxhighlight lang="bash"># Update all packages sudo dnf update -y # Verify you're on ARM64 architecture uname -m # Should output: aarch64 # Verify Amazon Linux version cat /etc/os-release | grep PRETTY_NAME # Should show: Amazon Linux 2023</syntaxhighlight> <span id="step-2-install-docker-and-enable-auto-start"></span> == Step 2: Install Docker and...")
  • 06:36, 3 September 2025 Ryan talk contribs created page Optimized MySQL/MariaDB Configuration for AWS t4g.micro (1 vCPU, 1 GB RAM) (Created page with "The t4g.micro has 1 vCPU and 1 GB of RAM, so we need to be very conservative with memory usage. <pre> # MySQL/MariaDB optimization for AWS t4g.micro (1 vCPU, 1GB RAM) # Graviton2 ARM processor optimization # Place this file in /etc/my.cnf.d/graviton-optimization.cnf [mysqld] # === Memory Settings (Conservative for 1GB RAM) === # Total memory usage should stay under ~400-500MB to leave room for OS and other processes # InnoDB Buffer Pool - Most important memory setting...")
  • 06:31, 3 September 2025 Ryan talk contribs created page Comprehensive Guide to Installing, Configuring, and Securing MySQL on Amazon Linux 2023 ARM64 (Created page with "<span id="system-update-and-mysql-installation"></span> == 1. System Update and MySQL Installation == First, update your system and install MySQL: <syntaxhighlight lang="bash"># Update the system packages sudo dnf update -y # Install MySQL server (MariaDB is the default on AL2023) sudo dnf install -y mariadb105-server mariadb105 # Verify the installation and ARM64 compatibility rpm -qi mariadb105-server | grep Architecture</syntaxhighlight> '''Note:''' Amazon Linux 2...")
  • 15:35, 2 September 2025 Ryan talk contribs created page The Ultimate Guide to Mastering the Amazon Q CLI (Created page with "<span id="the-ultimate-guide-to-mastering-the-amazon-q-cli"></span> = The Ultimate Guide to Mastering the Amazon Q CLI = This is a comprehensive guide to using Amazon Q with the Command Line Interface (CLI). Of course, here is a step-by-step technical guide on how to use Amazon Q with the Command Line Interface (CLI). <span id="introduction-what-is-amazon-q"></span> == Introduction: What is Amazon Q? == Amazon Q is a generative AI-powered assistant from Amazon Web Se...")
  • 15:34, 2 September 2025 Ryan talk contribs created page Converting CBZ to EPUB with Calibre (Created page with "<span id="converting-cbz-to-epub-with-calibre"></span> === ## Converting CBZ to EPUB with Calibre === Calibre is a versatile, open-source ebook manager that can handle a wide variety of formats, including the conversion you need. ----- <span id="step-1-download-and-install-calibre"></span> === #### Step 1: Download and Install Calibre === First things first, you’ll need to get Calibre on your Mac. # '''Visit the Calibre website''': Open your web browser and go to...")
  • 15:33, 2 September 2025 Ryan talk contribs created page Understanding Sealed Syntax in Kotlin (Created page with "In the world of Kotlin, the <code>sealed</code> keyword provides a powerful mechanism for creating restricted class hierarchies. This allows for more controlled and predictable code, especially when dealing with a fixed set of possible types. This concept applies to both classes and interfaces, offering a significant advantage in terms of type safety and expressiveness, particularly when used with <code>when</code> expressions. <span id="understanding-sealed-syntax"></s...")
  • 15:32, 2 September 2025 Ryan talk contribs created page Connecting Worlds: A Guide to Inter-Container Communication in Docker (Created page with "<span id="connecting-worlds-a-guide-to-inter-container-communication-in-docker"></span> = Connecting Worlds: A Guide to Inter-Container Communication in Docker = In the world of Docker, containers are designed to be isolated environments for your applications. This isolation is a key feature for security and portability. However, in most real-world scenarios, applications are composed of multiple services that need to communicate with each other. This document provides...")
  • 15:30, 2 September 2025 Ryan talk contribs created page Debugging Your Kotlin/Spring Boot Application in a Docker Container with IntelliJ IDEA (Created page with "<span id="debugging-your-kotlinspring-boot-application-in-a-docker-container-with-intellij-idea"></span> == Debugging Your Kotlin/Spring Boot Application in a Docker Container with IntelliJ IDEA == Developing and debugging modern applications often involves containerization with Docker. This guide provides a comprehensive, step-by-step approach to seamlessly debug your Kotlin-based Spring Boot application running inside a Docker container using the powerful debugging to...")
  • 15:29, 2 September 2025 Ryan talk contribs created page The “Weird” Keyboard Layout: A Relic of the Mechanical Past (Created page with "<span id="why-the-qwerty-keyboard-looks-so-weird"></span> = Why the QWERTY Keyboard Looks So Weird = The seemingly random arrangement of keys on the standard QWERTY keyboard—a layout that has puzzled and frustrated learners for more than a century—is not the result of arbitrary design. Instead, it began as a clever fix to a mechanical problem that haunted early typewriters. Its survival into the digital age is a classic example of a technological standard outliving...")
  • 15:25, 2 September 2025 Ryan talk contribs created page RestTemplateBuilder: A Modern Approach to HTTP Clients in Spring Boot (Created page with "In the landscape of Java’s Spring Boot framework, making HTTP requests to external services is a cornerstone of building interconnected microservices and applications. While the classic <code>RestTemplate</code> has long been the go-to tool for this task, Spring Boot offers a more powerful and elegant solution: the <code>RestTemplateBuilder</code>. This builder utility simplifies the configuration and creation of <code>RestTemplate</code> instances, promoting cleaner c...")
  • 15:24, 2 September 2025 Ryan talk contribs created page Integrating Swagger (OpenAPI) with Spring Boot, Kotlin, and Gradle (Created page with " <span id="introduction-to-swagger-and-openapi"></span> === Introduction to Swagger and OpenAPI === '''Swagger''' is a suite of open-source tools for designing, building, documenting, and consuming RESTful web services. The '''OpenAPI Specification''' (formerly Swagger Specification) is the definition format for these APIs. By integrating Swagger into your Spring Boot application, you can automatically generate interactive API documentation that allows developers and co...")
  • 15:22, 2 September 2025 Ryan talk contribs created page Why Should You Prefer Collections Over Arrays in Kotlin? (Created page with "<span id="the-core-difference-arrays-vs.-collections"></span> === The Core Difference: Arrays vs. Collections === At a high level, both arrays and collections are used to hold multiple items. However, they have fundamental differences in their structure, capabilities, and how you interact with them. <span id="arrays-arrayt"></span> ==== Arrays (<code>Array<T></code>) ==== * '''Fixed Size:''' This is the most critical characteristic of an array. Once you create...")
  • 15:21, 2 September 2025 Ryan talk contribs created page A comprehensive guide to setting up and using Node Version Manager (NVM) on macOS. (Created page with "<span id="introduction"></span> === Introduction === NVM, or Node Version Manager, is a command-line tool that allows you to install, manage, and switch between multiple versions of Node.js on a single machine. This is particularly useful for developers who work on various projects that may have different Node.js version requirements, ensuring compatibility and preventing version-related conflicts. <span id="prerequisites"></span> === Prerequisites === Before installi...")
  • 15:19, 2 September 2025 Ryan talk contribs created page Sublime Text Command line Interface (Created page with "https://www.sublimetext.com/docs/command_line.html <span id="zsh"></span> == ZSH == If using Zsh, the default starting with macOS 10.15, the following command will add the bin folder to the PATH environment variable: <pre>echo 'export PATH="/Applications/Sublime Text.app/Contents/SharedSupport/bin:$PATH"' >> ~/.zprofile</pre>")
(newest | oldest) View (newer 50 | ) (20 | 50 | 100 | 250 | 500)