TECHNOLOGY 

Published on
KembaraXtra- Computer Terms – 404
The 404 Not Found HTTP status code is returned when a server cannot locate a resource that matches the requested URL. This error commonly occurs when a web page has been removed, renamed, or incorrectly referenced. It signals that the server itself is reachable, but the specific content requested does not exist.


Picture
Published on
KembaraXtra- Computer Terms – 486
The term 486 refers collectively to Intel’s i486 family of microprocessors. These CPUs represented a significant advancement over the 386 line, integrating features such as on-chip cache memory and improved instruction pipelines, which resulted in better performance and efficiency for personal computers of the era.


Picture
Published on

KembaraXtra- Computer Terms – 486DX
The 486DX is a variant of the Intel i486 processor that includes an integrated floating-point unit. This integration allowed faster execution of mathematical operations compared to systems that relied on separate coprocessors, making the 486DX well-suited for graphics, engineering, and scientific applications.


Picture
Published on

Artificial Intelligence – Deploying for Online Learning on GCP

Deploying a TensorFlow SavedModel to Google Cloud Platform (GCP) lets us run predictions online, at scale, without managing servers directly.

Your TensorFlow model must be stored in a Google Cloud Storage bucket. This includes the saved_model.pb file.

Step 1: Create a Deployed Model Object

First, create the model container on GCP:

gcloud ml-engine models create "deployed_classifier"
  

This prepares a container where future versions will live.

Step 2: Tell GCP Where the SavedModel Files Are

Set the environment variable that points to the model binaries:

DEPLOYMENT_SOURCE="gs://classifier_bucket123/classifier_model/binaries"
  

Step 3: Deploy the Model Version

Deploy a version of your model to Google Cloud ML Engine:

gcloud ml-engine versions create "version1" \
    --model "deployed_classifier" \
    --origin $DEPLOYMENT_SOURCE \
    --runtime-version 1.9
  

The deployment process may take a few minutes.

Step 4: Prepare Data for Prediction

Define the variables used for prediction:

MODEL_NAME="deployed_classifier"
INPUT_DATA_FILE="test.json"
VERSION_NAME="version1"
  

The test.json file contains a sample JSON input.

Step 5: Request a Prediction

Send a prediction request to your deployed model:

gcloud ml-engine predict \
    --model $MODEL_NAME \
    --version $VERSION_NAME \
    --json-instances $INPUT_DATA_FILE
  

You’ll receive JSON output containing the prediction probabilities.

Success! Your Model Is Live □

Your deployed model can now be called from apps, websites, backend services, or automated systems.

For a 10-Year-Old: Super Simple Explanation

You built a smart robot and now you're putting it on the internet.

Here’s what happened:

  • You put the robot’s brain online (Google Cloud Storage).
  • You told Google your robot exists.
  • You told Google where the robot’s brain file is.
  • You turned the robot on (created a version).
  • You asked the robot a question (prediction command).

The robot replies:

  • “This looks like fraud (90% sure)”
  • “This does NOT look like fraud (10% sure)”

Your robot now lives in the cloud and people can ask it questions anytime!

Picture
Published on

Training on GCP

Google has made the deep learning training and deployment process streamlined by allowing us to train models, store them, and deploy them with minimal code. Before training in the cloud, we should first train the model locally to confirm everything works as intended.

To begin, we must set some environment variables and organize our project files into the correct structure required by Cloud ML. Inside the training folder in this chapter’s GitHub repository, you will find the correct file layout. The __init__.py file simply tells GCP that our folder contains an executable Python package.

Next, define the job directory and training data path:

JOB_DIR="model_folder"
TRAIN_DATA="/path/to/data"
  

Now train the model locally using Cloud ML’s local runner:

gcloud ml-engine local train \
    --job-dir $JOB_DIR \
    --module-name trainer.task \
    --package-path trainer/ \
    -- --train-file $TRAIN_DATA
  

If your model trains successfully locally, you are ready for cloud training.

Cloud Training Setup

Training on Cloud ML is submitted as a job. The platform automatically sets up the environment, runs the training, and cleans up afterward.

