Main public logs

Jump to navigation Jump to search

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)
  • 10:21, 21 November 2025 Ryan talk contribs created page A Practical Guide to 'nonisolated' in Swift Concurrency (Created page with "<span id="a-practical-guide-to-nonisolated-in-swift-concurrency"></span> = A Practical Guide to <code>nonisolated</code> in Swift Concurrency = Swift’s concurrency model leans heavily on ''isolation''—especially '''actor isolation'''—to prevent data races. The <code>nonisolated</code> modifier is a precision tool that lets you selectively ''opt out'' of that isolation for specific members, so you can call them without hopping to the actor’s executor (and thus wi...")
  • 12:59, 16 November 2025 Ryan talk contribs moved page Swift "@result Builder" — A Comprehensive Guide With Many Examples (2025) to Swift "@resultBuilder" — A Comprehensive Guide With Many Examples (2025)
  • 06:49, 16 November 2025 Ryan talk contribs created page Swift "@result Builder" — A Comprehensive Guide With Many Examples (2025) (Created page with "<span id="swift-resultbuilder-a-comprehensive-guide-2025"></span> = Swift <code>@resultBuilder</code> — a comprehensive guide (2025) = <blockquote>A practical, copy‑pasteable handbook to designing, implementing, and using result builders to create expressive DSLs. </blockquote> ----- <span id="tldr"></span> == 0) TL;DR == * <code>@resultBuilder</code> lets you '''turn a multi‑statement closure into a single value''' at compile time. * You write a builder type (...")
  • 06:07, 16 November 2025 Ryan talk contribs created page SwiftUI "@ViewBuilder" — a comprehensive guide (2025) (Created page with "<span id="swiftui-viewbuilder-a-comprehensive-guide-2025"></span> = SwiftUI <code>@ViewBuilder</code> — a comprehensive guide (2025) = <blockquote>Learn the mental model, API surface, best practices, and pitfalls of <code>@ViewBuilder</code> with many copy‑pasteable examples. </blockquote> ----- <span id="tldr"></span> == TL;DR == * <code>@ViewBuilder</code> is SwiftUI’s '''result builder''' for producing <code>View</code> hierarchies from declarative, multi‑...")
  • 15:33, 13 November 2025 Ryan talk contribs created page Swift Macros in 2025: A Practical Guide (Created page with "<span id="swift-macros-in-2025-a-practical-guide"></span> = Swift Macros in 2025: A Practical Guide = <blockquote>Updated for '''Swift 6.2''' (released Sep 15, 2025). If you’re on Swift 5.9+ the fundamentals are the same; Swift 6.x added polish and tooling, not a new macro model. ([https://www.swift.org/blog/swift-6.2-released/?utm_source=chatgpt.com Swift.org]) </blockquote> ----- <span id="table-of-contents"></span> == Table of contents == * #1-what-are-macros-...")
  • 13:18, 13 November 2025 Ryan talk contribs created page Unified Logging System (ULS) for Swift Developers — A Production‑Grade Guide (iOS & macOS) (Created page with "<span id="unified-logging-system-uls-for-swift-developers-a-productiongrade-guide-ios-macos"></span> = 🧰 Unified Logging System (ULS) for Swift Developers — A Production‑Grade Guide (iOS & macOS) = <blockquote>'''Scope:''' This guide focuses on Apple’s '''modern Swift <code>Logger</code> API''' in the <code>OSLog</code> framework. We’ll cover structured logging, signposts for performance, privacy, Console/Xcode/CLI workflows, plus integration patterns for...")
  • 03:59, 5 November 2025 Ryan talk contribs created page Swift Logging for iOS & macOS — A Practical Guide (Created page with "<span id="swift-logging-for-ios-macos-a-practical-guide"></span> = Swift Logging for iOS & macOS — A Practical Guide = <blockquote>'''TL;DR (recommendations)''' * Use Apple’s '''unified logging''' (<code>Logger</code> from <code>OSLog</code>) for app diagnostics. Prefer level‑appropriate calls (<code>.debug</code>, <code>.info</code>, <code>.notice</code>, <code>.error</code>, <code>.fault</code>). ([https://developer.apple.com/documentation/os/logging?utm_so...")
  • 08:13, 4 November 2025 Ryan talk contribs created page Diagnosing Performance Issues in iOS Apps (Created page with "<span id="diagnosing-performance-issues-in-ios-apps"></span> = Diagnosing Performance Issues in iOS Apps = <span id="introduction"></span> === 1) Introduction === Great performance directly affects '''user satisfaction''', '''retention''', '''ratings''', and even '''App Store success'''. Apple’s tooling makes it possible to quantify performance, catch regressions, and turn “it feels slow” into actionable timelines and call trees. Apple’s guidance also emphasize...")
  • 07:27, 1 November 2025 Ryan talk contribs created page Swift + Xcode Library: Build, Document & Share (Step-by-Step) (Created page with "<span id="swift-xcode-library-build-document-share-step-by-step"></span> = Swift + Xcode Library: Build, Document & Share (Step-by-Step) = <span id="what-youll-build"></span> == What you’ll build == * A Swift '''package''' (the standard way to make libraries). * It works in Xcode (iOS, macOS, tvOS, watchOS). * It has tests, documentation, CI (optional), and versioned releases. * You’ll share it via '''Swift Package Manager (SPM)'''. (Optional: CocoaPods + XCFra...")
  • 07:24, 1 November 2025 Ryan talk contribs deleted page Building Cross-Platform Swift Utility Libraries with Swift Package Manager (content was: "<span id="building-cross-platform-swift-utility-libraries-with-swift-package-manager"></span> = Building Cross-Platform Swift Utility Libraries with Swift Package Manager = '''Swift Package Manager has emerged as the definitive solution for creating reusable code across Apple’s entire ecosystem.''' As of 2024-2025, SPM is deeply integrated into Xcode 15+ and supports all Apple platf...", and the only contributor was "Ryan" (talk))
  • 07:22, 1 November 2025 Ryan talk contribs created page Swift Sendable: a practical, step‑by‑step guide (2025) (Created page with "<span id="swift-sendable-a-practical-stepbystep-guide-2025"></span> = Swift <code>Sendable</code>: a practical, step‑by‑step guide (2025) = <blockquote><code>Sendable</code> tells the Swift compiler ''“this value is safe to share across concurrent code (different tasks/actors) without data races.”'' It’s a compile‑time safety net. ([https://www.swift.org/migration/documentation/swift-6-concurrency-migration-guide/dataracesafety/?utm_source=chatgpt.com Swift....")
  • 07:21, 1 November 2025 Ryan talk contribs deleted page Swift's Sendable Protocol: Complete Technical Guide (content was: "<span id="swifts-sendable-protocol-complete-technical-guide"></span> = Swift’s Sendable Protocol: Complete Technical Guide = '''Swift’s Sendable protocol eliminates data races at compile time'''—a marker protocol introduced in Swift 5.5 that indicates types can safely transfer across concurrency boundaries without introducing race conditions. By November 2025, Sendable has evolv...", and the only contributor was "Ryan" (talk))
  • 06:23, 1 November 2025 Ryan talk contribs created page Swift's Sendable Protocol: Complete Technical Guide (Created page with "<span id="swifts-sendable-protocol-complete-technical-guide"></span> = Swift’s Sendable Protocol: Complete Technical Guide = '''Swift’s Sendable protocol eliminates data races at compile time'''—a marker protocol introduced in Swift 5.5 that indicates types can safely transfer across concurrency boundaries without introducing race conditions. By November 2025, Sendable has evolved into a sophisticated system with region-based isolation in Swift 6.0, making concurr...")
  • 04:20, 1 November 2025 Ryan talk contribs created page Building Cross-Platform Swift Utility Libraries with Swift Package Manager (Created page with "<span id="building-cross-platform-swift-utility-libraries-with-swift-package-manager"></span> = Building Cross-Platform Swift Utility Libraries with Swift Package Manager = '''Swift Package Manager has emerged as the definitive solution for creating reusable code across Apple’s entire ecosystem.''' As of 2024-2025, SPM is deeply integrated into Xcode 15+ and supports all Apple platforms plus Linux and Windows, with first-class DocC documentation, automated CI/CD workf...")
  • 05:54, 18 October 2025 Ryan talk contribs moved page Show Today’s Date with Apple Shortcuts (macOS) to How to Create a macOS Shortcut to Instantly Insert Today’s Date Anywhere
  • 15:39, 16 October 2025 Ryan talk contribs created page The SwiftUI Observation Guide: @Observable, @Bindable, and Friends (2025 Edition) (Created page with "<span id="the-swiftui-observation-guide-observable-bindable-and-friends-2025-edition"></span> = The SwiftUI Observation Guide: <code>@Observable</code>, <code>@Bindable</code>, and Friends (2025 Edition) = '''Tested with:''' * '''Xcode:''' 26.0.1 (17A400) * '''Swift:''' 6.2 '''Minimum platforms for Observation APIs:''' iOS 17.0+, iPadOS 17.0+, macOS 14.0+, tvOS 17.0+, watchOS 10.0+, visionOS 1.0+. ([https://developer.apple.com/news/releases/?id=09222025m&utm_source=ch...")
  • 13:33, 16 October 2025 Ryan talk contribs created page Media Playback Programming for iOS & macOS (Step-by-Step, with runnable code) (Created page with "<span id="media-playback-programming-for-ios-macos-step-by-step-with-runnable-code"></span> = Media Playback Programming for iOS & macOS (Step-by-Step, with runnable code) = '''Version banner (verified):''' '''Tested with Swift 6.2, Xcode 26.0.1''', minimum targets '''iOS 17 / iPadOS 17, macOS 14''' (to use SwiftUI '''<code>@Observable</code>''' and the modern SwiftUI/AVKit stack). Generated '''Oct 16, 2025 (Asia/Seoul)'''. * Apple confirms '''Xcode 26.0.1''' and t...")
  • 04:46, 15 October 2025 Ryan talk contribs created page Show Today’s Date with Apple Shortcuts (macOS) (Created page with "<span id="show-todays-date-with-apple-shortcuts-macos"></span> = Show Today’s Date with Apple Shortcuts (macOS) = '''Overview:''' We’ll build a simple shortcut that gets today’s date, formats it, then shows it as a notification, copies it to the clipboard, and pops up an alert. <span id="steps"></span> == Steps == # Open '''Shortcuts''' on your Mac. # In the left sidebar, click '''All Shortcuts'''. # Click the '''+''' button (top-right) to create a new shortcut....")
  • 10:59, 14 October 2025 Ryan talk contribs created page Copyable vs Noncopyable in Swift — A Friendly, Step‑by‑Step Guide (Created page with "<span id="copyable-vs-noncopyable-in-swift-a-friendly-stepbystep-guide"></span> = Copyable vs Noncopyable in Swift — A Friendly, Step‑by‑Step Guide = <span id="table-of-contents"></span> == Table of Contents == # '''Big Picture (Why this matters)''' # '''What “copying” means in Swift''' 2.1 Value types (struct/enum) 2.2 Reference types (class) 2.3 Implicit copies vs explicit copies # '''<code>Copyable</code> and <code>~Copyable</code> (noncopyable)''' 3.1 The...")
  • 13:49, 11 October 2025 Ryan talk contribs created page Git Sparse-Checkout — A Friendly Guide (with --cone vs non-cone) (Created page with "<span id="introduction"></span> = 1) Introduction = '''What is sparse-checkout?''' Sparse-checkout lets you '''check out only part of a repository''' to your working directory. You still have the full commit history locally, but you only download or materialize certain folders/files to save time and disk space. '''Why use it?''' * Large/monorepos: You don’t need everything. * Faster operations: Less to index, build, and search. * Clear focus: Only the folders you ca...")
  • 13:35, 11 October 2025 Ryan talk contribs created page Building and Shipping a Safari Web Extension on macOS (Manifest V3, 2025 Edition): A Complete Step-by-Step Guide (Created page with " <span id="quick-overview"></span> = 1) Quick overview = <blockquote>Quick version notes (today) * '''Manifest V3 is supported in Safari''' (initially from Safari '''15.4+''') and remains supported in current Safari. ([https://webkit.org/blog/12445/new-webkit-features-in-safari-15-4/?utm_source=chatgpt.com WebKit]) * Latest '''Xcode''' release (stable): '''Xcode 26 (17A324)''' (Apple’s official releases page). * Use the latest '''macOS''' and '''Safari''' available i...")
  • 10:48, 10 October 2025 Ryan talk contribs created page Codex‑CLI Power User Guide (2025) (Created page with "<span id="codexcli-power-user-guide-2025"></span> = Codex‑CLI Power User Guide (2025) = <span id="what-is-codexcli"></span> == 1) What is Codex‑CLI? == Codex‑CLI is a '''local coding agent''' you run from your terminal. It can '''read files''', '''edit code''', and '''run commands''' in the directory you choose. You talk to it with plain English (and even attach screenshots). It plans, makes diffs, runs tests, and iterates — like a teammate who works directly i...")
  • 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....")
(newest | oldest) View (newer 50 | ) (20 | 50 | 100 | 250 | 500)