Skip to main content

Posts

Quick look on abbreviations in SE

 Here's a quick reference list with some common abbreviations that I have came across in my Engineering journey :  1. PR – Pull Request A request submitted by a developer to merge their code changes from one branch to another, typically for review and collaboration before integration. 2. MR – Merge Request Similar to a Pull Request, a Merge Request is used in GitLab to request code merging. It includes review, discussion, and approval before finalizing changes. 3. CR – Change Request A formal proposal to modify a system or product, often triggered by stakeholder feedback, bug reports, or evolving requirements. 4. LADR – Lightweight Architectural Decision Record A brief document that captures an important architectural decision made during a project. 5. BRD – Business Requirement Document Outlines the high-level business needs, objectives, and expectations of a project. It's used as a reference for aligning technical development with business goals. 6. LLD – Low-Level Desi...

Sorting Algorithms – Quick Reference for Interviews

Sorting is a fundamental operation in computer science and Understanding the basic sorting algorithms is essential for both interviews and real-world programming tasks. I am sharing the notes that I have taken in my learning curve. 1. Selection Sort Selection Sort repeatedly finds the minimum element from the unsorted part and puts it at the beginning. Steps: Loop through the array. For each index, find the smallest element in the rest of the array. Swap it with the current index. Time Complexity: O(n²) Example: [29, 10, 14, 37, 13] → [10, 29, 14, 37, 13] → [10, 13, 14, 37, 29] → [10, 13, 14, 37, 29] → [10, 13, 14, 29, 37] 2. Insertion Sort Insertion Sort builds the sorted array one element at a time by inserting each element into its correct position. Steps: Start from index 1. Compare current element with the left-side elements. Shift elements to the right and insert at the correct position. Time Complexity: O(n²) Example: [8, 4, 1, 3] → [4, 8, 1, 3] → [1, 4, 8, 3] → [1, 3, 4, 8] 3. ...

WWDC 2025 Sessions Summary: What's new in SwiftUI ?

This summary covers key updates from WWDC 2025 sessions to build a SwiftUI app with the new design. 1.  Liquid Glass Liquid Glass is a new adaptive material inspired by glass and liquid, dynamically changing based on the content underneath. This SwiftUI’s new design system brings a fluid, glassy look across platforms, with tab bars, toolbars, and navigation views adopting Liquid Glass automatically. UI elements like sliders, toggles, and pickers animate fluidly with the new material, enhancing interactivity. 2. Background Extension Effect The NavigationSplitView now features a floating Liquid Glass sidebar and allows for safe-area background extension using backgroundExtensionEffect . 3. Tabbar Minimize Behavior A new tab bar behavior enables it to float above contents and minimize on scroll with tabBarMinimizeBehavior , keeping content in focus. Developers can add bottom accessory views to the tab bar using tabViewBottomAccessory , which adapts to collapse states. 4. Sheets b...

Building an elegant Routing Layer in SwiftUI

SwiftUI empowers developers with powerful APIs to design user interfaces, making it easier than ever to create visually stunning screens that enhance the user experience (UX). Once these screens are crafted, the next step is to seamlessly connect them using navigation tools like NavigationView or NavigationStack . But here’s the catch: navigation logic can quickly spiral into a tangled mess as your app scales with more features and screens. The challenge lies in writing a clean, maintainable routing layer that keeps your codebase organized and easy to extend. To tackle this, adopting a dedicated routing layer is essential, especially when working with structured app architectures like VIPER or MVVM. In VIPER, routing plays a pivotal role as the "R" in the acronym. In MVVM, however, routing often takes a backseat in SwiftUI projects. This article introduces a simple yet effective approach to integrate a routing layer within SwiftUI, ensuring your app’s navigation logic rem...

Transformative impact of VisionOS on education

VisionOS gives futuristic opportunity in Education and Training landscape. For instance illustrating virtual classrooms, interactive learning environments, and simulations. 1. Immersive Learning Environments: VisionOS introduces immersive learning environments that go beyond traditional classroom setups. These environments leverage augmented reality (AR) and virtual reality (VR) technologies to create realistic and engaging educational experiences. Students can explore historical events or conduct virtual experiments, fostering a deeper understanding of the subject matter. 2. Redefining Traditional Education Models: The traditional education model often relies on lectures, textbooks, and static presentations. VisionOS disrupts this paradigm by offering dynamic and interactive content. Teachers can create 3D models, simulations, and interactive lessons, providing students with a more engaging and participatory learning experience. 3. Interactive and Engaging Platform: VisionOS is design...

Successfully installing CocoaPods in M1 Macs

Installation steps of cocoapods in the new Macs with M1 chipset is little different than Intel based Macs. If we casually run `pod install`, we are likely to encounter error related to the ffi gem 🤨. Open the terminal and follow below steps to solve the error and install pod dependencies successfully. Step1 : At first, install ffi gem intel version > sudo arch -x86_64 gem install ffi Steps 2: Install cocoapod  > sudo gem install cocoapods Steps 3 (optional) : Go to project root folder and initialise pod file if not created already. > arch -x86_64 pod init Steps 4: Now Install pod dependencies. > arch -x86_64 pod install

HackerRank Exercise : Kangaroo Number Line Jumps Solved in Swift 5.0

Given two kangaroos on a number line ready to jump in the positive direction, we have to figure out a way to get both kangaroos at the same location at the same time as part of the show. If it is possible, return YES , otherwise return NO . Read full problem statement from here Working solution in Swift           func kangaroo ( x1 : Int , v1 : Int , x2 : Int , v2 : Int ) -> String {         var multiplier = 1         // 1.         while (multiplier < 10000 ) {             // 2.             if (x1+(v1*multiplier) == x2+(v2*multiplier)) {                 return "YES"             }                          multiplier += 1         }            ...