Each training job must have a unique name. We will call our job classifier_model.

Instead of a local job directory, we now point Cloud ML to a folder inside our Google Cloud Storage bucket.

Choose the closest region to your location in the United States:

  • us-west1
  • us-central1
  • us-east1
JOB_NAME="classifier_model"
JOB_DIR="gs://classifier_bucket123/$JOB_NAME"
PACKAGE_STAGING_PATH="gs://classifier_bucket123"
MAIN_TRAINER_MODULE="trainer.simple_classifier"
REGION="us-east1"
TRAIN_DATA="gs://classifier_bucket123/creditcard.csv"
  

Submit the Cloud Training Job

Send the job to Cloud ML with:

gcloud ml-engine jobs submit training $JOB_NAME \
    --staging-bucket $PACKAGE_STAGING_PATH \
    --job-dir $JOB_DIR \
    --package-path /trainer \
    --module-name $MAIN_TRAINER_MODULE \
    --runtime-version 1.8 \
    --region $REGION \
    -- --train-file $TRAIN_DATA
  

The --runtime-version must match your installed version of TensorFlow. You can check your version by running:

python -c "import tensorflow as tf; print(tf.__version__)"
  

Monitor Training Progress

After submitting the job, Cloud ML will confirm that training has started. You can log in to the GCP console and use the Jobs section to check:

  • Training metrics
  • Error messages
  • Output logs
  • Resource usage

This information provides the same visibility you'd normally see when training locally.

When training is complete, the script will output the SavedModel binaries to your Google Cloud Storage bucket. If you have reached this stage successfully, you are ready to deploy the model as an API.

For a 10-Year-Old: Simple Explanation

Imagine you are teaching a robot how to understand information. First you teach it at home (your computer), then you send it to Google’s huge computer school so it can learn even better.

  • You set up the robot’s school folder.
  • You teach it at home to make sure it works.
  • You send it to Google’s supercomputers to train faster.
  • Google shows you its progress online.

When Google finishes training your robot, it becomes smart enough to help real people!

Picture
Published on
Artificial Intelligence – Scaling Your Applications

Scalability describes how well a system can handle increasing workloads without slowing down or failing. When we build software—especially machine learning or AI applications—we want them to remain fast, reliable, and stable even as more users or larger datasets place greater demands on the system.


There are two main strategies for scaling an application: scaling up and scaling out.

1. Scaling Up (Vertical Scaling)

Scaling up means improving the hardware of a single machine so it can handle more work.

Examples include:

  • Upgrading from a CPU-based machine to one with powerful GPUs
  • Adding more memory (RAM)
  • Switching to a larger cloud instance with more processing capability

This approach is often simple—you just move your existing program to a stronger machine. But it has limits, because there’s only so much hardware you can add to one system.


2. Scaling Out (Horizontal Scaling)


Scaling out means spreading the workload across multiple workers or machines.


Instead of one machine doing all the work, several machines share the tasks.
This method is more flexible and can grow almost indefinitely.


A common tool for scaling out big workloads is Apache Spark, which helps distribute large computations across an entire cluster of machines.

Scaling Out TensorFlow


While scaling up can be achieved with a single hardware change, scaling out TensorFlow requires distributing the training process across multiple devices. This allows:


  • Faster training
  • The ability to process much larger datasets
  • More resilient and powerful system design

In this section, we focus specifically on how to scale out TensorFlow, using distributed training techniques that allow many machines to work together during model training.


Simple Explanation

Imagine you have a giant pile of homework. You can handle it two different ways:


Scaling Up = Getting Stronger Yourself

This is like sharpening your pencil, getting a bigger desk, and maybe drinking hot chocolate so you can work faster.


It’s still just you, but now you can work a bit quicker because you have better tools.


Scaling Out = Getting More Friends to Help

Instead of doing the homework alone, you ask your friends to help.
Everyone takes a piece of the work, and you finish much faster.


This is what computers do when they “scale out”—lots of machines help with the same problem.


TensorFlow Example


If your homework is too big for just you, you either:


  • Work on a bigger desk (scaling up), or
  • Get a whole team to help you (scaling out)


