- Published on
KembaraXtra-Computer Science-Kirchhoff's Voltage Law (KVL)
Core Concept:
Core Concept:
- The sum of all voltages around any closed loop in a circuit must equal zero.
- This is a fundamental principle for analyzing circuits.
- Voltage Source: Supplies voltage to the circuit (positive voltage).
- Voltage Drop: Occurs across circuit elements (like resistors) as they "use" the voltage (negative voltage).
- Closed Loop: A complete path in a circuit that starts and ends at the same point.
- Voltage Supplied: The voltage source provides a certain voltage (e.g., 10V).
- Voltage Drops Across Elements: As current flows through each element (e.g., resistor), a voltage drop occurs.
- Sum to Zero: The sum of the voltage source (positive) and all the voltage drops (negative) around the loop must equal zero.
- A circuit with a 10V power supply and three resistors in series (4kΩ, 6kΩ, 10kΩ).
- Total Resistance: 4kΩ + 6kΩ + 10kΩ = 20kΩ
- Current (I): Using Ohm's Law (V = IR), I = 10V / 20kΩ = 0.5mA.
- Voltage Drops:
- Across 4kΩ resistor: V = (0.5mA) * (4kΩ) = 2V
- Across 6kΩ resistor: V = (0.5mA) * (6kΩ) = 3V
- Across 10kΩ resistor: V = (0.5mA) * (10kΩ) = 5V
- Voltage at Points:
- VA = 10V (connected to the positive terminal)
- VD = 0V (connected to the negative terminal/ground)
- VB = VA - 2V = 8V
- VC = VB - 3V = 5V
- KVL Confirmation: 10V (source) - 2V (drop) - 3V (drop) - 5V (drop) = 0V
- Resistors connected along a single path are in series.
- The total resistance of series resistors is the sum of the individual resistances: Rtotal = R1 + R2 + R3 + ...
- V = IR (Voltage = Current * Resistance)
- I = V/R (Current = Voltage / Resistance)
- R = V/I (Resistance = Voltage / Current)
- KVL applies to any closed loop in a circuit, regardless of resistor values.
- Voltage drops are considered negative voltages in the KVL equation.
- KVL helps determine unknown voltages and currents in a circuit.
- Published on
KembaraXtra-Computer Science- Circuit Diagrams
1. Circuit Diagram Basics
What is a Circuit Diagram?
Current Loop
Ground (GND) Definition
1. Circuit Diagram Basics
What is a Circuit Diagram?
- A visual representation of an electrical circuit.
- Uses standard symbols to represent circuit elements (resistors, voltage sources, etc.).
- Lines represent wires connecting the elements.
- Resistor: Zig-zag line.
- Voltage Source (e.g., Battery): A long line (positive terminal) and a short line (negative terminal) next to each other. The positive terminal has a voltage that is positive relative to the negative terminal.
- A 9-volt battery connected to a 10,000Ω resistor.
- Shorthand: 10kΩ means 10,000Ω (k = kilo = thousand).
Current Loop
- Current flows through the entire circuit in a loop.
- From the power source, through the circuit elements, and back to the source.
- A set of electrical components connected so that current flows in a loop.
- If the loop is broken, current will not flow.
- A circuit with a break in the loop.
- No current flows in an open circuit.
- A path in a circuit that allows current to flow with little or no resistance, usually unintentionally.
Ground (GND) Definition
- A reference point in a circuit used to measure other voltages.
- Considered 0V.
- Voltages are measured relative to ground (the difference in potential matters).
- In simple DC circuits, the negative terminal of the battery is often considered ground.
- Some circuits are physically connected to the earth, providing a 0V reference point.
- Even in battery-powered devices without an earth connection, a designated 0V point is called ground.
- Instead of drawing circuits as a loop, ground and voltage source connections can be indicated with specific symbols.
- Ground Symbol: Series of progressively shorter horizontal lines, typically pointing downwards.
- Voltage Source Symbol: A line connected to +, and a ground symbol connected to -.
- Circuits drawn as a loop or with ground/voltage symbols are functionally equivalent.
- Only the diagrammatic representation differs.
- Published on
- Published on
- Published on
KembaraXtra- Computer Science - Apps
1. App Definition & Characteristics
1. App Definition & Characteristics
- Traditional Definition: Software programs used directly by users (interchangeable with "application").
- Modern Meaning: Gained prominence with Apple's App Store (2008).
- Common Characteristics:
- Designed for end users.
- Often target mobile devices (smartphones, tablets).
- Distributed via internet-based digital storefronts (App Store, Google Play Store, Microsoft Store).
- Limited system access; declare required capabilities.
- Primarily use touchscreens for user input.
- Native App: Software installed on a device that directly utilizes the operating system's API.
- Web App: Designed with web technologies (HTML, CSS, JavaScript) and not tied to a specific OS.
- Definition: Built for a specific operating system (iOS, Android).
- Benefits of App Stores:
- New platforms for developers.
- New methods of distribution.
- New ways to monetize software.
- Development Challenges:
- iOS and Android differ in programming languages and APIs.
- Requires separate codebases or cross-platform frameworks (Xamarin, React Native, Flutter, Unity) for multi-platform support.
- Many apps rely on web services.
- Cross-Platform Frameworks: Abstract underlying OS API details, enabling code to run on multiple platforms.
- Historical Context:
- Steve Jobs initially envisioned web apps as the primary means for third-party development on the iPhone.
- Apple later reversed course, allowing native app development and opening the App Store.
- Benefits of Native Apps & App Stores:
- Revenue source for platform holders (Apple, Google, Microsoft).
- Exclusive content.
- Curated list of apps with ratings.
- Consumer trust (quality guidelines).
- Centralized payment service.
- Automatic updates.
- Drawbacks:
- Complex environment for developers (multiple stores, platforms, technologies).
- Each marketplace has specific requirements and takes a percentage of revenue.
- Definition: Websites that function like apps, built using web technologies (HTML, CSS, JavaScript).
- Advantages:
- Run on any device with a modern web browser.
- Code only needs to be written once.
- Disadvantages:
- Don't have full access to device capabilities.
- Tend to be slower than native apps.
- Require an internet connection.
- Generally not listed in app stores.
- Responsive Web Design: Ensures web content renders well on various screen sizes, allowing for a single website across devices.
- Web Development Frameworks: Angular, React, Vue.js simplify web app development and maintenance.
- Definition: Websites with extra features that bridge the gap between native apps and web apps.
- Requirements:
- Served over HTTPS.
- Render appropriately on mobile devices.
- Load offline once downloaded.
- Provide a manifest describing the app.
- Transition quickly between pages.
- User Experience: Feel responsive and natural, like a native app.
- Benefits:
- Use web technologies for apps without building multiple platform-specific apps.
- Users can add a PWA icon to their home screen or desktop, launching it like a native app in its own window.
- Drawbacks:
- Don't appear in app stores (except Microsoft Store).
- Users aren't used to installing apps from websites.
- May not look exactly like native apps (look similar across platforms).
- May not have the same performance or full access to platform capabilities as native apps.
- Published on
KembaraXtra- Computer Science -Virtualization and Emulation
I. Introduction
Feature
Virtualization
Emulation
I. Introduction
- Virtualization: Creating a virtual representation of a computer using software.
- Emulation: Enabling applications designed for one type of device to run on a different type of device.
- Virtual Machine (VM): A virtual computer that runs an operating system and applications, similar to a physical computer.
- Applications running on a VM perceive the virtualized hardware as a physical computer.
- Benefits of Virtualization:
- Run multiple operating systems on a single physical machine.
- Datacenters can host multiple virtual servers on one physical server.
- Easy to back up, restore, and deploy VMs.
- Hypervisors: Software platforms that run virtual machines.
- Type 1 Hypervisor: Interacts directly with the underlying hardware, sitting below the kernel.
- Examples: Microsoft's Hyper-V, VMware ESX.
- Type 2 Hypervisor: Runs as an application on an operating system.
- Examples: VMware Player, VirtualBox.
- Type 1 Hypervisor: Interacts directly with the underlying hardware, sitting below the kernel.
- Containers: Provide an isolated user mode environment for running applications.
- Share the kernel with the host OS and other containers.
- Processes in a container can only access a subset of the host's resources (e.g., isolated filesystem).
- Provide isolation similar to VMs but without the overhead of a separate kernel.
- Typically limited to running the same OS as the host.
- Examples: OpenVZ (virtualizes the entire user mode), Docker (runs individual applications).
- Definition: Using software to make one type of device behave like another.
- Key Difference from Virtualization:
- Virtualization offers a slice of the underlying hardware.
- Emulation presents virtual hardware that is unlike the physical hardware.
- Example: Running software compiled for a Sega Genesis (Motorola 68000 processor) on an x86 machine.
- Process: The emulator translates CPU instructions from the original system to instructions that the host system can understand.
- Overhead: Emulation introduces significant overhead because each instruction must be translated.
- Applications of Emulation:
- Preserving software designed for obsolete platforms.
- Enabling old software to run on modern platforms without modification (when source code is lost or modernization is too difficult).
- Definition: Run an application within an execution environment that abstracts away details of the underlying OS.
- Similarity to Emulators: Provides a platform decoupled from the hardware and OS.
- Difference from Emulators: Does not simulate real hardware.
- Purpose: Designed for running platform-independent software.
- Examples: Java and .NET use process virtual machines that run bytecode.
Feature
Virtualization
Emulation
- Published on
KembaraXtra-Computer Science - Deep Web and Dark Web
I. Overview
I. Overview
- The internet can be divided into three layers:
- Surface Web
- Deep Web
- Dark Web
- The terms "Deep Web" and "Dark Web" are often confused but have distinct meanings.
- Definition: Content freely available and accessible to anyone.
- Examples: Public blogs, news sites, public social media posts (e.g., public Twitter posts).
- Indexing: Indexed by search engines (Google, Bing, etc.).
- Accessibility: Can be found using standard search engines.
- Definition: Web content that cannot be accessed without logging in or specific credentials.
- Accessibility: Requires a password or login to access.
- Examples:
- Checking your bank balance online.
- Reading your email through a web service (Gmail, Yahoo, etc.).
- Logging into social media accounts (Facebook, Instagram, etc.).
- Viewing personal shopping history on e-commerce sites (Amazon, etc.).
- Indexing: Not indexed by search engines; therefore, not publicly available.
- Reason for Non-Indexing: To protect sensitive, private user data.
- Definition: Web content that requires specialized software to access.
- Accessibility: Cannot be accessed with a standard web browser.
- Key Technology: Tor (The Onion Router) is the most prevalent technology.
- Tor Functionality:
- Enables anonymous access to the web.
- Uses a system of encryption and relays.
- Hides the user's IP address, preventing ISPs from monitoring browsing activity.
- Prevents visited sites from knowing the visitor's IP address.
- Onion Services: Websites accessible only through Tor, and are part of the Dark Web. They also hide their IP addresses.
- Anonymity: Both users and websites can remain anonymous.
- Use Cases:
- Criminal Activity: Anonymity can be exploited for illegal purposes.
- Legitimate Purposes:
- Whistleblowing
- Political discussion
- Caution: Exercise caution when accessing content on the dark web.
- Published on
KembaraXtra- Computer Science - Bitcoin
I. Cryptocurrency Fundamentals
A. Definition
A. Origin
A. Core Concept
A. Storage
A. Definition
A. Definition
A. Genesis Block
A. Bitcoin Anonymity
I. Cryptocurrency Fundamentals
A. Definition
- A digital asset used for financial transactions, serving as an alternative to traditional currencies.
- Transactional: Spending currency on goods/services.
- Investment: Similar to gold; value is stored/speculated on.
- No single controlling organization.
A. Origin
- The first decentralized cryptocurrency, introduced in 2009.
- Most well-known cryptocurrency, with many alternatives ("altcoins") but none as dominant.
- Bitcoin (BTC).
A. Core Concept
- Information grouped into chronological "blocks" linked together.
- Blocks contain transaction records (movement of bitcoins).
- Operates over a network (e.g., the internet).
- Multiple computers ("nodes") process transactions and update the blockchain.
- No single master copy of the blockchain.
- Encryption/Decryption: Ensures transaction integrity and prevents tampering.
- Immutability: Data cannot be changed once written to the blockchain.
- Decentralized, immutable record of all Bitcoin network transactions.
A. Storage
- Bitcoins are associated with key pairs held in a Bitcoin wallet.
- The wallet holds cryptographic key pairs (private and public keys).
- Private Key: Randomly generated 256-bit number; must be kept secret. Allows spending of associated bitcoins.
- Public Key: Derived from the private key; used to receive bitcoins.
- Text string generated from the public key; used to represent the public key when receiving bitcoins.
- Example: 13pB1brJqea4DYXkUKv5n44HCgBkJHa2v1
- Sender needs the recipient's Bitcoin address (derived from their public key).
- Sender uses their private key to authorize the transaction.
- Recipient's private key is never shared.
A. Definition
- A transfer of bitcoins.
- Wallet software constructs a transaction.
- Transaction details (sender, receiver, amount) are specified.
- Digitally signed with the sender's private key.
- Broadcast to the Bitcoin network.
- Network computers verify the transaction.
- Transaction added to a new block on the blockchain.
- Inputs: Source of the bitcoins being transferred. Refers to a previous transaction's output, not directly to a Bitcoin address.
- Outputs: The address where the bitcoin is sent.
- Not explicitly stored in the wallet or directly in the blockchain.
- Calculated from the history of transactions associated with an address.
A. Definition
- The process of maintaining the Bitcoin blockchain.
- Computers around the world that add blocks of transactions to the blockchain.
- Verify Transactions: Ensure each transaction in the block is valid.
- Solve a Complex Problem: Miners must solve a computationally difficult problem (proof of work).
- Deters tampering with the blockchain.
- Altering a block requires re-solving the problem for that block and all subsequent blocks.
- The first miner to solve the problem is awarded a sum of bitcoins.
- This is how new bitcoins are created.
- Miners also claim transaction fees from transactions included in the block.
- Designed to allow only 21 million coins to be mined in total.
- After that, miners will rely solely on transaction fees.
A. Genesis Block
- The first block in the Bitcoin blockchain, mined in 2009.
- Inventor of Bitcoin (presumed pseudonym).
- Mining costs (hardware, electricity) must be less than the value of bitcoins awarded.
- Specialized hardware is used for faster mining.
- Mining is not a guaranteed profit due to costs and price volatility.
A. Bitcoin Anonymity
- The blockchain is public (all transactions are visible).
- However, personal identities are not directly linked to addresses.
- Attracts those seeking anonymity.
- Can be used beyond cryptocurrencies.
- Suitable for any system needing a tamper-resistant record history.
- Published on
KembaraXtra-Computer Science - Cloud Computing
I. Introduction to Cloud Computing
I. Introduction to Cloud Computing
- Definition: Delivery of computing services over the internet.
- Shift from centralized to local to remote computing.
- Cloud computing allows on-demand purchasing of computing services.
- Early Days: Centralized computing with servers accessed via terminals.
- Shift to Local: Desktop computers handled processing locally.
- Return to Remote: Web-based applications accessed via local smart devices.
- Modern applications use a mix of local and remote processing.
- Maintaining servers is complex and costly (hardware, software, security, capacity planning).
- Organizations want to focus on their core purpose, not server maintenance.
- Cloud providers handle the underlying hardware and infrastructure.
- Defined by the division of responsibility between cloud provider and consumer.
- Four main categories: IaaS, PaaS, FaaS, SaaS
- Provider: Manages hardware and virtualization.
- Consumer: Manages OS, runtime environment, application code, and data.
- Example: Virtual computer (VM or container) accessed over the internet.
- Responsibility: Consumer maintains all software on the virtual computer.
- Examples: Amazon EC2, Microsoft Azure Virtual Machines, Google Compute Engine
- Provider: Manages hardware, virtualization, OS, and runtime environment.
- Consumer: Develops and manages the application code.
- Benefit: Consumer doesn't maintain the underlying OS or runtime environment.
- Responsibility: Consumer manages application and provisions resources (storage, VMs).
- Examples: AWS Elastic Beanstalk, Microsoft Azure App Service, Google App Engine
- Provider: Manages all infrastructure and on-demand execution of code.
- Consumer: Only deploys code (functions) that run in response to events.
- Model: Event-driven.
- Serverless Computing: Consumer doesn't manage servers.
- Responsibility: Consumer writes code that runs in response to events.
- Examples: AWS Lambda, Microsoft Azure Functions, Google Cloud Functions
- Provider: Fully manages the application in the cloud.
- Consumer: Uses the complete application.
- Contrast: Differs from installing and maintaining software locally.
- Responsibility: Consumer manages the data they store in the application.
- Examples: Microsoft 365, Google G Suite, Dropbox
- Amazon Web Services (AWS)
- Microsoft Azure
- Google Cloud Platform (GCP)
- IBM Cloud
- Oracle Cloud
- Alibaba Cloud
- Runtime Environment: Environment in which an application executes (libraries, interpreters, etc.).
- Virtualization: Creating a virtual (rather than actual) version of something, such as a computer hardware platform, operating system, storage device, or network resources
- Serverless Computing: Cloud computing model where the provider manages servers, and the consumer doesn't need to manage them.
- Event-Driven Model: A programming paradigm in which the flow of the program is determined by events (e.g., user actions, sensor outputs, messages from other programs/threads).
- Published on
KembaraXtra-Case Law- Services and Daemons
Core Concept: Background Processes
Core Concept: Background Processes
- Definition: Services (Windows) and daemons (Unix-like systems) are processes that run automatically in the background, without direct user interaction.
- Purpose: Provide system-level capabilities that:
- Are not tied to a specific user.
- Do not require kernel-mode privileges.
- Need to be available on demand.
- Examples:
- Configuring network settings
- Running scheduled tasks
- Responsibility: Operating systems have components to manage services/daemons. This includes:
- Starting services/daemons at boot.
- Starting services/daemons in response to events.
- Restarting services/daemons after failures.
- Function: Manages Windows services.
- Executable: services.exe
- Startup: Started early in the boot process and runs continuously.
- Function: Manages daemons (and acts as the init process).
- Status: Standard daemon manager for many modern Linux distributions.
- Startup: Started very early in the boot process and runs continuously.
- Daemon Origin: Inspired by Maxwell's demon, a background "helper" in a physics experiment.
- Pronunciation: "DAY-mon" (common in computing) or "demon" are both acceptable when referring to background processes.
- Service vs. Daemon: Historically, "service" was Windows-specific, but is now also used on Linux, often for daemons managed by systemd.