TensorFlow scaling out is like forming a homework team where each person solves a small part, and together you finish the assignment super fast.


Picture
Published on

Using an API to Get Predictions

After you deploy a machine learning model on Google Cloud, you can call it from your own application through an API. Below is a simple walkthrough showing how to:


  • Set up Google Cloud service account credentials
  • Write a Python script to send data to the model
  • Create a simple Flask API to return predictions

1. Create a Google Cloud Service Account

First, you need a service account key so your app can access the model.


  1. Go to APIs & Services → Credentials
  2. Create a service account key
  3. Download it as a JSON file

Set this environment variable:

export GOOGLE_APPLICATION_CREDENTIALS="my-service-key.json"

2. Python Client for Sending Data (gcp_client.py)

This script sends data to your deployed model and returns a prediction.

import google.auth
from googleapiclient.discovery import build

credentials, project_id = google.auth.default()
ml = build("ml", "v1", credentials=credentials)

def call_model(features):
    model = "deployed_classifier"
    version = "v1"

    endpoint = f"projects/{project_id}/models/{model}/versions/{version}"
    body = {"instances": [{"x": features}]}

    resp = ml.projects().predict(name=endpoint, body=body).execute()
    return resp.get("predictions", [])

3. Flask App (app.py)

This Flask app exposes a /predict endpoint.

from flask import Flask, request, jsonify
from flask_cors import CORS
from gcp_client import call_model

app = Flask(__name__)
CORS(app)

@app.route("/predict", methods=["POST"])
def predict():
    data = request.get_json(force=True)
    features = data.get("features")

    if features is None:
        return jsonify({"error": "Missing features"}), 400

    preds = call_model(features)
    return jsonify({"prediction": preds[0] if preds else None})

if __name__ == "__main__":
    app.run(debug=True)

4. Run the App

Run this:

export FLASK_APP=app.py
flask run


Test with:

curl -X POST http://127.0.0.1:5000/predict \
  -H "Content-Type: application/json" \
  -d '{"features":[1,2,3,4]}'

Explain Like I'm 10

Imagine a super-smart robot in Google’s cloud. If you send it numbers, it sends back answers.


The service key is your pass that lets your app talk to the robot.

gcp_client.py is like a phone that calls the robot.

app.py is like a receptionist that takes questions and returns answers.

Image description
Published on

KembaraXtra–Computer Terms – 32-bit machine

A 32-bit machine is a computer whose core architecture processes data in 32-bit groups. This status can derive from both the internal word size of the microprocessor and the width of the system’s data buses. Examples include the Apple Macintosh II and later Macintosh models, which use processors and data paths designed for 32-bit operations, as well as systems built around Intel 80386 processors and newer chips in that family. Such machines can address larger memory spaces, handle more complex instructions in a single operation, and run more advanced operating systems and applications than earlier 16-bit systems, making them a key step in the evolution of personal and professional computing.


Picture
Published on

KembaraXtra–Computer Terms – 32-bit operating system

A 32-bit operating system is system software built to process data and instructions in 32-bit units, equivalent to 4 bytes at a time. In practice, this means that the operating system can manage significantly larger memory spaces, perform more sophisticated multitasking, and support richer graphical and networking features than earlier 16-bit systems. Well-known examples include Windows 95, Windows 98, Windows NT, Linux, and OS/2. These operating systems are typically paired with processors that support 32-bit instruction sets and often make use of protected mode, a CPU mode that enables advanced memory protection, hardware-based task switching, and isolation of applications from one another to improve reliability and security.


Picture
Published on
KembaraXtra–Computer Terms – 33.6

The label 33.6 refers to a dial-up modem whose maximum data transfer rate is in the neighborhood of 33.6 kilobits per second, often implemented in practice as around 33.3 Kbps. Modems at this speed represented a further improvement over earlier 28.8 Kbps models, allowing faster file transfers, quicker e-mail delivery, and slightly more responsive browsing of text-based and low-graphic Web content over telephone lines. This speed tier marked one of the later stages of analog modem development before the industry moved to the 56 Kbps range and, eventually, to broadband technologies.


Picture