From 4862f698ec0de638dbbe570b1979d419b20f6552 Mon Sep 17 00:00:00 2001 From: dan100110 Date: Tue, 25 Apr 2023 14:25:56 -0700 Subject: [PATCH 01/34] replacing w2v --- Makefile | 6 ++- server/api/__init__.py | 2 + server/api/blueprints/__init__.py | 2 + server/api/blueprints/word2vec.py | 37 +++++++++++++ server/transformer/word2vec_transformer.py | 60 ++++++++++++++++++++++ shared/word2vec_download.py | 29 +++++++++++ shared/word2vec_slim_download.py | 31 +++++++++++ tests/test_api_w2v.py | 42 +++++++++++++++ 8 files changed, 208 insertions(+), 1 deletion(-) create mode 100644 server/api/blueprints/word2vec.py create mode 100644 server/transformer/word2vec_transformer.py create mode 100644 shared/word2vec_download.py create mode 100644 shared/word2vec_slim_download.py create mode 100644 tests/test_api_w2v.py diff --git a/Makefile b/Makefile index 0498726..cab93b6 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ install: poetry-ensure-installed poetry install .PHONY docker-build: -docker-build: sentence-transformers transformer.pkl +docker-build: sentence-transformers transformer.pkl word2vec.bin # squash reduces final image size by merging layers `--squash` # but its not supported in github actions docker build -t $(DOCKER_IMAGE) . @@ -27,6 +27,10 @@ sentence-transformers: shared/installed transformer.pkl: $(VENV) shared/installed sentence-transformers poetry run python ./server/transformer/embeddings.py ./shared/installed +word2vec.bin: shared/installed + cd shared && poetry run python word2vec_download.py + cd shared && poetry run python word2vec_slim_download.py + build/deploy: # put everything we want in our beanstalk deploy.zip file # into a build/deploy folder. diff --git a/server/api/__init__.py b/server/api/__init__.py index ea23cae..c5189d7 100644 --- a/server/api/__init__.py +++ b/server/api/__init__.py @@ -15,6 +15,7 @@ from .blueprints.ping import ping_blueprint from .blueprints.health import health_blueprint from .blueprints.paraphrase import paraphrase_blueprint +from .blueprints.word2vec import w2v_blueprint def create_app(): @@ -33,6 +34,7 @@ def _setup_route_handlers(app): app.register_blueprint(ping_blueprint, url_prefix="/v1/ping") app.register_blueprint(encode_blueprint, url_prefix="/v1/encode") app.register_blueprint(paraphrase_blueprint, url_prefix="/v1/paraphrase") + app.register_blueprint(w2v_blueprint, url_prefix="/v1/w2v") @app.route("/v1/debug-sentry") def _error_handler_test(): diff --git a/server/api/blueprints/__init__.py b/server/api/blueprints/__init__.py index b584f32..33b11da 100644 --- a/server/api/blueprints/__init__.py +++ b/server/api/blueprints/__init__.py @@ -6,6 +6,7 @@ # import os from server.transformer.encode import TransformersEncoder +from server.transformer.word2vec_transformer import Word2VecTransformer shared_root = os.environ.get("SHARED_ROOT", "shared") @@ -14,3 +15,4 @@ # load on init so request handler is fast on first hit encoder: TransformersEncoder = TransformersEncoder(shared_root) +w2v_transformer: Word2VecTransformer = Word2VecTransformer(shared_root) diff --git a/server/api/blueprints/word2vec.py b/server/api/blueprints/word2vec.py new file mode 100644 index 0000000..44b7e4b --- /dev/null +++ b/server/api/blueprints/word2vec.py @@ -0,0 +1,37 @@ +# +# This software is Copyright ©️ 2020 The University of Southern California. All Rights Reserved. +# Permission to use, copy, modify, and distribute this software and its documentation for educational, research and non-profit purposes, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and subject to the full license file found in the root of this software deliverable. Permission to make commercial use of this software may be obtained by contacting: USC Stevens Center for Innovation University of Southern California 1150 S. Olive Street, Suite 2300, Los Angeles, CA 90115, USA Email: accounting@stevens.usc.edu +# +# The full terms of this copyright and license should always be found in the root directory of this software deliverable as "license.txt" and if these terms are not found with this software, please contact the USC Stevens Center for the full license. +# +from flask import Blueprint, jsonify, request + +from . import w2v_transformer +from .auth_decorator import authenticate + +w2v_blueprint = Blueprint("w2v", __name__) + + +@w2v_blueprint.route("/", methods=["GET", "POST"]) +@w2v_blueprint.route("", methods=["GET", "POST"]) +@authenticate +def encode(): + if "words" not in request.args: + return (jsonify({"words": ["required field"]}), 400) + if "model" not in request.args: + return (jsonify({"model": ["required field"]}), 400) + words = request.args["words"].strip().split(" ") + model = request.args["model"].strip() + result = w2v_transformer.get_feature_vectors(words, model) + return (jsonify(result), 200) + + +@w2v_blueprint.route("/index_to_key", methods=["GET", "POST"]) +@w2v_blueprint.route("index_to_key", methods=["GET", "POST"]) +@authenticate +def index_to_key(): + if "model" not in request.args: + return (jsonify({"model": ["required field"]}), 400) + model_name = request.args["model"].strip() + result = w2v_transformer.get_index_to_key(model_name) + return (jsonify(result), 200) diff --git a/server/transformer/word2vec_transformer.py b/server/transformer/word2vec_transformer.py new file mode 100644 index 0000000..12e0696 --- /dev/null +++ b/server/transformer/word2vec_transformer.py @@ -0,0 +1,60 @@ +# +# This software is Copyright ©️ 2020 The University of Southern California. All Rights Reserved. +# Permission to use, copy, modify, and distribute this software and its documentation for educational, research and non-profit purposes, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and subject to the full license file found in the root of this software deliverable. Permission to make commercial use of this software may be obtained by contacting: USC Stevens Center for Innovation University of Southern California 1150 S. Olive Street, Suite 2300, Los Angeles, CA 90115, USA Email: accounting@stevens.usc.edu +# +# The full terms of this copyright and license should always be found in the root directory of this software deliverable as "license.txt" and if these terms are not found with this software, please contact the USC Stevens Center for the full license. +# +from os import path +from typing import Dict, List +from gensim.models import KeyedVectors +from gensim.models.keyedvectors import Word2VecKeyedVectors +from numpy import ndarray + +WORD2VEC_MODELS: Dict[str, Word2VecKeyedVectors] = {} + +WORD2VEC_MODEL_NAME = "word2vec" +WORD2VEC_SLIM_MODEL_NAME = "word2vec_slim" + + +def find_or_load_word2vec(file_path: str) -> Word2VecKeyedVectors: + abs_path = path.abspath(file_path) + if abs_path not in WORD2VEC_MODELS: + WORD2VEC_MODELS[abs_path] = KeyedVectors.load_word2vec_format( + abs_path, binary=True + ) + return WORD2VEC_MODELS[abs_path] + + +def load_word2vec_model(path: str) -> Word2VecKeyedVectors: + return KeyedVectors.load_word2vec_format(path, binary=True) + + +class Word2VecTransformer: + w2v_model: Word2VecKeyedVectors + w2v_slim_model: Word2VecKeyedVectors + + def __init__(self, shared_root: str): + self.w2v_model = find_or_load_word2vec( + path.abspath(path.join(shared_root, "word2vec.bin")) + ) + self.w2v_slim_model = find_or_load_word2vec( + path.abspath(path.join(shared_root, "word2vec_slim.bin")) + ) + + def get_feature_vectors(self, words: List[str], model: str) -> Dict[str, ndarray]: + result: Dict[str, ndarray] = dict() + for word in words: + if model == WORD2VEC_MODEL_NAME: + if word in self.w2v_model: + result[word] = self.w2v_model[word].tolist() + elif model == WORD2VEC_SLIM_MODEL_NAME and word in self.w2v_slim_model: + result[word] = self.w2v_slim_model[word].tolist() + return result + + def get_index_to_key(self, model: str): + if model == WORD2VEC_MODEL_NAME: + return self.w2v_model.index_to_key + elif model == WORD2VEC_SLIM_MODEL_NAME: + return self.w2v_slim_model.index_to_key + else: + return None diff --git a/shared/word2vec_download.py b/shared/word2vec_download.py new file mode 100644 index 0000000..4534ceb --- /dev/null +++ b/shared/word2vec_download.py @@ -0,0 +1,29 @@ +# +# This software is Copyright ©️ 2020 The University of Southern California. All Rights Reserved. +# Permission to use, copy, modify, and distribute this software and its documentation for educational, research and non-profit purposes, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and subject to the full license file found in the root of this software deliverable. Permission to make commercial use of this software may be obtained by contacting: USC Stevens Center for Innovation University of Southern California 1150 S. Olive Street, Suite 2300, Los Angeles, CA 90115, USA Email: accounting@stevens.usc.edu +# +# The full terms of this copyright and license should always be found in the root directory of this software deliverable as "license.txt" and if these terms are not found with this software, please contact the USC Stevens Center for the full license. +# +import os +import shutil +from zipfile import ZipFile + +from utils import download + + +def word2vec_download(to_path="installed", replace_existing=False) -> str: + word2vec_path = os.path.abspath(os.path.join(to_path, "word2vec.bin")) + if os.path.isfile(word2vec_path) and not replace_existing: + print(f"already is a file! {word2vec_path}") + return word2vec_path + word2vec_zip = os.path.join(to_path, "word2vec.zip") + download("http://vectors.nlpl.eu/repository/20/6.zip", word2vec_zip) + with ZipFile(word2vec_zip, "r") as z: + z.extract("model.bin") + shutil.move("model.bin", word2vec_path) + os.remove(word2vec_zip) + return word2vec_path + + +if __name__ == "__main__": + word2vec_download() diff --git a/shared/word2vec_slim_download.py b/shared/word2vec_slim_download.py new file mode 100644 index 0000000..0b91d06 --- /dev/null +++ b/shared/word2vec_slim_download.py @@ -0,0 +1,31 @@ +# +# This software is Copyright ©️ 2020 The University of Southern California. All Rights Reserved. +# Permission to use, copy, modify, and distribute this software and its documentation for educational, research and non-profit purposes, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and subject to the full license file found in the root of this software deliverable. Permission to make commercial use of this software may be obtained by contacting: USC Stevens Center for Innovation University of Southern California 1150 S. Olive Street, Suite 2300, Los Angeles, CA 90115, USA Email: accounting@stevens.usc.edu +# +# The full terms of this copyright and license should always be found in the root directory of this software deliverable as "license.txt" and if these terms are not found with this software, please contact the USC Stevens Center for the full license. +# +import os +import shutil +from zipfile import ZipFile + +from utils import download + + +def word2vec_download(to_path="installed", replace_existing=False) -> str: + word2vec_path = os.path.abspath(os.path.join(to_path, "word2vec_slim.bin")) + if os.path.isfile(word2vec_path) and not replace_existing: + print(f"already is a file! {word2vec_path}") + return word2vec_path + word2vec_zip = os.path.join(to_path, "word2vec_slim.zip") + download( + "https://aws-classifier-model.s3.amazonaws.com/word2vec_slim.zip", word2vec_zip + ) + with ZipFile(word2vec_zip, "r") as z: + z.extract("model.bin") + shutil.move("model.bin", word2vec_path) + os.remove(word2vec_zip) + return word2vec_path + + +if __name__ == "__main__": + word2vec_download() diff --git a/tests/test_api_w2v.py b/tests/test_api_w2v.py new file mode 100644 index 0000000..f5f2266 --- /dev/null +++ b/tests/test_api_w2v.py @@ -0,0 +1,42 @@ +# +# This software is Copyright ©️ 2020 The University of Southern California. All Rights Reserved. +# Permission to use, copy, modify, and distribute this software and its documentation for educational, research and non-profit purposes, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and subject to the full license file found in the root of this software deliverable. Permission to make commercial use of this software may be obtained by contacting: USC Stevens Center for Innovation University of Southern California 1150 S. Olive Street, Suite 2300, Los Angeles, CA 90115, USA Email: accounting@stevens.usc.edu +# +# The full terms of this copyright and license should always be found in the root directory of this software deliverable as "license.txt" and if these terms are not found with this software, please contact the USC Stevens Center for the full license. +# + +# @pytest.fixture(autouse=True) +# def python_path_env(monkeypatch, shared_root): +# monkeypatch.setenv("SHARED_ROOT", shared_root) + + +import pytest + + +def test_returns_400_response_when_query_missing(client): + res = client.post("/v1/w2v/", headers={"Authorization": "bearer dummykey"}) + assert res.status_code == 400 + + +@pytest.mark.parametrize( + "model", + [("word2vec"), ("word2vec_slim")], +) +def test_hello_world(model: str, client): + res = client.post( + f"/v1/w2v?words=hello+world&model={model}", + headers={"Authorization": "bearer dummykey"}, + ) + assert res.status_code == 200 + + +@pytest.mark.parametrize( + "model", + [("word2vec"), ("word2vec_slim")], +) +def test_index_to_key(model: str, client): + res = client.post( + f"/v1/w2v/index_to_key?model={model}", + headers={"Authorization": "bearer dummykey"}, + ) + assert res.status_code == 200 From eda08d02072556685789ebba3d53ac039514c20d Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Sun, 7 May 2023 18:40:13 -0700 Subject: [PATCH 02/34] word2vec for test --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 0f1f800..97c4e23 100644 --- a/Makefile +++ b/Makefile @@ -79,7 +79,7 @@ poetry-ensure-installed: ./tools/poetry_ensure_installed.sh .PHONY: test -test: $(VENV) install poetry-ensure-installed sentence-transformers transformer.pkl +test: $(VENV) install poetry-ensure-installed sentence-transformers transformer.pkl word2vec.bin cd ./shared/ && $(MAKE) installed/sentence-transformer SHARED_ROOT=./shared/installed poetry run python -m pytest -vv From 574aa7a01538908b4d6750d3615201625ff2f3cb Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Mon, 8 May 2023 17:03:19 -0700 Subject: [PATCH 03/34] add dev terraform, revert to NAT terraform for now --- .../aws/terraform/mentorpal/dev/env.hcl | 6 ++ .../mentorpal/dev/us-east-1/region.hcl | 5 ++ .../sbert-service/.terraform.lock.hcl | 86 +++++++++++++++++++ .../sbert-service/secret.hcl.template | 6 ++ .../us-east-1/sbert-service/terragrunt.hcl | 84 ++++++++++++++++++ .../aws/terraform/modules/beanstalk/main.tf | 21 ++--- 6 files changed, 193 insertions(+), 15 deletions(-) create mode 100644 infrastructure/aws/terraform/mentorpal/dev/env.hcl create mode 100644 infrastructure/aws/terraform/mentorpal/dev/us-east-1/region.hcl create mode 100644 infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/.terraform.lock.hcl create mode 100644 infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/secret.hcl.template create mode 100644 infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl diff --git a/infrastructure/aws/terraform/mentorpal/dev/env.hcl b/infrastructure/aws/terraform/mentorpal/dev/env.hcl new file mode 100644 index 0000000..d29a86e --- /dev/null +++ b/infrastructure/aws/terraform/mentorpal/dev/env.hcl @@ -0,0 +1,6 @@ +# Set common variables for the environment. This is automatically pulled in in the root terragrunt.hcl configuration to +# feed forward to the child modules. +locals { + environment = "dev" + namespace = "mentorpal" +} diff --git a/infrastructure/aws/terraform/mentorpal/dev/us-east-1/region.hcl b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/region.hcl new file mode 100644 index 0000000..b35cde4 --- /dev/null +++ b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/region.hcl @@ -0,0 +1,5 @@ +# Set common variables for the region. This is automatically pulled in in the root terragrunt.hcl configuration to +# configure the remote state bucket and pass forward to the child modules as inputs. +locals { + aws_region = "us-east-1" +} diff --git a/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/.terraform.lock.hcl b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/.terraform.lock.hcl new file mode 100644 index 0000000..71385f2 --- /dev/null +++ b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/.terraform.lock.hcl @@ -0,0 +1,86 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "3.76.1" + constraints = ">= 2.0.0, >= 3.1.0, ~> 3.5, >= 3.61.0" + hashes = [ + "h1:5WSHHV9CgBvZ0rDDDxLnNHsjDfm4knb7ihJ2AIGB58A=", + "zh:1cf933104a641ffdb64d71a76806f4df35d19101b47e0eb02c9c36bd64bfdd2d", + "zh:273afaf908775ade6c9d32462938e7739ee8b00a0de2ef3cdddc5bc115bb1d4f", + "zh:2bc24ae989e38f575de034083082c69b41c54b8df69d35728853257c400ce0f4", + "zh:53ba88dbdaf9f818d35001c3d519a787f457283d9341f562dc3d0af51fd9606e", + "zh:5cdac7afea68bbd89d3bdb345d99470226482eff41f375f220fe338d2e5808da", + "zh:63127808890ac4be6cff6554985510b15ac715df698d550a3e722722dc56523c", + "zh:97a1237791f15373743189b078a0e0f2fa4dd7d7474077423376cd186312dc55", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:a4f625e97e5f25073c08080e4a619f959bc0149fc853a6b1b49ab41d58b59665", + "zh:b56cca54019237941f7614e8d2712586a6ab3092e8e9492c70f06563259171e9", + "zh:d4bc33bfd6ac78fb61e6d48a61c179907dfdbdf149b89fb97272c663989a7fcd", + "zh:e0089d73fa56d128c574601305634a774eebacf4a84babba71da10040cecf99a", + "zh:e957531f1d92a6474c9b02bd9200da91b99ba07a0ab761c8e3176400dd41721c", + "zh:eceb85818d57d8270db4df7564cf4ed51b5c650a361aaa017c42227158e1946b", + "zh:f565e5caa1b349ec404c6d03d01c68b02233f5485ed038d0aab810dd4023a880", + ] +} + +provider "registry.terraform.io/hashicorp/external" { + version = "2.2.3" + constraints = ">= 1.0.0" + hashes = [ + "h1:uvOYRWcVIqOZSl8YjjaB18yZFz1AWIt2CnK7O45rckg=", + "zh:184ecd339d764de845db0e5b8a9c87893dcd0c9d822167f73658f89d80ec31c9", + "zh:2661eaca31d17d6bbb18a8f673bbfe3fe1b9b7326e60d0ceb302017003274e3c", + "zh:2c0a180f6d1fc2ba6e03f7dfc5f73b617e45408681f75bca75aa82f3796df0e4", + "zh:4b92ae44c6baef4c4952c47be00541055cb5280dd3bc8031dba5a1b2ee982387", + "zh:5641694d5daf3893d7ea90be03b6fa575211a08814ffe70998d5adb8b59cdc0a", + "zh:5bd55a2be8a1c20d732ac9c604b839e1cadc8c49006315dffa4d709b6874df32", + "zh:6e0ef5d11e1597202424b7d69b9da7b881494c9b13a3d4026fc47012dc651c79", + "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", + "zh:9e19f89fa25004d3b926a8d15ea630b4bde62f1fa4ed5e11a3d27aabddb77353", + "zh:b763efdd69fd097616b4a4c89cf333b4cee9699ac6432d73d2756f8335d1213f", + "zh:e3b561efdee510b2b445f76a52a902c52bee8e13095e7f4bed7c80f10f8d294a", + "zh:fe660bb8781ee043a093b9a20e53069974475dcaa5791a1f45fd03c61a26478a", + ] +} + +provider "registry.terraform.io/hashicorp/local" { + version = "2.3.0" + constraints = ">= 1.0.0, >= 1.2.0" + hashes = [ + "h1:+l9ZTDGmGdwnuYI5ftUjwP8UgoLw4f4V9xoCzal4LW0=", + "zh:1f1920b3f78c31c6b69cdfe1e016a959667c0e2d01934e1a084b94d5a02cd9d2", + "zh:550a3cdae0ddb350942624e7b2e8b31d28bc15c20511553432413b1f38f4b214", + "zh:68d1d9ccbfce2ce56b28a23b22833a5369d4c719d6d75d50e101a8a8dbe33b9b", + "zh:6ae3ad6d865a906920c313ec2f413d080efe32c230aca711fd106b4cb9022ced", + "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", + "zh:a0f413d50f54124057ae3dcd9353a797b84e91dc34bcf85c34a06f8aef1f9b12", + "zh:a2ac6d4088ceddcd73d88505e18b8226a6e008bff967b9e2d04254ef71b4ac6b", + "zh:a851010672e5218bdd4c4ea1822706c9025ef813a03da716d647dd6f8e2cffb0", + "zh:aa797561755041ef2fad99ee9ffc12b5e724e246bb019b21d7409afc2ece3232", + "zh:c6afa960a20d776f54bb1fc260cd13ead17280ebd87f05b9abcaa841ed29d289", + "zh:df0975e86b30bb89717b8c8d6d4690b21db66de06e79e6d6cfda769f3304afe6", + "zh:f0d3cc3da72135efdbe8f4cfbfb0f2f7174827887990a5545e6db1981f0d3a7c", + ] +} + +provider "registry.terraform.io/hashicorp/null" { + version = "2.1.2" + constraints = ">= 2.0.0, ~> 2.0" + hashes = [ + "h1:CFnENdqQu4g3LJNevA32aDxcUz2qGkRGQpFfkI8TCdE=", + "h1:l0/ASa/TB1exgqdi33sOkFakJL2zAQBu+q5LgO5/SxI=", + "zh:0cc7236c1fbf971b8bad1540a7d0c5ac4579248239fd1034c023b0b660a8d1d5", + "zh:16fc2d9b10cf9e5123bf956e7032c338cc93a03be1ca2e9f3d3b7014c0e866c7", + "zh:1e26465ff40ded59cef1a9e745752eef9744471e69094d12f8bc40a060e8cdb9", + "zh:3c7afd28076245f455d4348af6c124b73409722be4a73680d4e4709a4f25ea91", + "zh:4190a92567efaa444527f19b28d65fac1a01aeba907013b5dceacd9ba2a23709", + "zh:677963437316b088fc1aac70fe7d608d2917c46530c4a25ec86a43e9acaf2811", + "zh:69fe15f6b851ff82700bc749c50a9299770515617e677c18cba2cb697daaff36", + "zh:6b505cc60cc1494e1cab61590bca127b06dd894d0b2a7dcacd23862bce1f492b", + "zh:719aa11ad7be974085af595089478eb24d5a021bc7b08364fa6745d9eb473dac", + "zh:7375b02189e14efbfaab994cd05d81e3ff8e46041fae778598b3903114093a3e", + "zh:c406573b2084a08f8faa0451923fbeb1ca6c5a5598bf039589ec2db13aacc622", + "zh:fb11299a3b20711595713d126abbbe78c554eb5995b02db536e9253686798fb6", + ] +} diff --git a/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/secret.hcl.template b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/secret.hcl.template new file mode 100644 index 0000000..6fd0d14 --- /dev/null +++ b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/secret.hcl.template @@ -0,0 +1,6 @@ +locals { + cloudwatch_slack_webhook = "https://hooks.slack.com/services/" + sentry_dsn_sbert = "https://@oingest.sentry.io/" + api_secret_key = "" + jwt_secret_key = "" +} diff --git a/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl new file mode 100644 index 0000000..95643d6 --- /dev/null +++ b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl @@ -0,0 +1,84 @@ +locals { + # Automatically load environment-level variables + environment_vars = read_terragrunt_config(find_in_parent_folders("env.hcl")) + region_vars = read_terragrunt_config(find_in_parent_folders("region.hcl")) + account_vars = read_terragrunt_config(find_in_parent_folders("account.hcl")) + secret_vars = read_terragrunt_config("./secret.hcl") + # Extract out common variables for reuse + env = local.environment_vars.locals.environment + aws_account_id = local.account_vars.locals.aws_account_id + aws_region = local.region_vars.locals.aws_region + cloudwatch_slack_webhook = local.secret_vars.locals.cloudwatch_slack_webhook + sentry_dsn_sbert = local.secret_vars.locals.sentry_dsn_sbert + api_secret_key = local.secret_vars.locals.api_secret_key + jwt_secret_key = local.secret_vars.locals.jwt_secret_key + secret_header_name = local.secret_vars.locals.secret_header_name + secret_header_value = local.secret_vars.locals.secret_header_value + allowed_origin = local.secret_vars.locals.allowed_origin +} + +terraform { + source = "${path_relative_from_include()}//modules/beanstalk" +} + +# Include all settings from the root terragrunt.hcl file +# include "root" { # VS code doesnt highlight this correctly +include { + path = find_in_parent_folders() +} + +inputs = { + aws_region = local.aws_region + aws_availability_zones = ["us-east-1a", "us-east-1b"] + vpc_cidr_block = "10.10.0.0/16" + aws_acm_certificate_domain = "mentorpal.org" + aws_route53_zone_name = "mentorpal.org" + site_domain_name = "sbert-dev.mentorpal.org" + eb_env_namespace = "mentorpal" + eb_env_stage = local.env + eb_env_name = "sbert" + eb_env_instance_type = "c6i.large" # compute-optimized, 60$/month, similar to t3.large + enable_alarms = true + slack_channel = "ls-alerts-qa" + slack_username = "uscictlsalerts" + cloudwatch_slack_webhook = local.cloudwatch_slack_webhook + secret_header_name = local.secret_header_name + secret_header_value = local.secret_header_value + allowed_origin = local.allowed_origin + + # scaling: + eb_env_autoscale_min = 1 # ~23req/sec with c6i.large + eb_env_autoscale_max = 1 # ~50req/sec with c6i.large + # seems like there's no way to set desired capacity and it seems to be max by default? + eb_env_autoscale_measure_name = "CPUUtilization" + eb_env_autoscale_statistic = "Average" + eb_env_autoscale_unit = "Percent" + eb_env_autoscale_lower_bound = "20" + eb_env_autoscale_lower_increment = "1" + eb_env_autoscale_upper_bound = "80" + eb_env_autoscale_upper_increment = "1" + + eb_env_env_vars = { + STAGE = local.env, + IS_SENTRY_ENABLED = "true", + SENTRY_DSN_MENTOR_SBERT_SERVICE = local.sentry_dsn_sbert, + LOG_LEVEL_SBERT_SERVICE = "DEBUG", + API_SECRET_KEY = local.api_secret_key, + JWT_SECRET_KEY = local.jwt_secret_key, + + } + + # logging: + eb_env_enable_stream_logs = true + eb_env_logs_delete_on_terminate = false + eb_env_logs_retention_in_days = 30 + eb_env_health_streaming_enabled = true + eb_env_health_streaming_delete_on_terminate = false + eb_env_health_streaming_retention_in_days = 7 + eb_env_tags = { + Terraform = "true" + Environment = local.env + Project = "mentorpal" + Service = "sbert" + } +} diff --git a/infrastructure/aws/terraform/modules/beanstalk/main.tf b/infrastructure/aws/terraform/modules/beanstalk/main.tf index 0d3853f..06645c6 100644 --- a/infrastructure/aws/terraform/modules/beanstalk/main.tf +++ b/infrastructure/aws/terraform/modules/beanstalk/main.tf @@ -12,7 +12,7 @@ locals { } module "vpc" { - source = "git::https://github.com/cloudposse/terraform-aws-vpc.git?ref=tags/1.2.0" + source = "git::https://github.com/cloudposse/terraform-aws-vpc.git?ref=tags/0.25.0" namespace = var.eb_env_namespace stage = var.eb_env_stage name = var.eb_env_name @@ -20,12 +20,10 @@ module "vpc" { tags = var.eb_env_tags delimiter = var.eb_env_delimiter cidr_block = var.vpc_cidr_block - internet_gateway_enabled = true - ipv6_egress_only_internet_gateway_enabled = true } module "subnets" { - source = "git::https://github.com/cloudposse/terraform-aws-dynamic-subnets.git?ref=tags/2.1.0" + source = "git::https://github.com/cloudposse/terraform-aws-dynamic-subnets.git?ref=tags/0.39.3" availability_zones = var.aws_availability_zones namespace = var.eb_env_namespace stage = var.eb_env_stage @@ -34,17 +32,10 @@ module "subnets" { tags = var.eb_env_tags delimiter = var.eb_env_delimiter vpc_id = module.vpc.vpc_id - igw_id = [module.vpc.igw_id] - nat_gateway_enabled = false + igw_id = module.vpc.igw_id + cidr_block = module.vpc.vpc_cidr_block + nat_gateway_enabled = true nat_instance_enabled = false - private_route_table_enabled = true - private_dns64_nat64_enabled = false - private_assign_ipv6_address_on_creation = true - public_assign_ipv6_address_on_creation = true - ipv4_cidr_block = [module.vpc.vpc_cidr_block] - ipv6_enabled = true - ipv6_cidr_block = [module.vpc.vpc_ipv6_cidr_block] - ipv6_egress_only_igw_id = [module.vpc.ipv6_egress_only_igw_id] } module "elastic_beanstalk_application" { @@ -400,4 +391,4 @@ resource "aws_cloudwatch_metric_alarm" "response_time_p90" { dimensions = { LoadBalancer = regex(".+loadbalancer/(.*)$", module.elastic_beanstalk_environment.load_balancers[0])[0] } -} +} \ No newline at end of file From 0985d16e6d30760265282ad7ad5d9f16417d510a Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Tue, 9 May 2023 12:20:32 -0700 Subject: [PATCH 04/34] package updates --- .github/workflows/cicd.yml | 2 +- .python-version | 2 +- poetry.lock | 93 ++++++++++++++++---------------------- pyproject.toml | 2 +- 4 files changed, 41 insertions(+), 58 deletions(-) diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index 729a959..24b24da 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -13,7 +13,7 @@ jobs: - name: python env setup uses: actions/setup-python@v2 with: - python-version: 3.10.9 + python-version: 3.10.7 - uses: actions/setup-node@v1 with: node-version: "16.15" diff --git a/.python-version b/.python-version index 0f90fd3..23d7d8c 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.10.9 \ No newline at end of file +3.10.7 \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index 0376e5f..7a7cdc9 100644 --- a/poetry.lock +++ b/poetry.lock @@ -203,15 +203,15 @@ test-win = ["pytest", "pytest-cov", "mock", "cython", "testfixtures", "pot", "nm [[package]] name = "gunicorn" -version = "20.1.0" +version = "20.0.4" description = "WSGI HTTP Server for UNIX" category = "main" optional = false -python-versions = ">=3.5" +python-versions = ">=3.4" [package.extras] -eventlet = ["eventlet (>=0.24.1)"] -gevent = ["gevent (>=1.4.0)"] +eventlet = ["eventlet (>=0.9.7)"] +gevent = ["gevent (>=0.13)"] setproctitle = ["setproctitle"] tornado = ["tornado (>=0.2)"] @@ -704,7 +704,7 @@ python-versions = "*" [[package]] name = "sentry-sdk" -version = "1.14.0" +version = "1.22.2" description = "Python client for Sentry (https://sentry.io)" category = "main" optional = false @@ -714,10 +714,14 @@ python-versions = "*" blinker = {version = ">=1.1", optional = true, markers = "extra == \"flask\""} certifi = "*" flask = {version = ">=0.11", optional = true, markers = "extra == \"flask\""} -urllib3 = {version = ">=1.26.11", markers = "python_version >= \"3.6\""} +urllib3 = [ + {version = "<2.0.0", markers = "python_version < \"3.6\""}, + {version = ">=1.26.11", markers = "python_version >= \"3.6\""}, +] [package.extras] aiohttp = ["aiohttp (>=3.5)"] +arq = ["arq (>=0.23)"] beam = ["apache-beam (>=2.12)"] bottle = ["bottle (>=0.12.13)"] celery = ["celery (>=3)"] @@ -726,7 +730,9 @@ django = ["django (>=1.8)"] falcon = ["falcon (>=1.4)"] fastapi = ["fastapi (>=0.79.0)"] flask = ["flask (>=0.11)", "blinker (>=1.1)"] +grpcio = ["grpcio (>=1.21.1)"] httpx = ["httpx (>=0.16.0)"] +huey = ["huey (>=2)"] opentelemetry = ["opentelemetry-distro (>=0.35b0)"] pure_eval = ["pure-eval", "executing", "asttokens"] pymongo = ["pymongo (>=3.1)"] @@ -862,7 +868,7 @@ telegram = ["requests"] [[package]] name = "transformers" -version = "4.26.0" +version = "4.28.1" description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" category = "main" optional = false @@ -881,15 +887,15 @@ tqdm = ">=4.27" [package.extras] accelerate = ["accelerate (>=0.10.0)"] -all = ["tensorflow (>=2.4,<2.12)", "onnxconverter-common", "tf2onnx", "tensorflow-text", "keras-nlp (>=0.3.1)", "torch (>=1.7,!=1.12.0)", "jax (>=0.2.8,!=0.3.2,<=0.3.6)", "jaxlib (>=0.1.65,<=0.3.6)", "flax (>=0.4.1)", "optax (>=0.0.8)", "sentencepiece (>=0.1.91,!=0.1.92)", "protobuf (<=3.20.2)", "tokenizers (>=0.11.1,!=0.11.3,<0.14)", "torchaudio", "librosa", "pyctcdecode (>=0.4.0)", "phonemizer", "kenlm", "pillow", "optuna", "ray", "sigopt", "timm", "codecarbon (==1.2.0)", "accelerate (>=0.10.0)", "decord (==0.6.0)"] +all = ["tensorflow (>=2.4,<2.13)", "onnxconverter-common", "tf2onnx", "tensorflow-text (<2.13)", "keras-nlp (>=0.3.1)", "torch (>=1.9,!=1.12.0)", "jax (>=0.2.8,!=0.3.2,<=0.3.6)", "jaxlib (>=0.1.65,<=0.3.6)", "flax (>=0.4.1)", "optax (>=0.0.8)", "sentencepiece (>=0.1.91,!=0.1.92)", "protobuf (<=3.20.2)", "tokenizers (>=0.11.1,!=0.11.3,<0.14)", "torchaudio", "librosa", "pyctcdecode (>=0.4.0)", "phonemizer", "kenlm", "pillow", "optuna", "ray", "sigopt", "timm", "torchvision", "codecarbon (==1.2.0)", "accelerate (>=0.10.0)", "decord (==0.6.0)", "av (==9.2.0)"] audio = ["librosa", "pyctcdecode (>=0.4.0)", "phonemizer", "kenlm"] codecarbon = ["codecarbon (==1.2.0)"] -deepspeed = ["deepspeed (>=0.6.5)", "accelerate (>=0.10.0)"] -deepspeed-testing = ["deepspeed (>=0.6.5)", "accelerate (>=0.10.0)", "pytest", "pytest-xdist", "timeout-decorator", "parameterized", "psutil", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "pytest-timeout", "black (==22.3)", "sacrebleu (>=1.4.12,<2.0.0)", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "nltk", "GitPython (<3.1.19)", "hf-doc-builder (>=0.3.0)", "protobuf (<=3.20.2)", "sacremoses", "rjieba", "safetensors (>=0.2.1)", "beautifulsoup4", "faiss-cpu", "cookiecutter (==1.7.3)", "optuna", "sentencepiece (>=0.1.91,!=0.1.92)"] -dev = ["tensorflow (>=2.4,<2.12)", "onnxconverter-common", "tf2onnx", "tensorflow-text", "keras-nlp (>=0.3.1)", "torch (>=1.7,!=1.12.0)", "jax (>=0.2.8,!=0.3.2,<=0.3.6)", "jaxlib (>=0.1.65,<=0.3.6)", "flax (>=0.4.1)", "optax (>=0.0.8)", "sentencepiece (>=0.1.91,!=0.1.92)", "protobuf (<=3.20.2)", "tokenizers (>=0.11.1,!=0.11.3,<0.14)", "torchaudio", "librosa", "pyctcdecode (>=0.4.0)", "phonemizer", "kenlm", "pillow", "optuna", "ray", "sigopt", "timm", "codecarbon (==1.2.0)", "accelerate (>=0.10.0)", "decord (==0.6.0)", "pytest", "pytest-xdist", "timeout-decorator", "parameterized", "psutil", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "pytest-timeout", "black (==22.3)", "sacrebleu (>=1.4.12,<2.0.0)", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "nltk", "GitPython (<3.1.19)", "hf-doc-builder (>=0.3.0)", "sacremoses", "rjieba", "safetensors (>=0.2.1)", "beautifulsoup4", "faiss-cpu", "cookiecutter (==1.7.3)", "isort (>=5.5.4)", "flake8 (>=3.8.3)", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "unidic-lite (>=1.0.7)", "unidic (>=1.0.2)", "sudachipy (>=0.6.6)", "sudachidict-core (>=20220729)", "rhoknp (>=1.1.0)", "hf-doc-builder", "scikit-learn"] -dev-tensorflow = ["pytest", "pytest-xdist", "timeout-decorator", "parameterized", "psutil", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "pytest-timeout", "black (==22.3)", "sacrebleu (>=1.4.12,<2.0.0)", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "nltk", "GitPython (<3.1.19)", "hf-doc-builder (>=0.3.0)", "protobuf (<=3.20.2)", "sacremoses", "rjieba", "safetensors (>=0.2.1)", "beautifulsoup4", "faiss-cpu", "cookiecutter (==1.7.3)", "tensorflow (>=2.4,<2.12)", "onnxconverter-common", "tf2onnx", "tensorflow-text", "keras-nlp (>=0.3.1)", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.11.1,!=0.11.3,<0.14)", "pillow", "isort (>=5.5.4)", "flake8 (>=3.8.3)", "hf-doc-builder", "scikit-learn", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "librosa", "pyctcdecode (>=0.4.0)", "phonemizer", "kenlm"] -dev-torch = ["pytest", "pytest-xdist", "timeout-decorator", "parameterized", "psutil", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "pytest-timeout", "black (==22.3)", "sacrebleu (>=1.4.12,<2.0.0)", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "nltk", "GitPython (<3.1.19)", "hf-doc-builder (>=0.3.0)", "protobuf (<=3.20.2)", "sacremoses", "rjieba", "safetensors (>=0.2.1)", "beautifulsoup4", "faiss-cpu", "cookiecutter (==1.7.3)", "torch (>=1.7,!=1.12.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.11.1,!=0.11.3,<0.14)", "torchaudio", "librosa", "pyctcdecode (>=0.4.0)", "phonemizer", "kenlm", "pillow", "optuna", "ray", "sigopt", "timm", "codecarbon (==1.2.0)", "isort (>=5.5.4)", "flake8 (>=3.8.3)", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "unidic-lite (>=1.0.7)", "unidic (>=1.0.2)", "sudachipy (>=0.6.6)", "sudachidict-core (>=20220729)", "rhoknp (>=1.1.0)", "hf-doc-builder", "scikit-learn", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)"] -docs = ["tensorflow (>=2.4,<2.12)", "onnxconverter-common", "tf2onnx", "tensorflow-text", "keras-nlp (>=0.3.1)", "torch (>=1.7,!=1.12.0)", "jax (>=0.2.8,!=0.3.2,<=0.3.6)", "jaxlib (>=0.1.65,<=0.3.6)", "flax (>=0.4.1)", "optax (>=0.0.8)", "sentencepiece (>=0.1.91,!=0.1.92)", "protobuf (<=3.20.2)", "tokenizers (>=0.11.1,!=0.11.3,<0.14)", "torchaudio", "librosa", "pyctcdecode (>=0.4.0)", "phonemizer", "kenlm", "pillow", "optuna", "ray", "sigopt", "timm", "codecarbon (==1.2.0)", "accelerate (>=0.10.0)", "decord (==0.6.0)", "hf-doc-builder"] +deepspeed = ["deepspeed (>=0.8.3)", "accelerate (>=0.10.0)"] +deepspeed-testing = ["deepspeed (>=0.8.3)", "accelerate (>=0.10.0)", "pytest", "pytest-xdist", "timeout-decorator", "parameterized", "psutil", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "pytest-timeout", "black (>=23.1,<24.0)", "sacrebleu (>=1.4.12,<2.0.0)", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "nltk", "GitPython (<3.1.19)", "hf-doc-builder (>=0.3.0)", "protobuf (<=3.20.2)", "sacremoses", "rjieba", "safetensors (>=0.2.1)", "beautifulsoup4", "faiss-cpu", "cookiecutter (==1.7.3)", "optuna", "sentencepiece (>=0.1.91,!=0.1.92)"] +dev = ["tensorflow (>=2.4,<2.13)", "onnxconverter-common", "tf2onnx", "tensorflow-text (<2.13)", "keras-nlp (>=0.3.1)", "torch (>=1.9,!=1.12.0)", "jax (>=0.2.8,!=0.3.2,<=0.3.6)", "jaxlib (>=0.1.65,<=0.3.6)", "flax (>=0.4.1)", "optax (>=0.0.8)", "sentencepiece (>=0.1.91,!=0.1.92)", "protobuf (<=3.20.2)", "tokenizers (>=0.11.1,!=0.11.3,<0.14)", "torchaudio", "librosa", "pyctcdecode (>=0.4.0)", "phonemizer", "kenlm", "pillow", "optuna", "ray", "sigopt", "timm", "torchvision", "codecarbon (==1.2.0)", "accelerate (>=0.10.0)", "decord (==0.6.0)", "av (==9.2.0)", "pytest", "pytest-xdist", "timeout-decorator", "parameterized", "psutil", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "pytest-timeout", "black (>=23.1,<24.0)", "sacrebleu (>=1.4.12,<2.0.0)", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "nltk", "GitPython (<3.1.19)", "hf-doc-builder (>=0.3.0)", "sacremoses", "rjieba", "safetensors (>=0.2.1)", "beautifulsoup4", "faiss-cpu", "cookiecutter (==1.7.3)", "isort (>=5.5.4)", "ruff (>=0.0.241,<=0.0.259)", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "unidic-lite (>=1.0.7)", "unidic (>=1.0.2)", "sudachipy (>=0.6.6)", "sudachidict-core (>=20220729)", "rhoknp (>=1.1.0)", "hf-doc-builder", "scikit-learn"] +dev-tensorflow = ["pytest", "pytest-xdist", "timeout-decorator", "parameterized", "psutil", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "pytest-timeout", "black (>=23.1,<24.0)", "sacrebleu (>=1.4.12,<2.0.0)", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "nltk", "GitPython (<3.1.19)", "hf-doc-builder (>=0.3.0)", "protobuf (<=3.20.2)", "sacremoses", "rjieba", "safetensors (>=0.2.1)", "beautifulsoup4", "faiss-cpu", "cookiecutter (==1.7.3)", "tensorflow (>=2.4,<2.13)", "onnxconverter-common", "tf2onnx", "tensorflow-text (<2.13)", "keras-nlp (>=0.3.1)", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.11.1,!=0.11.3,<0.14)", "pillow", "isort (>=5.5.4)", "ruff (>=0.0.241,<=0.0.259)", "hf-doc-builder", "scikit-learn", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "librosa", "pyctcdecode (>=0.4.0)", "phonemizer", "kenlm"] +dev-torch = ["pytest", "pytest-xdist", "timeout-decorator", "parameterized", "psutil", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "pytest-timeout", "black (>=23.1,<24.0)", "sacrebleu (>=1.4.12,<2.0.0)", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "nltk", "GitPython (<3.1.19)", "hf-doc-builder (>=0.3.0)", "protobuf (<=3.20.2)", "sacremoses", "rjieba", "safetensors (>=0.2.1)", "beautifulsoup4", "faiss-cpu", "cookiecutter (==1.7.3)", "torch (>=1.9,!=1.12.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.11.1,!=0.11.3,<0.14)", "torchaudio", "librosa", "pyctcdecode (>=0.4.0)", "phonemizer", "kenlm", "pillow", "optuna", "ray", "sigopt", "timm", "torchvision", "codecarbon (==1.2.0)", "isort (>=5.5.4)", "ruff (>=0.0.241,<=0.0.259)", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "unidic-lite (>=1.0.7)", "unidic (>=1.0.2)", "sudachipy (>=0.6.6)", "sudachidict-core (>=20220729)", "rhoknp (>=1.1.0)", "hf-doc-builder", "scikit-learn", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)"] +docs = ["tensorflow (>=2.4,<2.13)", "onnxconverter-common", "tf2onnx", "tensorflow-text (<2.13)", "keras-nlp (>=0.3.1)", "torch (>=1.9,!=1.12.0)", "jax (>=0.2.8,!=0.3.2,<=0.3.6)", "jaxlib (>=0.1.65,<=0.3.6)", "flax (>=0.4.1)", "optax (>=0.0.8)", "sentencepiece (>=0.1.91,!=0.1.92)", "protobuf (<=3.20.2)", "tokenizers (>=0.11.1,!=0.11.3,<0.14)", "torchaudio", "librosa", "pyctcdecode (>=0.4.0)", "phonemizer", "kenlm", "pillow", "optuna", "ray", "sigopt", "timm", "torchvision", "codecarbon (==1.2.0)", "accelerate (>=0.10.0)", "decord (==0.6.0)", "av (==9.2.0)", "hf-doc-builder"] docs_specific = ["hf-doc-builder"] fairscale = ["fairscale (>0.3)"] flax = ["jax (>=0.2.8,!=0.3.2,<=0.3.6)", "jaxlib (>=0.1.65,<=0.3.6)", "flax (>=0.4.1)", "optax (>=0.0.8)"] @@ -898,11 +904,11 @@ ftfy = ["ftfy"] integrations = ["optuna", "ray", "sigopt"] ja = ["fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "unidic-lite (>=1.0.7)", "unidic (>=1.0.2)", "sudachipy (>=0.6.6)", "sudachidict-core (>=20220729)", "rhoknp (>=1.1.0)"] modelcreation = ["cookiecutter (==1.7.3)"] -natten = ["natten (>=0.14.4)"] +natten = ["natten (>=0.14.6)"] onnx = ["onnxconverter-common", "tf2onnx", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)"] onnxruntime = ["onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)"] optuna = ["optuna"] -quality = ["black (==22.3)", "datasets (!=2.5.0)", "isort (>=5.5.4)", "flake8 (>=3.8.3)", "GitPython (<3.1.19)", "hf-doc-builder (>=0.3.0)"] +quality = ["black (>=23.1,<24.0)", "datasets (!=2.5.0)", "isort (>=5.5.4)", "ruff (>=0.0.241,<=0.0.259)", "GitPython (<3.1.19)", "hf-doc-builder (>=0.3.0)"] ray = ["ray"] retrieval = ["faiss-cpu", "datasets (!=2.5.0)"] sagemaker = ["sagemaker (>=2.31.0)"] @@ -911,16 +917,17 @@ serving = ["pydantic", "uvicorn", "fastapi", "starlette"] sigopt = ["sigopt"] sklearn = ["scikit-learn"] speech = ["torchaudio", "librosa", "pyctcdecode (>=0.4.0)", "phonemizer", "kenlm"] -testing = ["pytest", "pytest-xdist", "timeout-decorator", "parameterized", "psutil", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "pytest-timeout", "black (==22.3)", "sacrebleu (>=1.4.12,<2.0.0)", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "nltk", "GitPython (<3.1.19)", "hf-doc-builder (>=0.3.0)", "protobuf (<=3.20.2)", "sacremoses", "rjieba", "safetensors (>=0.2.1)", "beautifulsoup4", "faiss-cpu", "cookiecutter (==1.7.3)"] -tf = ["tensorflow (>=2.4,<2.12)", "onnxconverter-common", "tf2onnx", "tensorflow-text", "keras-nlp (>=0.3.1)"] -tf-cpu = ["tensorflow-cpu (>=2.4,<2.12)", "onnxconverter-common", "tf2onnx", "tensorflow-text", "keras-nlp (>=0.3.1)"] +testing = ["pytest", "pytest-xdist", "timeout-decorator", "parameterized", "psutil", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "pytest-timeout", "black (>=23.1,<24.0)", "sacrebleu (>=1.4.12,<2.0.0)", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "nltk", "GitPython (<3.1.19)", "hf-doc-builder (>=0.3.0)", "protobuf (<=3.20.2)", "sacremoses", "rjieba", "safetensors (>=0.2.1)", "beautifulsoup4", "faiss-cpu", "cookiecutter (==1.7.3)"] +tf = ["tensorflow (>=2.4,<2.13)", "onnxconverter-common", "tf2onnx", "tensorflow-text (<2.13)", "keras-nlp (>=0.3.1)"] +tf-cpu = ["tensorflow-cpu (>=2.4,<2.13)", "onnxconverter-common", "tf2onnx", "tensorflow-text (<2.13)", "keras-nlp (>=0.3.1)"] tf-speech = ["librosa", "pyctcdecode (>=0.4.0)", "phonemizer", "kenlm"] timm = ["timm"] tokenizers = ["tokenizers (>=0.11.1,!=0.11.3,<0.14)"] -torch = ["torch (>=1.7,!=1.12.0)"] +torch = ["torch (>=1.9,!=1.12.0)"] torch-speech = ["torchaudio", "librosa", "pyctcdecode (>=0.4.0)", "phonemizer", "kenlm"] -torchhub = ["filelock", "huggingface-hub (>=0.11.0,<1.0)", "importlib-metadata", "numpy (>=1.17)", "packaging (>=20.0)", "protobuf (<=3.20.2)", "regex (!=2019.12.17)", "requests", "sentencepiece (>=0.1.91,!=0.1.92)", "torch (>=1.7,!=1.12.0)", "tokenizers (>=0.11.1,!=0.11.3,<0.14)", "tqdm (>=4.27)"] -video = ["decord (==0.6.0)"] +torch-vision = ["torchvision", "pillow"] +torchhub = ["filelock", "huggingface-hub (>=0.11.0,<1.0)", "importlib-metadata", "numpy (>=1.17)", "packaging (>=20.0)", "protobuf (<=3.20.2)", "regex (!=2019.12.17)", "requests", "sentencepiece (>=0.1.91,!=0.1.92)", "torch (>=1.9,!=1.12.0)", "tokenizers (>=0.11.1,!=0.11.3,<0.14)", "tqdm (>=4.27)"] +video = ["decord (==0.6.0)", "av (==9.2.0)"] vision = ["pillow"] [[package]] @@ -961,7 +968,7 @@ watchdog = ["watchdog"] [metadata] lock-version = "1.1" python-versions = "^3.10" -content-hash = "057fd814d26665edf93910b3ab108e0fa218eefa5a64258536349702bd593d4f" +content-hash = "3d4264e67e81b4a11f82b1d397eb0a2a17e25d55c6f7bc242164e7a1d4bbfbda" [metadata.files] attrs = [] @@ -976,17 +983,11 @@ exceptiongroup = [] filelock = [] flake8 = [] flask = [] -flask-cors = [ - {file = "Flask-Cors-3.0.10.tar.gz", hash = "sha256:b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de"}, - {file = "Flask_Cors-3.0.10-py2.py3-none-any.whl", hash = "sha256:74efc975af1194fc7891ff5cd85b0f7478be4f7f59fe158102e91abb72bb4438"}, -] +flask-cors = [] fst-pso = [] fuzzytm = [] gensim = [] -gunicorn = [ - {file = "gunicorn-20.1.0-py3-none-any.whl", hash = "sha256:9dcc4547dbb1cb284accfb15ab5667a0e5d1881cc443e0677b4882a4067a807e"}, - {file = "gunicorn-20.1.0.tar.gz", hash = "sha256:e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8"}, -] +gunicorn = [] huggingface-hub = [] idna = [] iniconfig = [] @@ -998,10 +999,7 @@ markupsafe = [] mccabe = [] miniful = [] mypy = [] -mypy-extensions = [ - {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, - {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, -] +mypy-extensions = [] nltk = [] numpy = [] nvidia-cublas-cu11 = [] @@ -1014,23 +1012,14 @@ pathspec = [] pep8-naming = [] pillow = [] platformdirs = [] -pluggy = [ - {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, - {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, -] +pluggy = [] pycodestyle = [] pyflakes = [] pyfume = [] pyjwt = [] pytest = [] -pytest-flask = [ - {file = "pytest-flask-1.2.0.tar.gz", hash = "sha256:46fde652f77777bf02dc91205aec4ce20cdf2acbbbd66a918ab91f5c14693d3d"}, - {file = "pytest_flask-1.2.0-py3-none-any.whl", hash = "sha256:fe25b39ad0db09c3d1fe728edecf97ced85e774c775db259a6d25f0270a4e7c9"}, -] -python-dateutil = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, -] +pytest-flask = [] +python-dateutil = [] pytz = [] pyyaml = [] regex = [] @@ -1041,15 +1030,9 @@ sentence-transformers = [] sentencepiece = [] sentry-sdk = [] simpful = [] -six = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, -] +six = [] smart-open = [] -threadpoolctl = [ - {file = "threadpoolctl-3.1.0-py3-none-any.whl", hash = "sha256:8b99adda265feb6773280df41eece7b2e6561b772d21ffd52e372f999024907b"}, - {file = "threadpoolctl-3.1.0.tar.gz", hash = "sha256:a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380"}, -] +threadpoolctl = [] tokenizers = [] tomli = [] torch = [] diff --git a/pyproject.toml b/pyproject.toml index d26e496..4aa3e20 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ authors = ["Milan Simonovic "] [tool.poetry.dependencies] python = "^3.10" -gunicorn = "^20.1.0" +gunicorn = "20.0.4" Flask = "^2.0.3" Flask-Cors = "^3.0.10" licenseheaders = {git = "https://github.com/kycarr/licenseheaders.git"} From f7946d5943e6c78754c9ffd2fb50c9d57ad9e378 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Tue, 9 May 2023 15:01:02 -0700 Subject: [PATCH 05/34] gunicorn: less workers, add threads, increase worker timeout --- entrypoint.sh | 2 +- server/gunicorn_conf.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 07ce094..c200c1b 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -7,6 +7,6 @@ ## export FLASK_APP=/app/server -cd /app && gunicorn --config python:server.gunicorn_conf server.manage:app +cd /app && gunicorn --config python:server.gunicorn_conf server.manage:app --timeout 120 exit 0 diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index cd5c95a..122104e 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -11,7 +11,8 @@ import multiprocessing # https://docs.gunicorn.org/en/stable/settings.html#workers -workers = multiprocessing.cpu_count() * 2 + 1 +workers = int(multiprocessing.cpu_count() / 2) + 1 +threads = int(multiprocessing.cpu_count() / 2) + 1 # limit max clients at the time to prevent overload: worker_connections = 150 From b067c77fcaf410446aeea49e43d99f834d20d33c Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Tue, 9 May 2023 16:26:20 -0700 Subject: [PATCH 06/34] gunicorn worker timeout increase --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index c200c1b..a7ff8b9 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -7,6 +7,6 @@ ## export FLASK_APP=/app/server -cd /app && gunicorn --config python:server.gunicorn_conf server.manage:app --timeout 120 +cd /app && gunicorn --config python:server.gunicorn_conf server.manage:app --timeout 300 exit 0 From 88b29be9d63852f1235e41a8b19f2ee819ef951a Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Tue, 9 May 2023 18:04:20 -0700 Subject: [PATCH 07/34] test: 1 worker --- server/gunicorn_conf.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index 122104e..cae475b 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -11,8 +11,7 @@ import multiprocessing # https://docs.gunicorn.org/en/stable/settings.html#workers -workers = int(multiprocessing.cpu_count() / 2) + 1 -threads = int(multiprocessing.cpu_count() / 2) + 1 +workers = 1 # limit max clients at the time to prevent overload: worker_connections = 150 From 7186d05f68d85545d960b256e9332725e1d3a1bf Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Tue, 9 May 2023 18:13:25 -0700 Subject: [PATCH 08/34] remove unusued import --- server/gunicorn_conf.py | 1 - 1 file changed, 1 deletion(-) diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index cae475b..4367049 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -8,7 +8,6 @@ # Gunicorn configuration file # https://docs.gunicorn.org/en/stable/configure.html#configuration-file # https://docs.gunicorn.org/en/stable/settings.html -import multiprocessing # https://docs.gunicorn.org/en/stable/settings.html#workers workers = 1 From 48d88f31c27158a8e001808879fadb5beaf4aac7 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Wed, 10 May 2023 11:29:16 -0700 Subject: [PATCH 09/34] dev instance size increase, workers increase, longer timeout --- .../mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl | 6 +++--- infrastructure/aws/terraform/modules/beanstalk/variables.tf | 2 +- server/gunicorn_conf.py | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl index 95643d6..42e4ce6 100644 --- a/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl +++ b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl @@ -37,7 +37,7 @@ inputs = { eb_env_namespace = "mentorpal" eb_env_stage = local.env eb_env_name = "sbert" - eb_env_instance_type = "c6i.large" # compute-optimized, 60$/month, similar to t3.large + eb_env_instance_type = "c6i.xlarge" # compute-optimized, 120$/month enable_alarms = true slack_channel = "ls-alerts-qa" slack_username = "uscictlsalerts" @@ -47,8 +47,8 @@ inputs = { allowed_origin = local.allowed_origin # scaling: - eb_env_autoscale_min = 1 # ~23req/sec with c6i.large - eb_env_autoscale_max = 1 # ~50req/sec with c6i.large + eb_env_autoscale_min = 1 # + eb_env_autoscale_max = 1 # # seems like there's no way to set desired capacity and it seems to be max by default? eb_env_autoscale_measure_name = "CPUUtilization" eb_env_autoscale_statistic = "Average" diff --git a/infrastructure/aws/terraform/modules/beanstalk/variables.tf b/infrastructure/aws/terraform/modules/beanstalk/variables.tf index 28eea39..e3a1320 100644 --- a/infrastructure/aws/terraform/modules/beanstalk/variables.tf +++ b/infrastructure/aws/terraform/modules/beanstalk/variables.tf @@ -245,7 +245,7 @@ variable "eb_env_rolling_update_type" { variable "eb_env_root_volume_size" { type = number description = "The size of the EBS root volume" - default = 8 + default = 16 } variable "eb_env_root_volume_type" { diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index 4367049..1b301a6 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -4,13 +4,14 @@ # # The full terms of this copyright and license should always be found in the root directory of this software deliverable as "license.txt" and if these terms are not found with this software, please contact the USC Stevens Center for the full license. # +import multiprocessing # Gunicorn configuration file # https://docs.gunicorn.org/en/stable/configure.html#configuration-file # https://docs.gunicorn.org/en/stable/settings.html # https://docs.gunicorn.org/en/stable/settings.html#workers -workers = 1 +workers = int(multiprocessing.cpu_count() / 2) + 1 # limit max clients at the time to prevent overload: worker_connections = 150 From 96a392c628a9bedd17d817a2fc8052b7046b211f Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Wed, 10 May 2023 13:23:31 -0700 Subject: [PATCH 10/34] less workers --- server/gunicorn_conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index 1b301a6..64c9198 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -11,7 +11,7 @@ # https://docs.gunicorn.org/en/stable/settings.html # https://docs.gunicorn.org/en/stable/settings.html#workers -workers = int(multiprocessing.cpu_count() / 2) + 1 +workers = int(multiprocessing.cpu_count() / 2) # limit max clients at the time to prevent overload: worker_connections = 150 From da875430870bd38fedf24519a8a0d7c7e5fd6ae0 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Wed, 10 May 2023 21:42:04 -0700 Subject: [PATCH 11/34] fixed 2 workers, print logs --- .../mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl | 2 +- server/gunicorn_conf.py | 3 +-- server/transformer/word2vec_transformer.py | 8 ++++++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl index 42e4ce6..7b35362 100644 --- a/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl +++ b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl @@ -37,7 +37,7 @@ inputs = { eb_env_namespace = "mentorpal" eb_env_stage = local.env eb_env_name = "sbert" - eb_env_instance_type = "c6i.xlarge" # compute-optimized, 120$/month + eb_env_instance_type = "c6i.2xlarge" # compute-optimized, 120$/month, a1.2xlarge, c6i.xlarge enable_alarms = true slack_channel = "ls-alerts-qa" slack_username = "uscictlsalerts" diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index 64c9198..209d80f 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -4,14 +4,13 @@ # # The full terms of this copyright and license should always be found in the root directory of this software deliverable as "license.txt" and if these terms are not found with this software, please contact the USC Stevens Center for the full license. # -import multiprocessing # Gunicorn configuration file # https://docs.gunicorn.org/en/stable/configure.html#configuration-file # https://docs.gunicorn.org/en/stable/settings.html # https://docs.gunicorn.org/en/stable/settings.html#workers -workers = int(multiprocessing.cpu_count() / 2) +workers = 2 # limit max clients at the time to prevent overload: worker_connections = 150 diff --git a/server/transformer/word2vec_transformer.py b/server/transformer/word2vec_transformer.py index 12e0696..1072901 100644 --- a/server/transformer/word2vec_transformer.py +++ b/server/transformer/word2vec_transformer.py @@ -9,6 +9,7 @@ from gensim.models import KeyedVectors from gensim.models.keyedvectors import Word2VecKeyedVectors from numpy import ndarray +from datetime import datetime WORD2VEC_MODELS: Dict[str, Word2VecKeyedVectors] = {} @@ -17,11 +18,13 @@ def find_or_load_word2vec(file_path: str) -> Word2VecKeyedVectors: + print(f"{datetime.now()} loading {file_path}", flush=True) abs_path = path.abspath(file_path) if abs_path not in WORD2VEC_MODELS: WORD2VEC_MODELS[abs_path] = KeyedVectors.load_word2vec_format( abs_path, binary=True ) + return WORD2VEC_MODELS[abs_path] @@ -34,12 +37,17 @@ class Word2VecTransformer: w2v_slim_model: Word2VecKeyedVectors def __init__(self, shared_root: str): + print(f"{datetime.now()} before word2vec.bin", flush=True) self.w2v_model = find_or_load_word2vec( path.abspath(path.join(shared_root, "word2vec.bin")) ) + print(f"{datetime.now()} after word2vec.bin", flush=True) + print(f"{datetime.now()} before word2vec_slim.bin", flush=True) + self.w2v_slim_model = find_or_load_word2vec( path.abspath(path.join(shared_root, "word2vec_slim.bin")) ) + print(f"{datetime.now()} after word2vec_slim.bin", flush=True) def get_feature_vectors(self, words: List[str], model: str) -> Dict[str, ndarray]: result: Dict[str, ndarray] = dict() From 4e4be382d29ab0eb195b5d99950159774bf7e885 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Wed, 10 May 2023 23:54:11 -0700 Subject: [PATCH 12/34] stash vectored keywords on startup --- .gitignore | 3 +++ server/gunicorn_conf.py | 4 +++- server/transformer/word2vec_transformer.py | 9 +++----- shared/word2vec_download.py | 26 ++++++++++++++++++--- shared/word2vec_slim_download.py | 27 ++++++++++++++++++---- 5 files changed, 55 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 8a50335..5aa81d1 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,6 @@ build dist htmlcov shared/installed/* +transformer.pkl +*_saved_keyed_vectors +*.vectors.npy \ No newline at end of file diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index 209d80f..ef94b11 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -10,7 +10,9 @@ # https://docs.gunicorn.org/en/stable/settings.html # https://docs.gunicorn.org/en/stable/settings.html#workers -workers = 2 +import multiprocessing + +workers = int(multiprocessing.cpu_count() / 2) # limit max clients at the time to prevent overload: worker_connections = 150 diff --git a/server/transformer/word2vec_transformer.py b/server/transformer/word2vec_transformer.py index 1072901..4fedca5 100644 --- a/server/transformer/word2vec_transformer.py +++ b/server/transformer/word2vec_transformer.py @@ -21,10 +21,7 @@ def find_or_load_word2vec(file_path: str) -> Word2VecKeyedVectors: print(f"{datetime.now()} loading {file_path}", flush=True) abs_path = path.abspath(file_path) if abs_path not in WORD2VEC_MODELS: - WORD2VEC_MODELS[abs_path] = KeyedVectors.load_word2vec_format( - abs_path, binary=True - ) - + WORD2VEC_MODELS[abs_path] = KeyedVectors.load(file_path) return WORD2VEC_MODELS[abs_path] @@ -39,13 +36,13 @@ class Word2VecTransformer: def __init__(self, shared_root: str): print(f"{datetime.now()} before word2vec.bin", flush=True) self.w2v_model = find_or_load_word2vec( - path.abspath(path.join(shared_root, "word2vec.bin")) + path.abspath(path.join(shared_root, "word_2_vec_saved_keyed_vectors")) ) print(f"{datetime.now()} after word2vec.bin", flush=True) print(f"{datetime.now()} before word2vec_slim.bin", flush=True) self.w2v_slim_model = find_or_load_word2vec( - path.abspath(path.join(shared_root, "word2vec_slim.bin")) + path.abspath(path.join(shared_root, "word_2_vec_slim_saved_keyed_vectors")) ) print(f"{datetime.now()} after word2vec_slim.bin", flush=True) diff --git a/shared/word2vec_download.py b/shared/word2vec_download.py index 4534ceb..f5a0291 100644 --- a/shared/word2vec_download.py +++ b/shared/word2vec_download.py @@ -10,17 +10,37 @@ from utils import download +from datetime import datetime +from gensim.models import KeyedVectors + +from gensim.models.keyedvectors import Word2VecKeyedVectors + + +def load_and_save_word2vec_keyed_vectors(wor2vec_vectors_path: str, path_to_file: str): + print(f"{datetime.now()} loading {path_to_file}", flush=True) + abs_path = os.path.abspath(path_to_file) + model_keyed_vectors: Word2VecKeyedVectors = KeyedVectors.load_word2vec_format( + abs_path, binary=True + ) + model_keyed_vectors.save(wor2vec_vectors_path) + def word2vec_download(to_path="installed", replace_existing=False) -> str: word2vec_path = os.path.abspath(os.path.join(to_path, "word2vec.bin")) - if os.path.isfile(word2vec_path) and not replace_existing: - print(f"already is a file! {word2vec_path}") + wor2vec_vectors_path = os.path.abspath( + os.path.join(to_path, "word_2_vec_saved_keyed_vectors") + ) + if os.path.isfile(wor2vec_vectors_path) and not replace_existing: + print(f"already are files!{wor2vec_vectors_path}") return word2vec_path word2vec_zip = os.path.join(to_path, "word2vec.zip") download("http://vectors.nlpl.eu/repository/20/6.zip", word2vec_zip) with ZipFile(word2vec_zip, "r") as z: z.extract("model.bin") - shutil.move("model.bin", word2vec_path) + + load_and_save_word2vec_keyed_vectors(wor2vec_vectors_path, "model.bin") + + os.remove("model.bin") os.remove(word2vec_zip) return word2vec_path diff --git a/shared/word2vec_slim_download.py b/shared/word2vec_slim_download.py index 0b91d06..ee22b72 100644 --- a/shared/word2vec_slim_download.py +++ b/shared/word2vec_slim_download.py @@ -9,20 +9,39 @@ from zipfile import ZipFile from utils import download +from datetime import datetime +from gensim.models import KeyedVectors + +from gensim.models.keyedvectors import Word2VecKeyedVectors + + +def load_and_save_word2vec_keyed_vectors(wor2vec_vectors_path: str, path_to_file: str): + print(f"{datetime.now()} loading {path_to_file}", flush=True) + abs_path = os.path.abspath(path_to_file) + model_keyed_vectors: Word2VecKeyedVectors = KeyedVectors.load_word2vec_format( + abs_path, binary=True + ) + model_keyed_vectors.save(wor2vec_vectors_path) def word2vec_download(to_path="installed", replace_existing=False) -> str: word2vec_path = os.path.abspath(os.path.join(to_path, "word2vec_slim.bin")) - if os.path.isfile(word2vec_path) and not replace_existing: - print(f"already is a file! {word2vec_path}") - return word2vec_path + wor2vec_slim_vectors_path = os.path.abspath( + os.path.join(to_path, "word_2_vec_slim_saved_keyed_vectors") + ) + if os.path.isfile(wor2vec_slim_vectors_path) and not replace_existing: + print(f"already is a file! {wor2vec_slim_vectors_path}") + return wor2vec_slim_vectors_path word2vec_zip = os.path.join(to_path, "word2vec_slim.zip") download( "https://aws-classifier-model.s3.amazonaws.com/word2vec_slim.zip", word2vec_zip ) with ZipFile(word2vec_zip, "r") as z: z.extract("model.bin") - shutil.move("model.bin", word2vec_path) + + load_and_save_word2vec_keyed_vectors(wor2vec_slim_vectors_path, "model.bin") + + os.remove("model.bin") os.remove(word2vec_zip) return word2vec_path From 2cef51c875c0d88d35491f54a0c4c43d9ba9cd97 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Thu, 11 May 2023 00:38:06 -0700 Subject: [PATCH 13/34] preload app --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index a7ff8b9..baca116 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -7,6 +7,6 @@ ## export FLASK_APP=/app/server -cd /app && gunicorn --config python:server.gunicorn_conf server.manage:app --timeout 300 +cd /app && gunicorn --config python:server.gunicorn_conf server.manage:app --timeout 300 --preload --log-level debug exit 0 From 66282f2bee678c9556b94ecfc5a873803a355eeb Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Thu, 11 May 2023 01:48:14 -0700 Subject: [PATCH 14/34] add all workers back in, correct server size --- .../mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl | 2 +- server/gunicorn_conf.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl index 7b35362..32d1992 100644 --- a/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl +++ b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl @@ -37,7 +37,7 @@ inputs = { eb_env_namespace = "mentorpal" eb_env_stage = local.env eb_env_name = "sbert" - eb_env_instance_type = "c6i.2xlarge" # compute-optimized, 120$/month, a1.2xlarge, c6i.xlarge + eb_env_instance_type = "c6i.xlarge" # compute-optimized, 120$/month, a1.2xlarge, c6i.xlarge enable_alarms = true slack_channel = "ls-alerts-qa" slack_username = "uscictlsalerts" diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index ef94b11..961908b 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -12,7 +12,7 @@ # https://docs.gunicorn.org/en/stable/settings.html#workers import multiprocessing -workers = int(multiprocessing.cpu_count() / 2) +workers = int(multiprocessing.cpu_count() * 2) + 1 # limit max clients at the time to prevent overload: worker_connections = 150 From 00a43cf6f81cbedd29d1a9118614f24c9ab6b400 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Thu, 11 May 2023 15:11:56 -0700 Subject: [PATCH 15/34] load transformer on init of each worker instead of preload (preload fudges transformer) --- .gitignore | 1 + server/gunicorn_conf.py | 7 +++++++ server/transformer/encode.py | 14 ++++++++------ tools/encode-k6.js | 2 +- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 5aa81d1..897e9d9 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ build dist htmlcov shared/installed/* +shared/sentence-transformer transformer.pkl *_saved_keyed_vectors *.vectors.npy \ No newline at end of file diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index 961908b..6cb3f11 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -11,6 +11,7 @@ # https://docs.gunicorn.org/en/stable/settings.html#workers import multiprocessing +from server.api.blueprints import encoder workers = int(multiprocessing.cpu_count() * 2) + 1 @@ -24,3 +25,9 @@ # to prevent any memory leaks: max_requests = 1000 max_requests_jitter = 50 + +def post_worker_init(worker): + """ + gunicorn preload fudges the transformer, so we load the transfomer on startup for each worker + """ + encoder.load_encoder_transformer() \ No newline at end of file diff --git a/server/transformer/encode.py b/server/transformer/encode.py index 41c8122..0f54296 100644 --- a/server/transformer/encode.py +++ b/server/transformer/encode.py @@ -37,18 +37,20 @@ def cos_sim(a: Tensor, b: Tensor): class TransformersEncoder: - transformer: TransformerEmbeddings # shared + transformer: TransformerEmbeddings = None # shared + shared_root = "" def __init__(self, shared_root: str): - self.transformer = self.__load_transformer(shared_root) + self.shared_root = shared_root - def __load_transformer(self, shared_root): + def load_encoder_transformer(self): + logging.info("loading transformer") if getattr(TransformersEncoder, "transformer", None) is None: # class variable, load just once - logging.info(f"loading transformers from {shared_root}") - transformer = load_transformer(shared_root) + logging.info(f"loading transformers from {self.shared_root}") + transformer = load_transformer(self.shared_root) setattr(TransformersEncoder, "transformer", transformer) - return TransformersEncoder.transformer + self.transformer = TransformersEncoder.transformer def encode(self, question: str) -> Union[List[Tensor], ndarray, Tensor]: logging.info(question) diff --git a/tools/encode-k6.js b/tools/encode-k6.js index 4d0cb77..348943f 100644 --- a/tools/encode-k6.js +++ b/tools/encode-k6.js @@ -8,7 +8,7 @@ import http from "k6/http"; import { SharedArray } from "k6/data"; import { check } from "k6"; -const apiUrl = "https://sbert-qa.mentorpal.org/v1/encode"; +const apiUrl = "https://sbert-dev.mentorpal.org/v1/encode"; const questions = new SharedArray("user questions", function () { // subset of https://gist.github.com/khamer/66102c745a9a75de997c038e3166a95d return JSON.parse(open("./questions.json")); From afc213e9825212c512d8fdb6eb62fc5f28b68a70 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Thu, 11 May 2023 15:15:39 -0700 Subject: [PATCH 16/34] lint fixing --- server/gunicorn_conf.py | 3 ++- server/transformer/encode.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index 6cb3f11..e892b71 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -26,8 +26,9 @@ max_requests = 1000 max_requests_jitter = 50 + def post_worker_init(worker): """ gunicorn preload fudges the transformer, so we load the transfomer on startup for each worker """ - encoder.load_encoder_transformer() \ No newline at end of file + encoder.load_encoder_transformer() diff --git a/server/transformer/encode.py b/server/transformer/encode.py index 0f54296..2977d9a 100644 --- a/server/transformer/encode.py +++ b/server/transformer/encode.py @@ -37,7 +37,7 @@ def cos_sim(a: Tensor, b: Tensor): class TransformersEncoder: - transformer: TransformerEmbeddings = None # shared + transformer: TransformerEmbeddings # shared shared_root = "" def __init__(self, shared_root: str): From 45e25a116e95c885e71677521e3bc83946e7d1c4 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Thu, 11 May 2023 16:23:50 -0700 Subject: [PATCH 17/34] load transformer in encode if not done --- server/transformer/encode.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server/transformer/encode.py b/server/transformer/encode.py index 2977d9a..38f44a4 100644 --- a/server/transformer/encode.py +++ b/server/transformer/encode.py @@ -53,6 +53,8 @@ def load_encoder_transformer(self): self.transformer = TransformersEncoder.transformer def encode(self, question: str) -> Union[List[Tensor], ndarray, Tensor]: + if getattr(TransformersEncoder, "transformer", None) is None: + self.load_encoder_transformer() logging.info(question) embedded_question = self.transformer.get_embeddings(question) return embedded_question.tolist() From cb786bcd5235e2b1c30525f82ded9c89457adb9a Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Thu, 11 May 2023 18:03:21 -0700 Subject: [PATCH 18/34] check if transformer loaded --- server/transformer/encode.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/transformer/encode.py b/server/transformer/encode.py index 38f44a4..2574141 100644 --- a/server/transformer/encode.py +++ b/server/transformer/encode.py @@ -38,6 +38,7 @@ def cos_sim(a: Tensor, b: Tensor): class TransformersEncoder: transformer: TransformerEmbeddings # shared + transformer_loaded: bool = False shared_root = "" def __init__(self, shared_root: str): @@ -50,10 +51,12 @@ def load_encoder_transformer(self): logging.info(f"loading transformers from {self.shared_root}") transformer = load_transformer(self.shared_root) setattr(TransformersEncoder, "transformer", transformer) + self.transformer_loaded = True self.transformer = TransformersEncoder.transformer def encode(self, question: str) -> Union[List[Tensor], ndarray, Tensor]: - if getattr(TransformersEncoder, "transformer", None) is None: + if self.transformer_loaded is False: + logging.info("loading transformer because self.transformer_loaded is None") self.load_encoder_transformer() logging.info(question) embedded_question = self.transformer.get_embeddings(question) From 8d48467088421bc7772cc7a6084a0ad3034e0ef4 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Thu, 11 May 2023 18:58:18 -0700 Subject: [PATCH 19/34] more loggin, different transormer load logic --- server/gunicorn_conf.py | 3 +++ server/transformer/encode.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index e892b71..775e2bc 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -12,6 +12,7 @@ # https://docs.gunicorn.org/en/stable/settings.html#workers import multiprocessing from server.api.blueprints import encoder +import logging workers = int(multiprocessing.cpu_count() * 2) + 1 @@ -31,4 +32,6 @@ def post_worker_init(worker): """ gunicorn preload fudges the transformer, so we load the transfomer on startup for each worker """ + logging.info("post worker init") + print(f"worker pid: {worker.pid}") encoder.load_encoder_transformer() diff --git a/server/transformer/encode.py b/server/transformer/encode.py index 2574141..88ef135 100644 --- a/server/transformer/encode.py +++ b/server/transformer/encode.py @@ -46,7 +46,7 @@ def __init__(self, shared_root: str): def load_encoder_transformer(self): logging.info("loading transformer") - if getattr(TransformersEncoder, "transformer", None) is None: + if self.transformer_loaded is False: # class variable, load just once logging.info(f"loading transformers from {self.shared_root}") transformer = load_transformer(self.shared_root) From 7b219285d22729a635402229c52b36828d66ca31 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Thu, 11 May 2023 20:18:43 -0700 Subject: [PATCH 20/34] properly log worker pid --- server/gunicorn_conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index 775e2bc..7a92805 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -33,5 +33,5 @@ def post_worker_init(worker): gunicorn preload fudges the transformer, so we load the transfomer on startup for each worker """ logging.info("post worker init") - print(f"worker pid: {worker.pid}") + logging.info(f"worker pid: {worker.pid}") encoder.load_encoder_transformer() From 2a412f08d660b9db1cc134fd3be10c4bfec12d3c Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Thu, 11 May 2023 20:19:18 -0700 Subject: [PATCH 21/34] small fix --- server/gunicorn_conf.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index 7a92805..fe5e5a3 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -32,6 +32,5 @@ def post_worker_init(worker): """ gunicorn preload fudges the transformer, so we load the transfomer on startup for each worker """ - logging.info("post worker init") - logging.info(f"worker pid: {worker.pid}") + logging.info(f"post worker init: {worker.pid}") encoder.load_encoder_transformer() From 9db5e3e02a2f7d0347db01a9ac06866e5bba7a3d Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Thu, 11 May 2023 20:50:47 -0700 Subject: [PATCH 22/34] load encoder on request, not on worker startup --- server/api/blueprints/__init__.py | 18 ++++++++++++++++-- server/api/blueprints/encode.py | 8 ++++++-- server/api/blueprints/paraphrase.py | 3 ++- server/gunicorn_conf.py | 10 ---------- 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/server/api/blueprints/__init__.py b/server/api/blueprints/__init__.py index 33b11da..4fbc0b0 100644 --- a/server/api/blueprints/__init__.py +++ b/server/api/blueprints/__init__.py @@ -5,8 +5,23 @@ # The full terms of this copyright and license should always be found in the root directory of this software deliverable as "license.txt" and if these terms are not found with this software, please contact the USC Stevens Center for the full license. # import os -from server.transformer.encode import TransformersEncoder from server.transformer.word2vec_transformer import Word2VecTransformer +from typing import Dict +from server.transformer.encode import TransformersEncoder +import logging + +encoder_holder: Dict[str, TransformersEncoder] = {} + + +def find_or_load_encoder(): + logging.info(encoder_holder) + if "encoder" not in encoder_holder: + logging.info("encoder not in holder, loading in") + encoder = TransformersEncoder(shared_root) + encoder_holder["encoder"] = encoder + return encoder + logging.info("encoder found") + return encoder_holder["encoder"] shared_root = os.environ.get("SHARED_ROOT", "shared") @@ -14,5 +29,4 @@ raise Exception("Shared missing.") # load on init so request handler is fast on first hit -encoder: TransformersEncoder = TransformersEncoder(shared_root) w2v_transformer: Word2VecTransformer = Word2VecTransformer(shared_root) diff --git a/server/api/blueprints/encode.py b/server/api/blueprints/encode.py index 50e6f95..50a7b38 100644 --- a/server/api/blueprints/encode.py +++ b/server/api/blueprints/encode.py @@ -4,12 +4,15 @@ # # The full terms of this copyright and license should always be found in the root directory of this software deliverable as "license.txt" and if these terms are not found with this software, please contact the USC Stevens Center for the full license. # +import os import logging from flask import Blueprint, jsonify, request -from . import encoder from .auth_decorator import authenticate +from . import find_or_load_encoder + encode_blueprint = Blueprint("encode", __name__) +shared_root = os.environ.get("SHARED_ROOT", "shared") @encode_blueprint.route("/", methods=["GET", "POST"]) @@ -19,6 +22,7 @@ def encode(): if "query" not in request.args: return (jsonify({"query": ["required field"]}), 400) sentence = request.args["query"].strip() + encoder = find_or_load_encoder() result = encoder.encode(sentence) return ( jsonify( @@ -40,7 +44,7 @@ def multiple_encode(): logging.info(request.data) if "sentences" not in request.json: return (jsonify({"sentences": ["required field"]}), 400) - + encoder = find_or_load_encoder() sentences = request.json["sentences"] result = list( map( diff --git a/server/api/blueprints/paraphrase.py b/server/api/blueprints/paraphrase.py index fbbef68..aa0b8c8 100644 --- a/server/api/blueprints/paraphrase.py +++ b/server/api/blueprints/paraphrase.py @@ -6,7 +6,7 @@ # from flask import Blueprint, jsonify, request from .auth_decorator import authenticate -from . import encoder +from .encode import find_or_load_encoder import logging paraphrase_blueprint = Blueprint("paraphrase_mining", __name__) @@ -22,6 +22,7 @@ def paraphrase(): return (jsonify({"sentences": ["required field"]}), 400) sentences = request.json["sentences"] + encoder = find_or_load_encoder() result = encoder.paraphrase_mining(sentences) logging.info("input length: %s, results: %s", len(sentences), len(result)) diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index fe5e5a3..961908b 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -11,8 +11,6 @@ # https://docs.gunicorn.org/en/stable/settings.html#workers import multiprocessing -from server.api.blueprints import encoder -import logging workers = int(multiprocessing.cpu_count() * 2) + 1 @@ -26,11 +24,3 @@ # to prevent any memory leaks: max_requests = 1000 max_requests_jitter = 50 - - -def post_worker_init(worker): - """ - gunicorn preload fudges the transformer, so we load the transfomer on startup for each worker - """ - logging.info(f"post worker init: {worker.pid}") - encoder.load_encoder_transformer() From b109cb5716472e9ea3fd9ef54351cb0f14f462dd Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Thu, 11 May 2023 20:51:30 -0700 Subject: [PATCH 23/34] format --- server/api/blueprints/encode.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server/api/blueprints/encode.py b/server/api/blueprints/encode.py index 50a7b38..5a7942c 100644 --- a/server/api/blueprints/encode.py +++ b/server/api/blueprints/encode.py @@ -80,6 +80,8 @@ def cos_sim_weight(): if "a" not in request.json or "b" not in request.json: return (jsonify({"a and b sentences": ["required field"]}), 400) + encoder = find_or_load_encoder() + result = encoder.cos_sim_weight(request.json["a"], request.json["b"]) return ( jsonify( From 9f8ca59652d239026579fec934150a5062fedad2 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Thu, 11 May 2023 23:56:22 -0700 Subject: [PATCH 24/34] lock at 2 workers --- server/gunicorn_conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index 961908b..6b9aaf1 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -10,9 +10,9 @@ # https://docs.gunicorn.org/en/stable/settings.html # https://docs.gunicorn.org/en/stable/settings.html#workers -import multiprocessing +# import multiprocessing -workers = int(multiprocessing.cpu_count() * 2) + 1 +workers = 2 # limit max clients at the time to prevent overload: worker_connections = 150 From b018d3bd6bec80a3e213bce520c6b3111248f2d3 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Fri, 12 May 2023 00:07:59 -0700 Subject: [PATCH 25/34] fixed 3 workers --- server/gunicorn_conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index 6b9aaf1..1ec7358 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -12,7 +12,7 @@ # https://docs.gunicorn.org/en/stable/settings.html#workers # import multiprocessing -workers = 2 +workers = 3 # limit max clients at the time to prevent overload: worker_connections = 150 From dbf8cb501ede3e3162e696f6a77fc13b08436813 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Fri, 12 May 2023 00:52:51 -0700 Subject: [PATCH 26/34] 4 workers fixed --- .../mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl | 2 +- server/gunicorn_conf.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl index 32d1992..7b35362 100644 --- a/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl +++ b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl @@ -37,7 +37,7 @@ inputs = { eb_env_namespace = "mentorpal" eb_env_stage = local.env eb_env_name = "sbert" - eb_env_instance_type = "c6i.xlarge" # compute-optimized, 120$/month, a1.2xlarge, c6i.xlarge + eb_env_instance_type = "c6i.2xlarge" # compute-optimized, 120$/month, a1.2xlarge, c6i.xlarge enable_alarms = true slack_channel = "ls-alerts-qa" slack_username = "uscictlsalerts" diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index 1ec7358..11b52ea 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -12,7 +12,7 @@ # https://docs.gunicorn.org/en/stable/settings.html#workers # import multiprocessing -workers = 3 +workers = 4 # limit max clients at the time to prevent overload: worker_connections = 150 From 452027f68fe95b3989925148bd1fa60ffebba522 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Fri, 12 May 2023 00:53:46 -0700 Subject: [PATCH 27/34] 5 workers fixed --- server/gunicorn_conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index 11b52ea..b6e15c1 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -12,7 +12,7 @@ # https://docs.gunicorn.org/en/stable/settings.html#workers # import multiprocessing -workers = 4 +workers = 5 # limit max clients at the time to prevent overload: worker_connections = 150 From f81ce0ae92aa837a8479a742489fb81e0ee57b52 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Fri, 12 May 2023 10:27:52 -0700 Subject: [PATCH 28/34] eager load transformer in worker startup --- server/api/blueprints/__init__.py | 17 +---------------- server/api/blueprints/encode.py | 5 +---- server/api/blueprints/paraphrase.py | 3 +-- server/gunicorn_conf.py | 10 ++++++++++ tools/encode-k6.js | 3 ++- 5 files changed, 15 insertions(+), 23 deletions(-) diff --git a/server/api/blueprints/__init__.py b/server/api/blueprints/__init__.py index 4fbc0b0..bd0bed7 100644 --- a/server/api/blueprints/__init__.py +++ b/server/api/blueprints/__init__.py @@ -6,27 +6,12 @@ # import os from server.transformer.word2vec_transformer import Word2VecTransformer -from typing import Dict from server.transformer.encode import TransformersEncoder -import logging - -encoder_holder: Dict[str, TransformersEncoder] = {} - - -def find_or_load_encoder(): - logging.info(encoder_holder) - if "encoder" not in encoder_holder: - logging.info("encoder not in holder, loading in") - encoder = TransformersEncoder(shared_root) - encoder_holder["encoder"] = encoder - return encoder - logging.info("encoder found") - return encoder_holder["encoder"] - shared_root = os.environ.get("SHARED_ROOT", "shared") if not os.path.isdir(shared_root): raise Exception("Shared missing.") # load on init so request handler is fast on first hit +encoder: TransformersEncoder = TransformersEncoder(shared_root) w2v_transformer: Word2VecTransformer = Word2VecTransformer(shared_root) diff --git a/server/api/blueprints/encode.py b/server/api/blueprints/encode.py index 5a7942c..da56a5c 100644 --- a/server/api/blueprints/encode.py +++ b/server/api/blueprints/encode.py @@ -8,7 +8,7 @@ import logging from flask import Blueprint, jsonify, request from .auth_decorator import authenticate -from . import find_or_load_encoder +from . import encoder encode_blueprint = Blueprint("encode", __name__) @@ -22,7 +22,6 @@ def encode(): if "query" not in request.args: return (jsonify({"query": ["required field"]}), 400) sentence = request.args["query"].strip() - encoder = find_or_load_encoder() result = encoder.encode(sentence) return ( jsonify( @@ -44,7 +43,6 @@ def multiple_encode(): logging.info(request.data) if "sentences" not in request.json: return (jsonify({"sentences": ["required field"]}), 400) - encoder = find_or_load_encoder() sentences = request.json["sentences"] result = list( map( @@ -80,7 +78,6 @@ def cos_sim_weight(): if "a" not in request.json or "b" not in request.json: return (jsonify({"a and b sentences": ["required field"]}), 400) - encoder = find_or_load_encoder() result = encoder.cos_sim_weight(request.json["a"], request.json["b"]) return ( diff --git a/server/api/blueprints/paraphrase.py b/server/api/blueprints/paraphrase.py index aa0b8c8..a1cdb6e 100644 --- a/server/api/blueprints/paraphrase.py +++ b/server/api/blueprints/paraphrase.py @@ -6,7 +6,7 @@ # from flask import Blueprint, jsonify, request from .auth_decorator import authenticate -from .encode import find_or_load_encoder +from .encode import encoder import logging paraphrase_blueprint = Blueprint("paraphrase_mining", __name__) @@ -22,7 +22,6 @@ def paraphrase(): return (jsonify({"sentences": ["required field"]}), 400) sentences = request.json["sentences"] - encoder = find_or_load_encoder() result = encoder.paraphrase_mining(sentences) logging.info("input length: %s, results: %s", len(sentences), len(result)) diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index b6e15c1..9060049 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -11,6 +11,8 @@ # https://docs.gunicorn.org/en/stable/settings.html#workers # import multiprocessing +import logging +from server.api.blueprints import encoder workers = 5 @@ -24,3 +26,11 @@ # to prevent any memory leaks: max_requests = 1000 max_requests_jitter = 50 + + +def post_worker_init(worker): + """ + gunicorn preload fudges the transformer, so we load the transfomer on startup for each worker + """ + logging.info(f"post worker init: {worker.pid}") + encoder.load_encoder_transformer() diff --git a/tools/encode-k6.js b/tools/encode-k6.js index 348943f..17295f9 100644 --- a/tools/encode-k6.js +++ b/tools/encode-k6.js @@ -7,7 +7,8 @@ import http from "k6/http"; import { SharedArray } from "k6/data"; import { check } from "k6"; - +// "http://0.0.0.0:5000/v1/encode" +// "https://sbert-dev.mentorpal.org/v1/encode" const apiUrl = "https://sbert-dev.mentorpal.org/v1/encode"; const questions = new SharedArray("user questions", function () { // subset of https://gist.github.com/khamer/66102c745a9a75de997c038e3166a95d From cc0032033868f706603452ab7374e487b802c0cf Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Fri, 12 May 2023 10:58:09 -0700 Subject: [PATCH 29/34] 3 workers, add threading --- .../mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl | 2 +- server/gunicorn_conf.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl index 7b35362..053246d 100644 --- a/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl +++ b/infrastructure/aws/terraform/mentorpal/dev/us-east-1/sbert-service/terragrunt.hcl @@ -37,7 +37,7 @@ inputs = { eb_env_namespace = "mentorpal" eb_env_stage = local.env eb_env_name = "sbert" - eb_env_instance_type = "c6i.2xlarge" # compute-optimized, 120$/month, a1.2xlarge, c6i.xlarge + eb_env_instance_type = "c6i.xlarge" # compute-optimized, 120$/month, a1.xlarge, c6i.xlarge enable_alarms = true slack_channel = "ls-alerts-qa" slack_username = "uscictlsalerts" diff --git a/server/gunicorn_conf.py b/server/gunicorn_conf.py index 9060049..76ee2df 100644 --- a/server/gunicorn_conf.py +++ b/server/gunicorn_conf.py @@ -10,11 +10,12 @@ # https://docs.gunicorn.org/en/stable/settings.html # https://docs.gunicorn.org/en/stable/settings.html#workers -# import multiprocessing +import multiprocessing import logging from server.api.blueprints import encoder -workers = 5 +workers = 3 +threads = multiprocessing.cpu_count() * 2 # limit max clients at the time to prevent overload: worker_connections = 150 From 5a56cf81a3c1b9c88a3c9e6f57bd8be6b862dc67 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Fri, 12 May 2023 14:35:25 -0700 Subject: [PATCH 30/34] allow json body for encode request, backwards compatible --- server/api/blueprints/encode.py | 7 +++++-- tests/test_api_encode.py | 13 ++++++++++++- tools/clint_transcripts.json | 1 + 3 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 tools/clint_transcripts.json diff --git a/server/api/blueprints/encode.py b/server/api/blueprints/encode.py index da56a5c..109e87a 100644 --- a/server/api/blueprints/encode.py +++ b/server/api/blueprints/encode.py @@ -19,9 +19,12 @@ @encode_blueprint.route("", methods=["GET", "POST"]) @authenticate def encode(): - if "query" not in request.args: + if request.get_json(silent=True) is not None and "query" in request.json: + sentence = request.json["query"].strip() + elif "query" in request.args: + sentence = request.args["query"].strip() + else: return (jsonify({"query": ["required field"]}), 400) - sentence = request.args["query"].strip() result = encoder.encode(sentence) return ( jsonify( diff --git a/tests/test_api_encode.py b/tests/test_api_encode.py index dc02f6e..2256241 100644 --- a/tests/test_api_encode.py +++ b/tests/test_api_encode.py @@ -15,7 +15,7 @@ def test_returns_400_response_when_query_missing(client): assert res.status_code == 400 -def test_hello_world(client): +def test_hello_world_query_param(client): res = client.get( "/v1/encode?query=hello+world", headers={"Authorization": "bearer dummykey"} ) @@ -24,6 +24,17 @@ def test_hello_world(client): assert len(res.json["encoding"]) > 20 +def test_hello_world_json_body(client): + res = client.get( + "/v1/encode", + json={"query": "hello world"}, + headers={"Authorization": "bearer dummykey"}, + ) + assert res.status_code == 200 + assert res.json["query"] == "hello world" + assert len(res.json["encoding"]) > 20 + + def test_multiple_encode(client): res = client.get( "/v1/encode/multiple_encode/", diff --git a/tools/clint_transcripts.json b/tools/clint_transcripts.json new file mode 100644 index 0000000..2403ba4 --- /dev/null +++ b/tools/clint_transcripts.json @@ -0,0 +1 @@ +["I joined the Navy in 2000, that was right before we had the 9/11 attacks. I was there for eight years and then I joined the US Navy Reserve in 2008.", "Right now, I'm currently serving as a Chief Electrician's Mate for the US Navy Reserve. I did active duty as Electrician's Mate as well but that was under the nuclear field. Right now, because you can't really serve in the nuclear field as a reservist, I'm just a normal Electrician's Mate.", "Currently, I have two different career paths that I'm going on. One is my Navy Reserve career and the other one is my computer science career. In the Navy Reserve, I'm an Electrician's Mate Chief. I've been in for 17 years, 16 going on 17 years and I became a Chief, which is pretty high level, it an E7, out of E9 total. Those are the career steps, so, E1, 2, 3, 4, 5, 6 and I am an E7. It took ten years to get there and I've been a Chief for the last six years. So, to become a Chief, it requires a lot of hard work and dedication and being an expert at your job, that's, you know, the title of what we're supposed to be. We're supposed to be able to show our junior sailors how to do things because we've done it so much ourselves. So, to get to that point, it took a lot of watch standing, it took a lot of drills, it took a lot of marching around, it took a lot of reading books, it took a lot of opening up, you know, presentations and information sheets about my job, during times that I didn't have to. I think that's the difference between a lot of Chiefs who make it and some people who don't, what you do on your free time. If you really care about your career, then, during your free time, you're not just going to watch DVDs and watch movies and play cards and just go on drums. You're actually going to spend some time trying to be advanced to the next grade, to the next promotion level. As far as my civilian career, that's me being a master's student at the University of Southern California, it took a whole lot even more, even more than the military, it took a lot more dedication, homework, assignments, test preparation. On my free time, I would spend so much time just staying up all night, just doing these homework assignments. Even after the test was over, I'd still open the book and, kind of like, get those questions that I didn't understand on the test, I would get those questions again to review, to try to understand what it is, what the class was trying to explain. So, this is math questions, science questions, even English questions. I would present an English assignment and then I get it back and, you know, \"These are all the mistakes that you made.\" So, I'd open up my Central Texas College, you know, handbook and I'd say, \"Oh, there should have be a quotation there, there should have been a semicolon there\", so, even simple things like that. And all of this is in order to become an expert at whatever it is I'm learning. So, as long as you make sure that you have that final goal in mind, which is to be an expert at whatever it is that you're doing, then you'll become a high level, you'll wind up at USC at a master's course or you'll be a Chief or higher in the military.", "The major problem that I see military people having working in the field today is that they can probably expect to go to more wars if our current leadership doesn't take the right actions to prevent that. We're supposed to be policing the world in a way that prevents large drawn out wars but unfortunately, with a lot of things that are happening in the Yellow Sea right now, with a lot of things happening with North Korea with their buildup of their weapon arsenal, with some the things going on in the Middle East. We can see that the policing that we're doing isn't fully effective in the way that we are seeing decreases in the level of violence around the world. We are seeing the same or even more than when I was in the military, so that could be something that we can look forward to in the military from now on.", "So, when you do this type of work, you get a lot of benefits. When I joined, I think I was working at McDonald's and Swap Meet. Maybe the movie theater too, I think I was working two or three jobs at, you know, all around the year and I didn't have any type of direction. I knew I was smart but I just didn't have enough time to, you know, pay my bills at the time. So, I joined the military and one of their promises, they said that you could have a really high paying job at the end of your career. You know, it's a six year contract. So, I said, \"Okay, well I have these skills\". They taught me math, they taught me physics, thermodynamics, chemistry and by the end of my six year tour, I had enough knowledge to basically become Homer Simpson. I could go out there and work at a nuclear power plant, full of confidence. So, they give you the skills that you need to get a really high paying job or a different job. You know, depends on what you want to do.", "So, for all the benefits that the military job provides you, you can also have a lot of frustration with the job. For most people, I think this might be the hardest that you'll ever work in your life. That's how come the military has young people do it and then, once they leave, they go on to productive careers but they'll always say, \"You know what, I can do anything because I worked so hard for the military.\" Along with those long working hours, you're away from your family. That's a part of, having those long working hours. So, for instance, deployment is probably everyone's major reason for getting out. They want to see their kid grow up, they want to spend more time with their wife, they want to actually date and have a social life. So these are things that you have to give up by joining the military.", "When I was on active duty, we get one month per year. So, that's a lot of travel that I'm allowed to do but I didn't do too much of it. Kind of just stayed at home. There's this thing called the 'military bubble' where you kind of just hang out with the people in your same unit and don't really get out that much. And it's fun for a while. You have a lot of money so you can do lots of things, you can take these things called MAC flights where you can, if you're on leave, you can travel across the country for basically free but I think I was just waiting to become a civilian to actually really enjoy myself. So, I just hoarded all my travel days till the very end.", "So, I'm particularly fond of the military. I joined when I was 21 and I didn't really have that many skills available to me. I graduated high school and I wasn't the best high school grad, you know, many people in the military aren't and I tried college for a while and I was very, an on and off again student. I got a few Fs when I was there and because I was working two jobs at the time and you know, my days were pretty full. So, the military actually allowed me to have a semi-regular life, you know, like a semi-regular life. Because I was taking care myself, because I didn't have the support of my family, the military welcomed me with a job, a place to stay, some cash in my pocket, a skill set and that pretty much, once I got that grounding, then I was able to be very independent, very self sustaining for a long time. So, it's kind of, it took care of me in that way. So, do I love the military? You could say that I do. You know, it's the thing that allowed me to have a college education later on, it's the thing that allowed me to save up so much money and I think I'm doing pretty well for someone my age, so. As far as my job, my job as an Electrician's Mate, I didn't, it's not the job that I really wanted to do at the beginning. I wanted to learn languages and you know, travel the world a lot and I'm a nuclear technician. We weren't really allowed to do that because you're a nuke, you have to stay on the continental United States, So, I couldn't visit, I couldn't be stationed in Germany, I couldn't be stationed in France, which, you know, really, was irritating for me. And, I wasn't a very good engineer. I didn't have the engineering mindset when I joined the military at first. However, I grew to love my job because the training that they give you, they make you a real expert at it. So, once you find a job that you can do, you start doing well and then you start getting awards, you start learning more things on your own and eventually I said, \"You know what? Electrician's Mate is really cool. It's one of the best jobs that you can have in the military. So, I think it's, my love for the Navy comes from all of that combined.", "The Navy is very different than what I expected when I joined. I didn't really know that much about the military. My father was in the army and I should have had a better clue than what I did but I never, you know, I barely visited when he was in the army. He just came home and then, you know, took care of us. So, I had that same understanding that most people think about when they hear about them, the military, that is, that you're going to put on the hat, you're going to wear these clothes,you're going to, you know, go to foreign countries and fight wars. So, I did fight wars but I never really visited the country itself. My war was on a ship itself, on an aircraft owned by America. So, I didn't ever go to Iraq, I didn't ever go into Iran, I didn't ever go to Saudi Arabia. I didn't go to those places but I still fought the war, so that's kind of different than what I was expecting. I also bought into the mentality that everyday is going to be like P.T, physical training, good for you, good for me, but you barely work out. You are supposed to keep in shape. So, if you get overweight, then, you know, that could be a problem but for the Navy at least, as long as you meet the standards in the training which happens every six months, they make sure that you're not overweight, that you can do some push-ups and some sit-ups, then you're good to go and some people actually, they kind of skate around the system. So, people are a lot less fit than what I thought I would be doing. I thought I'd be like super buff, you know, model style but it's, that's not really expected of you.", "When I started my career, then I was an E3, which is the third rank that you can be in the hierarchy. Not a lot was expected of me. I get to work, they say, \"Go fix this pump\", \"Go work with that guy\" and then at the end of the work day, around like four or five o'clock, then, probably not much was really expected of me. They'd say, you know, \"Just go to your bed\" or \"We'll see you later\". It depends on whether you're on deployment or whether you're stationed at home but you might have to work, maybe one or two hours extra every other day. However, as I progressed, when I became an E6, which is a first class or a Chief which is an E7, then, after that normal work day of telling people what to do, you know, you're there the same exact time as they are, you have to do, like, the follow up at the end. So, for instance, they get done at the end of the day. So, now that you have that information, while they get to go home or they get to, like, you know, have that downtime, you have to go report that to other people. You have to do the paperwork that other people are requiring. So, you have to wait till the normal work is done and then you have to add on the supervisory specialization that you have to give at the very very end. So, you work more as you get higher in the rank.", "I moved a lot when I was in the military and I'm really happy about that because you keep hearing about America and how it's different in different places. So, I got to visit the four corners of America and I got to see the different lifestyles. So, I grew up in Alabama which is, like, down south in a black community. Everybody around me, my neighbors, everyone was black and then, you know, you go to school that's mixed but I got to see that. I grew up some of my time in Flint, Michigan which is a very urban place but it's on the poorer side. So, that glove part, you know, I know all about that. And when I joined the military, then my first school was in Charleston, South Carolina which is another down south place but I got to see, you know, it's little bit more mixed. Then I went up to New York, Albany which is nice green country and I got to visit 'The New York City', you know, very often so that was really cool for me, to visit such a famous place. Later on, I got stationed in San Diego and it's super hot, well, it's good temperature, it can be very hot as opposed to New York which was freezing cold and it's a very big city. You know, it's my style of, I'm not a country backwards boy, you know, like, climbing mountains and hunting. I am a city guy myself. So, I got to see San Diego which is, like, I'm from California originally so that's up my tree. And then, I finally got to visit Bremerton, Washington which is in the middle of Washington state and it's kind of country, you can own bigger houses there, you know, for much cheaper. So, it's much less expensive than California and I knew a lot of people who used to be Californians but then they, you know, changed over to Washington because the life is a lot easier. They liked having a five bedroom house with a big green yard for the kids to play in and nice and quiet neighborhoods, you know, so, a lot of people change. So, I got to see all those and eventually, I realized out of all the places that I visited in America, I'm a California guy.", "I've had a lot of cool experiences in the Navy. One that stands out, that I'm immediately thinking about is, when I went to Japan for the first time. I went to Sasebo and it's not the, you know, the most exciting thing that I've ever done but it was the first time that I was in the country that I wanted to be in, during the time that I wanted to be at for an extended amount of time. So, I was in Sasebo, which is at the very very bottom of Japan, like little city that you've probably never heard of but it's close to a couple of major cities. So, I think I went to Hiroshima which is the city that was bombed in the war, in World War 2 and that was an experience, just walking around, seeing the peace park and things like that. I went to Fukuoka, which is a really big city, similar to Tokyo, it's not as big as Tokyo but it has many of the same styles of buildings and highrises and when I was walking past one of the computers, this is what, in 2006, I noticed that it had a funny shape to it. I'm walking past and I'm like, you know, Japan is supposed to be one of the world's best electrical countries right, the ones with the highest grade electrical equipment. So, I'm walking past this computer and my eyes are kind of, like, kind of weird. It was 3D, which is kind of weird because I wasn't wearing glasses, this is just while I was walking so I looked closer and as I turned around the computer, the person was, like, looking at me and moving her face and stuff and that's the first time I had ever seen it. Even right now, this is several years later, I still haven't seen something like that. So, that's when I, kind of, realized, \"Hey, you know what? These engineers over here really know what they're doing and they're very advanced.\" And, I guess another place that I went to, was Australia. So, I got to pet the kangaroos and some koalas and got to eat at the Cadbury chocolate factory. It was pretty cool. It was good times then. So, I think those two are the best ports that I've had and the coolest things that I've done in the Navy.", "I've experienced so many great things in the military and I'm really proud of them. One of the best things I've experienced is this thing called MWR(Morale, Welfare, Recreation), it's morale, welfare, and recreation, and they provide you with pool tables and bowling and of all of these things that you can do around the community, hiking, skiing, fishing, all at very cheap prices, and sometimes they even provided the gear for it. I also had a great time with the USO(United Service Organization). So I'm not an active duty military member anymore, however whenever I go to an airport, there is always the USO there that takes care of me. I can put my bags down, I can sit back and relax, watch some TV, have some free snacks, so the USO and the recreation center when you're active duty, they are some of the biggest military perks that I've experienced.", "Some of the priorities that I would suggest for someone entering the field, well, me personally, once I found out that I was going to become a nuke, become a nuclear technician, I guess I wasn't going to, for about seven months or eight months, so I took some community college classes to, kind of, brush up on some of the physics, some of the math and I have to tell you, that was a very big benefit. I didn't know anything about physics, like, for instance, I didn't know like, what happened with gravity and shooting bullets and stuff and some common things that I would have gotten wrong but because I took those college classes, that helped me prepare myself better to do well in A school. Because I did well in A school that, you know, like, set me off on a big career path later on. But it's not just like, nuclear technician, it could be, for instance, electronics technician. You might want to brush up on some of your voltage and your current and your resistors. You could be a cook. You might want to brush up on, like, the different specialties of the flavors that you're going to be using or you know, ask some other cooks out there, like, \"What does it take to be good at my job?\" So, just kind of understand the field that you're going into and try to learn about as much of it as you can beforehand.", "So, I have to admit, many people who are actively working for the Navy don't really know how they fit into the big picture and that's by design. It's very specialized. So, for instance, as an E1, E2, E3, your whole entire world is to do this technical job, to fix a pump, to paint this wall and you might not see it but making sure that pump is fixed or making sure that wall is painted, makes sure that the ship can run. Making sure that the ship can run, make sure that the officer can fly a jet, making sure that that jet is fixed and that pilot knows his information, make sure that he can drop this bomb, making sure that bomb drops, make sure that the battle is won, making sure that the battle is won, make sure the war is won. So, when you are painting that wall, you don't really see how that is actually helping you win the war in Afghanistan but it does. So, the higher you get in your enlisted pay grade, the more you see that big picture. I'm an E7, so my responsibility is to know how this unit can help the civilians, make sure that this aircraft carrier runs fine and I think as officers, the higher you get, if you're a captain, you make sure that this aircraft carrier fits in this realm of the region so that, like we have power over there, we can dominate our foes. So, it depends on your pay grade.", "When recruiters look for new people to come and join the navy, they're looking for special special ideology not a special skill set. You can come in with nothing. You can come in with your GED, you can come in with C's like I did from high school and they will train you, that's not a problem. The ideology that I'm talking about is the fact that you need to be able to follow instructions. So for instance if you always got in trouble all the time and you can't follow directions, then that is a hit. A lot of people that would have went to jail still join the military because the judge thinks that they have the potential to follow directions if in the right situation. So the biggest quality that recruiters look for when they ask people to join the navy is \"Will you do what I tell you to do? Will you do what your supervisor tells you to do? Are you going to be drunk and get kicked out of military right away?\" If you sexually harass people then that's a big no-no. So someone who is moral, someone who follow directions, that's what they're looking for.", "If you wanted to get in good with your bosses or your chiefs or your senior chiefs, or if you're an officer, the superior officers, number one it would be good to have a good personality. Now everybody hates the fact that you know jobs like the military, pretty much any job is political. But that is, nobody likes to work around people that they don't like. If you're an introvert, it would be good for your career if you can kinda like express yourself a little bit you know, kind of be friends with the person that's working beside you. You know you might watch a lot of military movies and see guns, see people fighting and shooting, and you know like eventually you can see that they become a band of brothers you know even if they're girls but band of brothers right, that's the saying. And if you can try to you know live up to that movie stereotype, then that would work very well with your superiors because the key word, the only word that really matters for the military is teamwork, and the more that you can show that you're a team, the more that you can like relate to your peers, then that would look really good with your superiors.", "With any job it's incredibly important to have a good source of feedback for the jobs that you do. If you're in a position where like you supervisor doesn't give you the the feedback that you need, he doesn't show you the right way to do things. What the Navy is really good for is having multiple resources to go to. So of course if you have one chief above you and you're an enlisted person and he's not listening to you, then what they say is that you can go above him. It's not generally expected that you do that, but it is possible you know. Everybody from the captain of the ship all the way down for the most part has an open door policy, which means that if something is on your mind you can come talk to them. Generally they like you to follow the hierarchy. So the first question that they are going to ask is \"did you ask the person underneath me?\" so beside you, if you have a problem with someone above you, you talk to the people to your left or right. Then you talk to the people, let's say it's a chief that you're complaining about, then you talk to another chief. And then, if neither of those listen, then maybe the senior chief or maybe the officer of the unit and onwards up. So if you have a problem your feedback, then there are lots of resources that you can go to.", "The difference between working in the public and private sector, I would say would probably be, number one, the job security. If you're a public servant, it's very hard to get fired. That's a pretty common meme that we always say. You'd have to do something really terrible to be fired. You can not be promoted as much or you can get like pretty bad jobs but once you're in the system then you don't really get kicked out because of all the fairness laws in place. If you're in the private sector, then you have to realize that their main goal is to make money. That's the point of a business, to make money. So, number one, if you're not producing, if you're in the public sector, you just get kind of shifted around and if you're in the private sector, you get fired. So, you have to have a better work ethic, I think. So, for instance, in the public sector, there could be many days that you kind of just sit around, kind of with your hands in your pocket, especially if there's not that much work. You have high work and low work and during low work, then you're just not expected to do that much whereas in the private sector, they will find something for you to do because they're paying you. Otherwise, they'll just lay you off or something. So, it's two different reasons that you exist. For the public, your main goal is to serve the people and they want you to keep your job. They want to have the same workforce in play most of the time, so it doesn't really matter how the, what the job outlook is like. You're probably keep your job if they like your work experience and you're just kind of, sit there whereas the private sector, if they're doing bad, then you're doing bad and, you know, you have to maintain a good reputation, you have to, kind of, be smart and if you want to be promoted, then you have to, like, really show your worth more in the private sector. However, at least in the private sector, you get to make a lot more money. You're not on the federal pension system, you're not on the federal salary system. So, depending on what type of job you want to do in the private sector, you can make lots of money. I know some people who, like, can buy a house with the bonus that they just got, so, there's some value in that.", "The Navy is different than other branches in a lot of different ways but I think, about the second or third year that I was in the military, that I was in the Navy, I saw it as four different types, maybe five if you considered the Coast Guard. So, if you want to be the soldier that you hear about in the movies, then you join the Marines. They work out a lot more, they're the first people that start to fight the war. You have to, you know, be pretty strong and pretty brave, in the other branches too but more so for the Marines. If you want to be similar to the Marines but you want the tough lifestyle, you want the, you know, the rough, rugged fighting but you're more mechanically oriented, then you can try the Army. So, the Army, that's when you drive in tanks, that's when you set up communication systems in the middle of the desert. So, they're kind of Marines but they're not the first ones out there. If you want a, kind of, more civilian style job, then you join the Air Force. Air Force is known that you, it's known that you have some of the best equipment. For instance, at Travis Air Force Base, they have excellent golf clubs. They have, you have basically, a nine to five job. You can, kind of, sit in office many times. It's not always that case. You know, you can find lots of different jobs in any service but this is what was going on in my mind in the second year that I was in the Navy. So, the Navy is different from all of those. So, for instance, when you're on deployment, when you're six months, when you're traveling around in the middle of the ocean for six months, it's not like you're working out every day, also it's not a nine to five job in an office because you're working pretty much like, the whole day, you know, and it's not in an air conditioned office. It's sometimes down in the middle of the plants. The thing that the Navy has going for it is that you should be very technical. You should know your job better than any of your civilian counterparts. So, if you want to be known as someone who's like, pretty bright with when it comes to computers, when it comes to mechanical components, fixing machines, then the Navy is for you.", "A story that really shows what it's like to be in the military, I have to say will be Oliver Stone's Full Metal Jacket. If you haven't watched it, go ahead and watch it because then you'll understand what boot camp is like, and the time that he had after the boot camp scene was during a war and it depends on when you're watching this whether you are in a war or not, but I think everything from the way that they talk to each other to the uniforms that they wear, to the jokes that they make, it's very very similar to how military people act. So you should watch that movie and then you'll have a much better idea about what the Navy is like.", "Some of the most important decisions that I've faced have to do with morality I would say. So here's what I mean. The most important thing that you can do in the military is follow directions, but not everybody does that, unfortunately, and your tasks as a supervisor is to confront these things and take care of them appropriately. So this is what I mean. Let's say that there is somebody on the ship, coming onto the ship any he's drunk and he's not supposed to be drunk. What do you do? So you could either grab him by the collar and take him to the local Master at Arms this person in trouble right, and that's the right thing to do. Another right thing to do would be to chastise him, to handle it in house to make sure that he doesn't do it again to kind of supervise and mentor him, if you think that he's that type of person so you don't have to necessarily ruin his career. So basically it's a morality question, the type of personality that you have and how willing to stick to the books you are to make sure that you do the right thing. When it comes to things that are going on in the plants, things that are going on in the engineering field there's no morality involved. If that thing is leaking you don't think hey you know like should I fix it or not, it's not that big. No if it's leaking, if X then Y. But when you're dealing with people, people with personalities, people with emotions, people with families, you have to really take all of that into consideration and to determine the wise thing to do, not necessarily the thing that's written in the book.", "In the military, there are rules all over the place. Sometimes it's in the best interest of yourself and the people you work with to break the rules. This can be when you're giving some instructions and you yourself know the right thing to do. In those cases, you have to break the rules. So, this could be, an example could be, let's say you're supposed to do preventive maintenance on these three panels and because your time is, kind of, short, maybe the supervisor says, \"Only just do those two. Forget about the third one.\" Or, \"You're supposed to do all three of them and you're supposed to read the notes but just do it as fast as possible\" you know, and he tells you that you're supposed to do it in a time that you can't possibly do it in. So, it's okay to break his rules in order to do the procedure correctly. You should never disregard the procedure though. If it's written down somewhere in words, don't ever break those rules. If you want to get trouble, if you want to get kicked out of the military, then be my guest, break those rules and, you know, you're going to be the first one out. But when it comes to the things that aren't black and white, when it comes to things that are, kind of, morally right or wrong, then you have to think about it yourself and think, \"Well, what was I thought, that's right?\" and so, for instance, an example would be, if you're out and you're at a bar and there's this drunk person and you're supposed to, let's say, bring him home, bring him back to the ship. But you know if you bring him back to the ship, that he's going to get in lots of trouble, maybe he will be kicked out of the military or something like that. Maybe, in that case you'll probably be wise to, for instance, not show him around the town, not show everyone that he's a drunk sailor, not bring him back to the ship so that, you know, he can be, you know, court martialed or something like that. Probably better, you know, think about it as a wise person to break the rule in that case. Find a nice hotel for him and then call your Chief as soon as possible to ask what the right thing to do is. Even though it's past your curfew time, you know, it's better to, you know, think smartly and wisely what's in the best interests of the United States military and do things that take common sense rather than, you know, this is the rule, you have to stand by. So, things like that happen all the time in the military.", "You might want to try to develop yourself into the best sailor that you can be, and when you do that, when you want to try to do that, that means that you have to take on jobs that aren't usually easy. So it all began when I joined the join the military. At first I had the opportunity to take normal jobs, slightly higher jobs, and in their most advanced field, nuclear technology. So that's what I chose to do. I didn't take the easy route in that case and for me it worked out really well. As I became a nuclear technician then lots of jobs start popping up for you so again you have to decide well do I want to have an easy life, have a normal nine to five job. Do I want to go home at the end of the night or should I try this supervisory position that you hear that they have to stay on the ship later, they have more responsibly put on them, they're blamed a lot more for things. So basically you have to make your life worse some people would say, but I think it's just more responsible. Just like with any job the more responsibility you take, the more risks you have of getting in trouble now because you're taking care of this work center your blamed for that work center if something goes wrong. However if you can do your good job and have that work center be better because of you. You tell the people what to do and they have less of incidence of failure you bring your boss down there and say well this is the way it used to be but I told this person to do X, this person to do Y and now this person is better because of that. So now that supervisor that's in front of you will give you an award for that so the only way to progress yourself, to become a chief, senior chief, master chief, is to put yourself in that role to take on those risks of failure and ultimately reap the rewards.", "There are a lot of reasons that people leave the military. The military has a lot of great reasons to stay, the retirement benefits, the job security, serve the country. However, I think especially when people want to make a higher salary, and they find a good job outside and they want to just try to do something else, then that can be a good motivating factor. The military can be very dangerous, especially like for the people that send the planes off. If you do that you know every single year, month after month, day after day, then that could affect your hearing. You can be in many dangerous situations and some people just don't want to do that type of job anymore, that can be risky. Another reason that people leave the military is because they want to see their family grow. When you're on deployment that's a good six months that you don't see your daughter grow. You don't see your son grow, you're not with your wife, you're not with your husband. So after a few of those deployments, you kinda start to miss that, you actually want to see when your spouse has their kid you know. If your wife is pregnant you want to actually see it be born. And I know a lot of people who weren't there for that, so that's the third reason that I see a lot of people leave the military.", "The biggest struggle that I had to overcome, to finally be a Chief in the United States Military Reserve, to be a Master's student at the University of Southern California, I had to really fend for myself for much of my life. I've had family that's taking care of me, I'm very thankful for that. All the way up until I was eighteen. After I turned eighteen, then I split from my father and I hadn't really seen too much of my family after that. So, I had to support myself, my own finances. Yeah, when I was eighteen, I had, like, forty dollars in my pocket and I think I was working part time at McDonald's and, you know, just a few bags of clothes at my feet and that's all I had in the world, you know. I guess everything I had was, you now, a couple of hundred dollars worth, maybe a hundred bucks worth, and that's it. So, I had to get from that to somehow getting a job with a good career that I could support myself and pay for my education eventually on my own and many people are like that. When you're eighteen, you know, you can get a job and you know, kind of support yourself but throughout this whole entire time, even when I wasn't in the military, I had to, you know, buy my own place, you know, support myself with my rent, with my food and without any skills, it was really difficult, I have to say. So, if you have a family that can support you during those times, that you can always go back to them if you lose your job, if you have to borrow the car, like little things like that, I didn't have. So, getting past that was a big step for me, it was a real challenge for me not having a family but eventually, I eventually joined the military and from that point on, everything was pretty much handed to you. So, they're my second family you could say, and they took care of me.", "Probably, the biggest failure that I've ever had in my life would be the time that I applied for the Naval Academy, that's the United States' main way to produce their admiral oriented officers. So, I applied there as a 22-year old and I got rejected. I joined the nuclear navy in order to have a better chance to go to that school and I was doing really well, I was one of the top students in my class and I was really fit and in shape and I did everything the right way but when it came time to apply, I put that I wanted to do a humanities type job when really the Naval Academy expects you to have a technical job. So I said, \"I think I want to major in economics or something because they can learn languages\" and I didn't think it really mattered what you applied for. The only thing that matters is that you're an officer and then they will send you wherever. So, I thought maybe economics would be, like, a job that I could, like, kind of enjoy, and you know, I like the type of math that they do and, you know, it's kind of business oriented but really, they want electronics technicians and math people and computer science people, you know, more than economics, so. The XO called me and he's like, \"Well, you know, if you would have done that, then maybe we would have considered that.\" So, it feels like, ever since that day, I should, like, I wanted to go back in time and kind of change what I put on my recommendation so that I could've actually went to this really high level school and it didn't work out that way. So, instead I was a nuclear technician for eight years and I learned lots of things. I'm very happy for the job that I eventually did instead but if I had to do it again, then I guess I would have tried to make a better shot for the Naval Academy.", "If you try your best or you follow the directions as good as you can, then you have my word, you have nothing to worry about. If something goes wrong, for instance, like, let's say that there's a piece of equipment that doesn't work the right way and you can't complete your mission, then, of course, they might say, \"You know what, like, you should have done more preventive maintenance on it or you should have looked at it better\", but no one's going to fault you for that. If for instance, something else goes wrong that you tried your best to complete and for some reason, it doesn't work out the way that you expect, then you might get talked to, you might get, you know, because the responsibility is there, someone has to blame someone and it could be you but you won't get punished for it, which is something that I'm very proud about for the Navy. They're not going to bash people for doing quality work.", "If you have a bump in the road in your professional career, you have to shake it off. There are many times that I personally had lots of bumps in my military career, that it didn't work out the way that I wanted to. So, for instance, an example is, I wanted to go to the Naval Academy when I first joined the military. They didn't accept me and I thought that was, it's the last time that I could apply. I was 22 when I joined or when I joined and tried to apply and the limit they can be is 23 and I was at that point. So, the next year I wasn't able to apply and it just, like, set me back. It felt like it really set me back. It's one of the biggest heartbreaks that I had in my life. But, you kind of, make a plan B, you look at the future, kind of, see, like, where I want to go and take that goal and you put it on your new plan B and then it should, you know, if you have the right determination and drive, then you should still get back on track somehow. So, in order to get back on track, you have to talk to your people, you have to talk to your mentors if you have any, you have to, you know, take something from yourself and say, \"You know what, even though I won't get there as fast as I was going to or as easily as I was going to, is it still a goal worth going on this new path?\" So, for me, one of the reasons that I wanted to go was, obviously to make sure that I take care of people, that I, you know, I present a good, I'm a good worker for the American people. So, I took that goal and I just did it through normal universities, I did through my nuclear technology work, I did it through research that I'm doing right now and I still think that my end goal, which is making cool products for, you know, cool computer science products and, you know, awesome new and exciting things. I'm still going to do that no matter what. So, if you have a bump in your professional career, just take a reset, do some extra education, maybe talk to a lot of people to get you back on track and you'll be fine.", "A pivotal moment for me was the first time that I was accepted to UC Berkeley. Obviously it's a great school and anybody would be really proud to go there but until that time, I felt, even though I was in the nuclear navy and you're allowed to have a really good job at the end, I knew that that job, being a nuclear-trained operator in the civilian world or even as a navy person, that wasn't for me, so it's kind of, like, I had to start fresh, and I did. After the military, I decided to be a computer scientist and I wasn't the best computer scientist around but I did have the good work ethic and it was obvious that I was trying really hard but I didn't really have a strong sense of my own confidence until Berkeley said that they were accepting me. That's when I knew, \"Hey, you know what? There are people that have been trying their whole entire lives to try to get into this school. There are people with 4.0s, with perfect SAT scores that are trying to get into this school\" and for them to accept me, that's kind of, validation for me. I know going to university isn't validation, any type of university isn't validation but it's something that I was trying really hard to do and I was successful at it. So, I consider that maybe one of my first major successes. Being in the navy was one of them and getting the UC Berkeley acceptance was another one.", "Some of the crimes that people commit when they're in the military almost always deal with drinking. So for instance, let's say there's a robbery, chances are there's alcohol involved. If there's a crash, there's probably alcohol involved. If there is a fight, chances are there is alcohol involved. So I say that the common crime is drinking alcohol, but that's not a crime in itself. The other things are kind of collateral damage, so yeah if you're on a ship for a year, then you will see that somebody has robbed, one person on the ship has robbed somebody out there in the world, you will hear about four fights, five fights that got people demoted, and you will hear about three drunk driving's. Maybe there was no crash but they just got caught for it. So those are the common crimes that I see committed.", "So, if you're in the Navy and you find out that you don't like the job that you're doing, the best thing I can say is, at least for a short amount of time, you have to suck it up. I know some people who didn't want to be Machinist's Mates but they were given an option of like three or four jobs, they chose something else and then they were given that Machinist's Mate job anyways. So, at the end of four years, and you have to do your four years, they lived that life, they learned those things, they did that training, they did that job and at the end, then they left and did something else for the civilians. You can't really change your job after you have decided to do it. So, me, I've been an Electrician's Mate this whole entire time and there are very very few opportunities that I could actually change. I could've been an officer and then my lifestyle would have changed or I could have chosen my command later on in my career. That would have changed my lifestyle but it wouldn't have actually changed my job itself. So, I guess one big suggestion is make sure that the job that you're getting yourself involved in, is something that you think you could really do and have fun with.", "When you're on your ship you have a lot of opportunities available to you. Now I won't lie, the bigger the ship you're on the more opportunities that are available. So you have a really small ship let's say a destroyer, that's not small but like the destroyer is I guess a ship that has maybe a couple thousand people on it. It's kind of like a high school you could say, the size of a high school. And there aren't that many things to do. I've never been on a destroyer but I just know from my experience with the aircraft carrier. It has to have less than what I had and at least for an aircraft carrier which has five thousand people usually. When we're on deployment we have, it goes up to eight thousand people when you add all the people that come in with airplanes, and the people that take care of the airplanes, and the extra officers and enlisted people. Eight thousand people is the size of a small city. So on an aircraft carrier we have our own post office, we have our own little recreation center. We have a couple of places for fitness, but in general it is a war craft vessel. Therefore there aren't that many, there are limited places that you can do, that you can have on the ship that cater to entertainment. So people find their own entertainment. So for me, my entertainment on the ship was I'd watch movies all the time. So everybody has their own little laptop or their DVD player, you can rent movies from the little recreation center that's there. They had bands in little hidden spots of the ship. So there would be drums and guitars and you know like even keyboards all hidden, but that did they make space and you know they play as loud as they want. Obviously the fitness centers are there, and you can see card playing all over the place. Whenever there is a rack, a living quarter, then there's this little table outside you know like three or four of them. With couches to watch TV to watch movies and to play cards right there, so that's how we spent our deployments.", "So, it depends on what your rank is but the people that are above you, they're the ones who kind of tell you what it is you're supposed to be doing. So, if you're one of the lower pay grades, then, in the morning, you kind of just sit around and you wait for them to pass out the work to everyone. A Chief will come in and say, \"Okay you're on pumps today, you're on valves today, you're fixing the drains today, you're in the bilge today.\" Chiefs are the ones who actually tell people what to do. So, they don't need to be told what it is they're supposed to be doing because they only have one job, which is to hand out the work. On the other hand, Officers, has basically the same pay grade, the same direction of flow. So, for instance, an O1, O2, O3, they're told by the higher level people who they're supposed to be managing, \"You're supposed to be tagging along with these people\", or I think for Officers, their main goal is just to be, to train themselves. So, they hang out in their room or they hang out down in the plants, just studying. So, Officers have a lot more opportunity to self-study. Enlisted people, they will know exactly what they're doing for the first two or three years of their career.", "I think that there will be two major things that anybody who knows you would kind of think about you after you join the military. Number one is they'll give you a lot of respect. They know what the military does you know, everybody knows like how the military you know fights these wars and if they're Americans then they probably have, they give a lot of credit for risking your life for them. Number two they will probably be scared. They'd be scared for your life, especially if you're going to go fight a war, and they'd be scared for your safety, because the military has a lot of dangerous places outside of war. So respect for you and fear for you. If you can kind of manage those two, then you can kind of convince them hey you know like the military could be the right choice, and as much as you want my safety, you have to realize like the job I'm trying to do is for everybody's benefit.", "When it comes to balancing your career, for instance, like I'm a computer science major right now but before I was in the military but in both cases, you always have to make sure that you have enough time, later on in your life, so that you don't disregard your earlier work. Some people say, \"Okay, well, I'm going to have a job that's so so, or that I don't like for eight hours of the day and then I'm going to, you know, suck that money and then use it for later on in life. You know, I have a nice car and I have a nice house and then, you know, like, we go on vacation because of the sucky job that I had earlier and I don't think that that's a good balance. I think that you should really try to find a job that you would do for much much lower pay and that's the job that you can really do all day if you wanted to so you don't think of it as such a pain. It's not like you're, one hour before the time ends and you're like, \"All right, let me go home, let me go home.\" If you're in that type of job, then I think you should start looking for another type of job and then if you do that, then balancing is really really easy. You can be either place, you can have, like, all day with family or you can be all day at work and both are okay with you. You know, it's not going to be like, in pain with either one of those. So, find a job that you love and make sure that your family life is cool too, your home life if you don't have a family is cool too and then there's no balance to be had.", "When you're in the military, especially when you're on deployment, when you're, the ship that you're on is traveling overseas, it can be pretty difficult to stay in touch with family. If you're a high level supervisor then you have access to your computer and it always has internet. But if you just got to the ship, or you've only been in for a couple of years, then it could be awhile before you get behind the computer that allows you to make email conversation. Also you don't have access to phones as much as you would like, and if you do, then have to use a phone card and that can be pretty expensive. However you can kind of tell your family you know my contact with you will be limited, and you can probably still can get a hold of them a couple times per week, no problem for an hour or two and send out emails whenever computers are free, which could be a couple times per day.", "Leaving the military is great. For every year that you're in you, get thirty days. You can do that, you can save up your leave, to a maximum of two months. There's also lots of different leaves that you can take, terminal leave, job finding leave, house hunting leave. It's, they give you lots of time off to do the things you want to do.", "The Navy gave me an opportunity to explore the world. I've been to mostly Asian places, Asian oriented places because my ship was stationed in San Diego, so that means we have to go a little bit more west. So I went so Hong Kong, Malaysia, Kuwait, Japan, Hawaii. I've been to Singapore, I've been to Australia, a couple of places Hobart, Perth. I've also been to Kuwait and Bahrain, also Dubai. I'm really happy with the things that I've been.", "While you're on deployment, while the ship that you're on is out there in the middle of the ocean, we do have internet service. However the computers that can access that internet are basically being used a lot for for work related things. Most people have laptops, but they're mainly used to watch DVDs, to you know do their little odd non wifi connected things. There's no wifi on the ship, there's no outside communication in that regard. However, there are, you can still access Facebook, you can still access Google, you can still access normal internet things, but to be able to get behind a computer and use those things, you'd have to be a high level or it would have to be like for instance in the middle of the night. And even though you can access those things, there are probably some procedures in place that says you know you should limit your use or don't use those things at all. Like for instance social media, normal web browsing is fine, but don't expect so much of it. I didn't really use it so much.", "During the vast majority of the time, alcohol is not allowed at all. There are lots of young people and the commanding officer doesn't want to see one sip of it go into their mouths. There are a few instances where alcohol is tolerated. I think I saw maybe four or five instances while we were deployed that everyone got a blue ticket, and you give your blue ticket to the guy, the whole ship stops, nobody's working, except to make the ship you know like kinda sit in the water and make sure everything's safe. But for that one day that one evening you give a blue ticket, they give you one case of alcohol, and then you're done. Yeah some people would kind of like swap something out to get like two or three, but no one was drunk. It's just to get some alcohol on your tongue, and then that's it. Later on that night everything was cleared, all of the alcohol was gone, and back to work as usual.", "Personally, I don't know anyone that I knew by name that has died in the military. However, I have witnessed, well not witnessed, I have known of people who have gotten seriously injured. So for instance, someone that I spent a couple years with on my first aircraft carrier, that person became a chief, and he went to the next ship and unfortunately he was in a very large circuit breaker accident. All the navy heard about it, and it especially affected his last ship. We all knew him. That's just one example. Every now and then you hear about people falling down stairs or you know running down and like hitting their head on one of the thin windows, the thin sills of the doors. Or gettting their fingers trapped in some kind of door. Or minorly some electrocutions, but death I haven't experienced so much of yet.", "Sexual impropriety comes in lots of forms in the military. One of the things could be the way that we talk. So, in the military, there aren't, you know, at least in the United States Navy, there isn't a good gender balance, I think, from what I understand, it's maybe three girls to seven guys, maybe even less than that on an aircraft carrier. So, there can be some cat calls, there can be some kind of playful, you know, communication in the work center which, you know, should not be allowed but obviously, it does. It doesn't get too out of hand but, well, when it does, we call people out on it. Some things could be when I see some of my shipmates post pictures on their wall. So, it can come from, like, Magazine or Maxim or even Playboy in some cases and it's posted up on the wall and then after a few days, you, kind of, like, see it like, \"Hey, what's that? You know, you have to take it off.\" Or, you could be out in port, let's say you're in a foreign port and you're drinking with your friends and some person comes over, it could be a guy or girl and, you know, there could be some kind of grabbing or some kind of, like, improper touching. I've seen it, very often and you have to call it for what it is and some people get kicked out of the military. I knew that there is, when I was on the reserves, I heard about this guy. He had been in for, like, twenty years or maybe longer than that and he actually grabbed a female by her rear and she called out on that and he had to quit his career and he actually had to leave without getting into retirement. So, things like that happen and it's unfortunate but, if you happen to join the military, just make sure that you keep your mouth where it needs to be and your hands where they need and you shouldn't have too many problems.", "Sexual harassment is a really big topic for the US military. I won't lie it is very very apparent. It's common throughout the whole entire time that I've been in the military. People don't generally take it too far. There's lots of training that we have, we have it all the time throughout every single year about don't touch people, don't say certain words, don't post certain pictures. However, when you get this many young people, in their twenties, young twenties, around each other, they're college level, they're college style people, then with this type of young personality, it's gonna pop up. It's going to show up. Even though they know that they're not supposed to. You can see it in the bars that we go to, they kind of forget that they're still in the military. So outside of working hours you can see them kind of drinking and kinda you know hugging each other, like touching each other inappropriately, that happens a lot. However, whether it's guys and guys, girls and girls, guys and girls together, generally because we all work together, we're all friends, we don't want to see each other get in trouble. We take it for what it is. If it gets out of hand then you know it does show up, and I have seen people get in trouble big time for this. But for the most part even though it's there, it's very very limited, and I think it's manageable.", "The most important things that you can put on a resume are, number one how you worked as a team concerning the job that is being applied for. So for instance if I was applying to be a mechanic on a submarine, then I'd have to look at my past and say okay well what things are associated with the submarine, right, and then that I did in my past life, and then how did I work as a team to make that project better. So maybe you were a car mechanic before and you're trying to apply for this mechanical job, then you're gonna talk about the other teammates on your car engineer team that you talk to, that you provided support to, that you supervised, and obviously the dates so that they can see that you have a big range of experience with that.", "The person who probably gave me the best advice about my life I have to say, it would be my friends, especially my Navy friends. I have a good friend he was a fellow nuclear electrician with me, we've been learning computer science together, we fought through our electrician trainings together, and he went off and did his own thing and just a conversation that we had you know like sitting around with some coffee or some beers, we talked about like well what do you want to be? Well I wanna be this. What do you want to be? For instance he actually taught me a lot about mortgages and stuff. I read this book that he presented its called Rich Dad Poor Dad by Robert Kiyosaki, and after reading that book then I kinda got ideas like okay rather than the cubicle thing I probably want to make my own business or something. I'd rather you know like have some kind of other income rather than a nine to five job. Or rather we would talk about his prior relationship and the fact that like his wife maybe didn't want to work so much. And we thought about like the income and outcome of his of a one working party system. You know like if one person doesn't work and the other person just takes care of the kids, then I guess you can't be as rich as you normally would be. So that had an effect on me, the person that I wanna meet in the future. Do I want like a housewife, which is fine you know. She could have a decent life making kids and you know making dinner and you know folding clothes. Or do I want a someone who's working, in which case like my clothes would suffer, my kids who suffer, my household chores would suffer you know. So like things like that are very very important to consider and to consider wisely and the fireside chats with my friend actually got me to think about my life, my future life very very very hard.", "I went to college after I did the military. I think that's one way to do it, but you have a wide range of opportunities for college. If you ask if you should go to college before you start serving that depends on what you wanna do. If you wanna have a very good enlisted career, and you don't plan on becoming an officer then I suggest that you join the military right away. Officers need a college degree, so if you get the college degree first then you can become an officer as soon as you join the military. You can apply to become an officer and every year thereafter, however you probably wouldn't start your career four years later. So that could be a hindrance if you wanna have a full enlisted career. For people that aren't sure what the what they want to do, I still suggest that they join the military right away because you can go to school while you're in the military. I took a few classes myself. So if you decide that college isn't for you then you didn't waste those four years. Also military college can be free in many cases. It can be very very cheap, they have the tuition assistance that can reduce the price by a few thousand dollars or ultimately make it free and you can down take lots of classes during your off time. So that means you can kill two birds with one stone, you can get the work experience and you can do college at night time. For some people like me, I didn't want the military work to interfere with my school. I wanted to get As, so that's why even though I wanted to go to school the entire time that I was in the military, I waited until I got out so I could use the Montgomery GI Bill, so I could go to a very expensive university, and so that I could really focus on my school without worrying about work in the middle. So between going to school in the beginning if you want to become an officer, going to school during your career if you're thinking about making the military a career itself, or doing college at the very end, so you can enjoy the Montgomery GI Bill, the post 9-11 benefits, and all the free stuff. You have to decide where you fit in that range.", "So when you come into the military from day one you are provided with many opportunities to grow and expand yourself. So, even in boot camp, some of the tasks that they provide for you, that they ask you to do are kind of complex. So some people, let's say they were really good in high school. It can be very easy for them, they understand the math that's involved, they understand how how the physics works, how to tie the knot. But for some people it could be the first time that they've ever seen it in their lives. Maybe they've never even been on a ship before you know so be a lot harder for them. So, the cool thing about the navy is that it gives you all the resources that you need, hands down. So if you don't need it then you probably won't use it but if you do need it then it's all a matter of asking a chief \"Hey where can I get help\" or a matter of going to your local library and getting that book. The biggest thing is that there's gonna be someone to your left and someone to your right that can work with you hand in hand to make sure that you complete your job. But what the Navy doesn't want is someone who can't do their job who is trying to do their job because that's gonna get someone killed. So they make sure that whether it's tying a knot or painting a ship or it's going down and fixing the pump they're gonna make sure that you can complete your job and if there's any question to it then they're not gonna allow you to do it so.", "You can change career fields after a while, either in the military because you've been doing your job for a while and you can choose your next command that you go to or you can try to do a job that just requires your pay grade but doesn't require a specific job. Like, for instance, Electrician's Mate, I am an E7, so I can do an E7 job, a Chief job that doesn't require Electrician's Mate itself but those are few and far in between. So, once you get out of the military, if that's the choice that you choose to make, then I think that the skills that they provide you, for instance, math and science and taking orders, those can be applied anywhere. So, as long as I'm in a technical field, I think as an Electrician's Mate, I can do anything from working on aircraft carriers to working in the academic field. Right now, I'm a computer science major and I'm still using some of the Electrician's Mate things that I learned. So, your opportunities to expand your career greatly widen after you get out of military.", "The person who gave me the best advice about my career would probably be the people that are really close to me when I was going through each of the jobs that I was going to be. So for instance it would probably be the people beside me when I was going to school. That would be like maybe the teachers or the instructors. Once I got to my first ship it would probably be the chiefs and the senior chiefs who kind of gave me at least some kind of motivation to be like them. They didn't really teach me, well I didn't get the advice from the things that they showed me, but it's more like the way to be a chief, the way to be in the military you know. That part is like more valuable for me wanting to stay in the military and keep in the military rather than like this is how you charge an electrical device or something like that so. After I got out of the military, I actually was looking more towards the people not even in the military. So I'm in USC's, University of Southern California's Institute for Creative Technologies, and I've gotten a lot of really good advice for my military career from people who aren't even in the military themselves. Just because they have, they understand what it takes to be in the military and where the future of the military lies. And kind of without that advice, I guess I wouldn't think about the military in a civilian type of way. So I'm really thankful to all three of them, the instructors, the chiefs and senior chiefs, and the civilians who had an influence on my life and my military career.", "The field that you want to work in is specifically guided by how well you did on the test. So basically you rate. So it's very important to kind of, if you do want to work in a demanding field, to try to score as high as you can. If you don't get the job you want when you tried first tried, then before you join try to you know bump it up a little bit you know, to try to get that job. So once you're in the military, then there's gonna be a big range of jobs that you can do. You can work in the library, you can work you know with electrical components, at least for me as an Electrician's Mate I had a wide range of things that I could do. So if you're trying to ask which job I can do, which job can I apply for, a lot of it's kind of political. A lot of it's well you know like we've known him for a while, he's been on the ship for a long time so like he has a choice. Since you just come to the ship then like this is the only job that we have for you you know. You could be painting this deck or scrubbing this floor, right that's the job that we have for you. But if you've been in for a lot longer then you have a little bit of leeway in asking for jobs, and again you know within your rate, it depends on how high you score. So for instance there's going to be people who will be providing work to other people who are going to be writing it down, writing their job descriptions down and providing it. We need those people to be some of the brightest so if you don't have a good work history, then you might not be able to apply for for that job. So number one try to score as high as possible, and number two try to learn on the job as much as possible, and that's how you can get the best job that you want.", "Once you join the military then you're a part of a group that really wants you to succeed, especially educationally. So we have this thing called tuition assistance, it provides you $2,500 per month, actually $2,500 in one year to take any community college class that you want. We also have the Montgomery GI Bill, which was changed to the 9-11 educational benefit for people who have served and who get out of the military and want to continue on their, continue their education. You can use it while in the military but it's kind of a waste because they don't give you as much as people who get out actually get. There's also Ihis thing called CLEP (College-Level Examination Program) it's basically they allow you to take some courses that provide community college course credit, that's specifically for the military, and many of those CLEP courses are free. So you can actually like work towards your college degree with those CLEP courses for like while you're on deployment, which is when you're out fighting a war for six months, or when you're back home on shore during your off time. You can also like do some kind of online community college courses or you can take university courses. They provide lots of veterans benefits, maybe free benefits that you can take the class or a reduced price.", "When you're transferring to civilian life, it really depends on what type of job you had when you were in the military service. So I was an Electrician's Mate, which means that the word electrician is a part of lots of jobs out there, so it shouldn't be too difficult to find a job that kind of fits my job on the ship. I was also a nuclear technician and obviously there are much fewer jobs out there for that, but they can be found. So every job in the military has a basic breakdown of all the things that they performed in very general categories. So some are more transferable than others. If you worked on nuclear weapons then chances are there aren't that many jobs for you. Comparatively there aren't that many jobs out there. However, if you're a cook let's say, then you know every city, every town, every shop, every place that that has shops for cooks has a job that you can apply for. So it really depends on the type of job that you get.", "The person that influenced me the most, I would have to say is, probably Hermann Hesse. Hermann Hesse is an author from Germany who wrote a few books. He wrote Siddhartha, which is one of my favorite books. Demian, which is another. If you've ever heard of Steppenwolf, he's the one who created that, you know, the band called Steppenwolf was named after one of his books and I've read most of his works. It taught me, well, his works taught me that, number one, there are really some bright people out there who are masters at their craft and I kind of got faith in humanity because of him. Now, I'm a STEM person and he is as humanities as you can get but despite that, I like the way that he presented what was on his mind through paper, to me. That's kind of the way that I try to make my code. I try to think, \"Well someone's going to be looking at my code later. So I have to make it very very clear. Even though it's a complex thing that I'm writing, someone has to be able to, like, look at it without me talking to them physically and understand what it is that I'm trying to, that I'm trying to present.\" So, yeah it's a big jump to go from literature to computer science, you know, thinking of it the same way but he developed me mentally, based on the logic that his characters, you know, went through, like, I've had, like, difficult times in my life and I saw that his characters, even though, well this is 60-70 years ago, his characters went through some of the same things that I am going through. So, it's kind of, like, watching a really good well-written movie when I read his books. He's pretty much the only novelist that I read. So, Hermann Hesse would have to be someone that really inspired me.", "An early role model for me would have been, his name is Ronald Jester, he was a GM mechanic. I was, I guess freshman, sophomore in high school and he is somebody that found me at one of the buildings that I was that. I was speaking German with my brother and because I used to live in Germany, I could speak it, you know, like, a little bit and he was, you know, German origin. He went to German church and he's downstairs in the basement of this building, you know, kind of, tutoring other black kids and he was very interested and like, \"Hey, I hear the language of my family. What is this, you know, in this place?\" and he was like, \"Those two black kids over there are talking.\" That really freaked him out. \"So, tell me about your story\" and we kind of told him about where we lived and about our mom and our dad and, you know, how we bounced around from place to place and spoke a little bit of German. So, he could understand that we're kind of bright. So, he said, \"Hey, you know, why don't you come over to my place? You know, come to our German church\" and, you know, like, and he introduced us around and that's how it started. So, his family was white, his mom and dad obviously really raised him to be, you know, a very respectable young man in the community. You know, he had his own house, he was 26. Three bedroom house and it was really nice and clean and you know, it's something that we really weren't used to, you know, back in my family. I guess I had my sister, she was ten years older than me, she was 26 as well, you know, she had a couple of kids and my mom, you know, she was divorced, so, like, it was all of us living in this one house and, you know it's like really cramped and it wasn't exactly dirty but it was very, in an impoverished area but he lived in Grand Blanc, Michigan which is a nicer part of, you know, Michigan and, you know, everyone has gone to college and the church, you know, everyone was like a community. It's very, two different aspects of life. So, that's the first person that I actually saw that really inspired me, really taught me the difference between what education is and what your life could be if you didn't have education. So, you could say that he was one of my first role models.", "The plan that I have to reach my life goal is to live, and what I mean by that is, I'm doing it right now. I'm doing it today. The goal for me, it has already been accomplished, which is waking up every day, enjoying what it is that you doing. For me, I like going to school, I like doing research and I am doing that right now. For the military, I like being a supervisor and making sure that the people that I work for are, don't have any problems, can come to me with their questions and I have a ready answer for them. So, my goal has already been fulfilled. Of course, I want to, you know, progress even further in my career and the sky is the limit. I want to be a billionaire, I want to eat nice food and travel all over the world but if I don't make those goals, yes I'll be disappointed but I won't be disheartened because I'm enjoying the life that I have already. So, because I don't have, because I'm already doing what it is I want to do, you might think that I'm not motivated to continue to try to become something better, but it's the exact opposite. It's because I like the challenge of whatever I'm doing right now that makes me want to, you know, become even higher later on in life.", "Depending on the type of job you have, the amount of training that you've done before really comes into play into whether you can get that job later on or not. So you can start your career without any type of training, and the military provides all the training for you. There are other STEM jobs, for instance if you wanna go to NASA, if you want to work at DARPA, like really high level places like that, that you need a degree. You have to have a bachelor's of science something that's accredited by an institution to even be considered for the job at all. So in that case, your training is definitely required. Not only do you need a degree that says that you can do the job, but you're gonna be tested and grilled during the interview process where they're going to see if you learned the thing that your degree says that you do know. So in those cases it's very hard to have that degree. Middle jobs in between, it varies. They're gonna really grill you pretty hard during the interview process with questions that you don't really know about. Simple questions and hard questions. The simple questions of course they're going to want you to know, the harder questions what they're looking for is the way that you're trying to solve the problem. They're not going to expect you to know, maybe you'd have to be seasoned to know it, and they want to see the way that the question stews in your mind. They want to see if you know how to attack the problem, and if you know to ask them the right questions, to ask your teammates the right questions, so that they can provide you with the answers so you can finally come up with a solution. If you can't, you don't have a structure in your mind, then you probably won't get the job. So for those types of jobs, you just have to have a basic introduction and you learn the rest on the job during your work experience there.", "For me, the most important factor that could change my future has been the same for the last twenty years and that's me, myself. If I can somehow make myself motivated, give myself some kind of strength to be a better learner, do better at my homework, you know, somehow get in the gym and start hitting those weights, be a better person all around, then I'll get to where I need to be. If I stick around, just playing video games all day and kind of, just hang out with my friends and not really pushing myself, then I'll still do fine but I just won't be exceptional. That's what I need to be. So, I think it depends on myself, that's the biggest factor. Of course, friends and family can help. If I have a mentor, you know, that always helps. If I have other the people that depend on me, then that's another motivation factor but if it doesn't come from me myself, then I won't get to where I need to be.", "When it comes to learning a new task, it really depends on which career path I'm on to dictate, like, how much time I spend. So, for the military, I try not to spend so much time learning new tasks on my own time. There are many opportunities that you're not doing anything. For instance, when you are on a watch and everything's fine with the plants, where they suggest, \"Hey, pick up a book and start reading yourself.\" So, those are opportunities to learn, not on my own free time. However, in the civilian side, where I'm a computer science programmer, almost all of the big major learning that I do, is on my free time. Besides homework in college, for my actual job, during your working hours you're expected to actually do your work and if you want to improve yourself, if you want to learn another computer science language, if you want to learn a new tool, if you want to learn new software, then almost all of it is on your own time. So, that could be, during my most intensive phases, could be one or two hours at the end of the day, non-working time that I spend improving my own knowledge.", "Some of the ribbons that I've received include the pistol ribbon and the rifle ribbon, both experts. I received the sea service deployment ribbon, which means that I went on a ship. Some people in the Navy don't do that, so the ones who do, they get that. I've also received a expeditionary ribbon for my ship because we did a really good job out there when we were doing training, and I was a big part of that. I've won a few other ones, in total I've won about thirteen more.", "A lot of my inspiration comes from myself. Particularly, I'm a designer so I just sometimes just sit by myself and I think, \"Well, what problems does the world need taking care of?\" You know, like, there's water that needs to be had in Africa or there's, I don't know, a building that needs to be built bigger or there needs to be like, a different type of game that I want to see in multi-person online role-playing games or something. So, lot of it comes from myself. Of course I can watch videos like YouTube or I can you know, hear people talking and then like, get inspirational from that but I think that the best types of ideas come from, you know, your own past, the things that you witnessed in your life and then you make new things, something that no one has ever thought of. Those are the best types of ideas that I think should be created.", "So some of the technology that I worked on in my career as a nuclear technician, it's kind of divided into two parts because the nuclear technology field is divided into two parts. The first one is electrical things, I'm an Electrician's Mate, so I used many components like a watt meter, a volt meter, oscilloscope these are all equipment that you use to touch things around the plant to get readings on them. See what their oil level is, see what they're voltage is, see what the current is, see what the power is. So they're really used all throughout America as electricians as use them. The other part of my job, the nuclear technology field, is very specific most of the time. But if you think of Homer Simpson, he was a nuclear technologist. It only deals with things that the uranium cycle can do to make power. So some of things that I worked on deal with the nuclear part of the aircraft carrier and the way that it makes the ship run. So for instance it makes electricity. So for instance I worked with turbine generators. The nuclear technology of the aircraft carrier makes steam, so the steam will power lots of different things all around the ship. So all of the valves that it takes to make sure that the steam goes to the right places, so that a spin pumps, or to move the screws of the aircraft carrier so that it can move through the water. All of those are things I dealt with as far as technology.", "The organizations most helpful to me number one has to be the military healthcare system so I think I hurt my thumb I also sprained my foot really bad and one thing that you don't really have to worry about being in the military is the top of this head to the bottom of your feet- it's all taken care of. You might have to pay a little bit more for your family but other than that the rates are really cheap and it's very convenient. Another thing that I think of, another association I think of when I think of the military that is actually on the fun level is MWR. Without MWR I would have a hugely different impression of the military but they throughout my whole entire career if I ever wanted to play pool, if I ever wanted to bowl, if I ever wanted to go hiking, skiing, camping, they were right there with super friendly people to make sure that our work outside of our hard military life is rewarded. And finally I have to give my credit to the USO. Whenever I go to an aircraft carrier they're the nicest sweetest people. They give me hot dogs, cakes, cookies, they provide me a place to sleep, they allow me to put my bags down, especially when I want to walk around the aircraft carrier without being over burdened. I see other people out there waiting in these long lines, back up against the wall with the kids and then I see the USO people and their military families having the time of their lives even though it's a five hour flight. So hats off to USO.", "A school is the initial training that most enlisted people have before they go to their first ship. My school was electrician's making school it lasted for six months and then I had several other schools after that but A school can range from just a couple of weeks to six or seven months just like any other school, it's eight hours per day five days a week and there's lots of homework involved as well. By the end of it if you don't know your job that well, or anything about your job, by the end of the class you should be entry level at least.", "The military has a really good system for acknowledging the accomplishments that people do. So if you go out in the middle of the ocean, and you come back in, that's a tour. Then you get a little ribbon right here. You can't see on this uniform but on other uniforms you wear, your dress blues, your dress whites, other like nice uniforms that you wear, you can have like little emblems. They go three by three by three and you can get them for various things. If you shoot a gun really well, then you can get an expert ribbon. If you do something really really productive for the ship that you're on, then you can get like the Navy achievement medal let's say. Or if you go to a specific place in the middle, in the world, and you fight a certain war, then you can get another ribbon. So as you, the longer that you're in, you start acquiring these ribbons any you can kind of see who's been, number one in the longest time, and number two, who's had the most success in their job by the amount of ribbons that they have. You can really see lots of admirals with like really big huge stacks of ribbons.", "The military is divided up into two parts. You have the enlisted and you also have the officers. Officers are people who have been to college, who have a degree, and who have been awarded a commission, which means their job is to take care of people, their job is to have a command underneath them. So the people that they hire are called the enlisted people. Enlisted people just have to have a college degree or, sorry not college degree, a high school degree or a GED, and then you're able to join the military. You're sent to a vocational school, it's called A school, and from that time then you are actually like the performer, the technical person, the person who drives the ship, or the person who makes the pump, or the person who checks the voltage. So the officers are the people in charge, the enlisted people are the ones who do it. So the enlisted people have a ranking from E1 to E9. An E1 is, it could be, well there are three types. There are the people that deal with aircraft things, people who deal with ship type things, and then people who are engineers. So the engineers are called firemen, the ship type people are called seamen, and the airforce jet type people are called airmen. So there's airmen recruit, then you go airman apprentice, and then you have just a regular airman for E3. That's E1, E2, and E3. After that, E4, E5, and E6, those are called petty officers, so E4 is called third class petty officer, E5 is second class petty officer, and E6 is first class petty officer. And then you have three more which is are chiefs. So I'm an E7 which is a chief and they have a slightly different emblem for their uniform. They're all gold and you can see that this is an anchor. So if you just have this, that's a chief, if you have a star right here that's a E8, that's a senior chief. If you have two stars right here, that's a master chief. So again, E1, E2, E3, petty officer, third class, second class, and first class, and then chiefs: chief, senior chief, master chief. Officers they're their own beasts.", "The officers have a step system just like the enlisted sailors do. So for the officers you have O1 which is Ensign, you've probably heard those from the movies and things like that. For O2 that's Lieutenant JG, Lieutenant Junior Grade. For O3 there's a Lieutenant. O4 is Lieutenant Commander. O5 is Commander. O6 is a Captain and Captains are the ones, they're basically really really high in their officer community. They're the people that command the ship, command the aircraft carrier, those are Captains. After that, then you have people who have been Captains for a long time and they're super senior people that you see on TV, those are the Admirals. So you have Rear Admiral Lower Half, Upper Half, Vice Admiral and Admiral. That's O7, O8, O9, and O10.", "The Navy has some of the best retirement packages in the United States, that's hands down. After you've been in for twenty years, then you're allowed to have retirement. At the end of your twenty years, you can either on say I would like to retire, or you can stay in up to thirty years. So every year that you're in you get to have two and a half percent longer than twenty years. At twenty years you get half of your basic pay, so this is what I mean. The Navy gives you lots of money while you're in based on certain things. Sixty percent of what you make is your basic pay, then you get a little more for sustenance, which is just the basic things that you need for your home. You also get a little bit more for if you're on a submarine or not. Also you get some more basic allowance for housing for your housing costs. But sixty percent of that is your basic pay. So the navy gives you half that at a twenty year point. I'm a chief, I make $4,500 per month so they give me half of that at twenty years. If I chose to stay in longer then the add on another two and a half percent, two and a half percent, two and a half percent. Depending on what I retire as, it can be up to thirty years, so at thirty years that'll be seventy five percent of your basic pay. Now because I'm a chief I make $4,500 per month, but they basically take your highest three months of earning, and that's the cost that that they provide you for your retirement.", "Our uniform ranges a lot from clothes that you wear everyday like this, these are camouflage, this is a camouflage shirt that I'm wearing and matching pants and really hard, rock hard boots to make sure that you don't stub your toe. And you can go on up to your dress blues which is like when you're going to a very special occasion, maybe some kind of ceremony, that you need to look very presentable, you wouldn't work in your dress blues. So other uniforms that we wear, I wear khakis. Chiefs which is E7, E8, E9 and officers they've wear things call khakis, which is like a nice pressed uniform, it's brown with white instead of this blue, and matching pants. You can work in them but generally those are people that kind of oversee people working. The workers on the other hand they can wear these things called coveralls, which is it brings you back to your five year old days, which is like a one piece body suit. You can put one leg in, one leg in, put your arms in, then zip it all the way up and coveralls look like the things that people that change oil, their clothes, they wear. So if you think about someone changing your oil, he gets on that like sliding machine thing, then goes up under the car. That whole entire uniform is, that's what coveralls look like, and they're all blue, except they're for the Navy.", "Since you're going to be in the military, you have to make sure that you're on time for things. So if you show up late, then people will look at you \"Hey you know come on time next time.\" You show up late twice then you get scolded, come late three times then chances are you could be sitting in front of a chief having him and other chiefs like come down on you, and you do it four times then you probably get written up with the counseling check, which means that like I said \"Hey like I told this guy it's a cause for being fired from the military so make sure that you don't do it again.\" So yeah if that's not your deal you know, you show up whenever you want, then you should erase that from your vocabulary because the Navy's pretty tight with their schedules.", "The Navy for me has just been one big university Greek life style, it's just a whole bunch of you know young kids getting together, drinking on the weekends, kind of partying on Sundays. Coming in you know like ready to work on Monday through Thursday but you know the weekend is theirs and even after the hour is done you know, even after the working time is done, they're still there's lots of video games going on, there's lots of card playing that that goes on you know during the work day. There looking at each other and making jokes you know doing you know a lot of like childish things all the time. So they keep it fun sometimes and just like with all young kids you know, like there's lots of arguments, lots of, they make enemies just like any other. It's basically high school all over again in some cases with more discipline for the things that require the discipline.", "The salaries that the military people make, they kind of range in how they compare to what civilians make. So officers kind of make slightly less than their civilian counterparts. That is, an officer you can take any officer and put them in a civilian job and they'd probably be making about ten to twenty thousand dollars more in the civilian sector. However, there's a lot of job security that comes with being in the military. You're not going to get fired unless you like really messed up. Now that you're protecting our country and you're doing it in an efficient manner you know, you're doing it effectively. So there's a cost with that and the cost is our salary, so there is a saying that the military don't make that much, and it can be true in some cases. However if you do it with pride and you enjoy you work and you think about the excellent retirement benefits that they give you, you'll see that maybe by the end of your twenty years you know, you didn't make that much less, however you have a much more fulfilling career. For enlisted people, it could very very similar or even better than your civic counterparts, at least for nuclear technicians we made a lot less than our civilian counterparts. In fact many people get out after six or eight years and then they start working and they could easily make double what they're making. That is they leave as a first class petty officer making about sixty five or seventy thousand dollars a year and then they can make double that working as Homer Simpson you know down at the nuclear power plant. Other things like maybe a cook or Boatsmen's Mate or let's say a weapons handler, they can find very very similar jobs out there so then they have the choice. Do I stay in the military that I've already put in like maybe six or seven years, or I do I become a civilian, maybe have to start all over, but start at a higher rate and higher job position than I would have if I would just join from high school. So many people in that position they probably stay in military because the retirements, and the amount of time they put in as far as their pride you know. All of that makes them stay in so.", "I'm in the military reserves, and it is exactly what the name says. It's a reserve, so we don't actively fight the wars. What we do is we, number one make sure that we are prepared to fight, and number two we train a lot to make sure that our mind is ready to fight. For me I was in the military for eight years, and then I got out joined the reserves. What that means is that the reserves call me at any time and they'll have somebody with eight years of active duty experience being able to fight. That means I know what a ship is, I know how to read the label plates to find out what I'm looking for, I know how to fix these pumps, and I know how to drive the ship, I know the valves to close when you're trying to shut off steam. So these are things that they don't have to teach me, as opposed to a civilian who has no experience, no training, and maybe that doesn't have the discipline to come and fight the war right away. So if we're going to fight a war, first people that go over are the active duty people. If you need more people then they call on me, the reservist people, a reserve person who stops his normal civilian job and becomes an active duty member for the amount of time that the Navy tells me to be. It could be anywhere from a few months to several years. After that time, then I'm supposed to come back to my civilian job, hopefully the civilian job is still there for me when I get back. If there's a huge war, then that's when we start calling the real civilians.", "EMC stands for Electrician's Mate Chief. Really, that's Chief Electrician's Mate but they put the C on the end.", "I'm not really familiar with the types of uniforms that the other services wear, I'm very familiar with what the Navy wears, and I have to say I really like the uniforms that we wear. These ones are called camies, and we have matching top and bottom and a cool hat, and it looks very very military. When we're working and we can get greasy in lower parts of the ships, we also have these things called coveralls, which are all blue, it's one size and you just put your legs in and you put the tops and you zip up and it looks like an oil changer for a car. It's the same type of uniform and you can wear these belts that allow you to put in you know wrenches and tools and fuse pullers and things like that, so it's very, it's work related. In our off time, not our off time, in our non shipboard time then you can have these nicer uniforms. So we have our blues, our dress blues, which is really nice for the lower classes for E1 2 3 4 5 and 6 it looks like the cracker jacks that you see everywhere, when you see the guy kissing the girl in the famous statue, the uniform that he's wearing, he's wearing his dress blues. Those are like the really nice uniforms that you wear for special occasions, and they also come in a white color as well. And it's, they get dirty very very fast but those are the coolest ones to look at, it's kinda like the button up one. If you remember Tom Cruise from Top Gun, he looks really so cool like an officer, well those are the uniforms that we wear. I think they're some of the nicest uniforms in all of the services.", "Just like with any other job there's a big political aspect to being in the military, a lot of it has to do with your personality so if you're very likable if you can make friends on the spur of the moment then you probably have a really good career because people want you to work with them, they say \"oh ya know give me Chief Anderson, he's a good guy you know it's fun working with him.\" If you're gonna be down in the 'bilges', or you know which is like the dirty places of the of the ship, or if you're gonna be up on the top of the aircraft carrier you know working on some antenna, then the person that you're gonna be working with for that couple of hours you want them to be friendly you want to kind of have a joke you want to be able to be around them for several hours and not get tired, you want the time go fast so obviously if you're very personable then you have a higher chance of being being pushed forward. That being said, many people try to be fair you know fairness is very very pushed on all of the leadership so give to their to their subordinates, whether you're an introvert whether you're an extrovert we try to grade you based on the the best work that you do and hopefully you get promoted that way. Yes, favoritism does exist.", "There's the Master Chief of the Navy, there's the Secretary of Defense, obviously the President and Vice-President, that's the hierarchy. Obviously if you're in active duty, then you have your Commanding Officer, you have your XO and those are, that's the President and Vice-President of your little command. But specifically, within your work center, the Chief is the guy. Chief, Senior Chief, Master Chief, those are the people that are in charge of all the enlisted people and they're your whole world. That's your mom and your dad.", "After you do your activity tour, then it really depends on what type of job you have, to dictate what you want to do afterwards. So, if you really love your job, then you'll probably make it a thirty year career if that's possible. I know a lot of people who were like spies, you know, the crypto techs, the people in human relations, the public relations officers, they absolutely love their job and they couldn't think of doing anything else. Some of the people with harder jobs, for instance, the nuclear field, maybe some of the advanced jobs like the E. T.'s or the fire control men, they might be expected to do a little bit more work and they can be a little bit more demanding, sometimes a little bit more frustrating. They have to do more sea tours, so you get to a point where you want to actually live the civilian life that you see many other people are experiencing. So, by the time your six years is up or four years, in some cases, is up, that's a pretty big milestone for you to make for your career and the turnover can be pretty sharp. My guess is that 20% of people actually stay in, while the other 80%, they actually go out and use their education benefits and live higher paying jobs, doing something that's a lot easier work.", "I'm not an Officer. I'm a Chief, which is an E7 for the pay grade. The military is broken up into two portions, enlisted people who actually do the work and officers who basically manage. Now, the enlisted people, after a certain pay grade, E6 or E7, you start to supervise those enlisted people. Officers, from day one, they're automatically in charge of the whole unit.", "I have a college degree and that allows me to apply to be an officer but not everybody who has that degree wants to go that route. So, to be an officer, you have to want to manage people, do lots of paperwork sometimes, to be in charge of the success or the failure of an entire unit and that carries a lot of responsibility. I'm an enlisted person and I do supervise the people that are underneath me. However, an officer's main goal is to become more and more important down the line. So, for instance, if you're a captain or even a commander, you could have 300-400 people underneath you and that's the main goal of most officers. For an enlisted person, you're more technically based. So, even though you have a small unit, that drive to want to lead people is slightly different.", "Now that I'm not in the active duty Navy, I joined the US Navy Reserves and I've been there for about the last eight years. So, that job isn't extremely difficult. They say that it's two days per month, two weeks per year and I've actually worked a lot more than that but it's a minimal time in the military. So, I've had a lot of time to do whatever I wanted to. I've split it between working at jobs. For instance, my job is, I'm a Japanese teacher in Japan but also work for the University of Southern California Institute for Creative Technologies and I find little pieces of jobs here and there. So, I'm a part of a start-up. A computer science start-up working with virtual reality. I also go to school. So, I'm a full-time master's student when I'm back in America and I am studying game development.", "I was on active duty from 2000 to 2008 so a total of 8 years.", "I've been in the reserves for eight years.", "Although I've never really experience of physical combat myself, I'm very thankful for that. I know that there are many people out there that do, and I give them lots of credit. My role in the Navy has been a supporting role. We go on these things called deployments where you're on a boat like a destroyer or an aircraft carrier. You go into the middle of the ocean and then those things provide support to the combatants. My aircraft carrier supported aircraft that go and drop bombs and you know shoot things. So my role was to support them. Those days were really long, really intensive sometimes. You can wake up at 6 AM, and then you might not have an opportunity to go to sleep until night the next day, and there are many days like that. There are days that you would be really tired, but you have to fight through it, you have to fight through the sleep, you have to drink lots of coffee, you have to really be very mature so that you don't make mistakes on the job that can endanger somebody. So after going through all of those those deployments, you know six months, seven month, eight month long deployments, I come away with a couple of things. Number one, respect for those people that do that. I think even though right now maybe I might not go on another deployment, but I really respect the veterans who have served, and even the combatants. Number two, I know that for myself, I can almost be faced with anything and be able to take it head on. I don't think that I'll be in another situation that is that intensive in my life. There can be situations like that, but I don't think I'll ever sweat as much, I don't think I'll ever be as sleepy as much, I don't think I'll ever be trained as much as I was during those times. So it made me a better person and I put that on my college resume because it's absolutely true.", "My best friend in the military was someone that I went to A school with. And I think for the most part people, people stay with the people who were with them in A school, the initial school that you go to. For the most part, for the first four years. His name was Will. We both did electrical engineering together for A school. We split up, but when I went to my first shift, an aircraft. It was in San Diego. He had the opportunity to tell the navy that, and they can kind of hook up people who were in the same school together, so that happened. So we spent our first aircraft carrier as well. And based on that, you know we lived together, and he eventually got married and we're still friends to this day.", "When I first got to boot camp, I'm just like everyone else. Everyone starts as an E1. On my contract before I joined, they said well if you're a nuclear technician then you get automatic advancement to E3. So during boot camp I was actually, I had three stripes on my shirt. However, I was getting paid as the lowest class. You don't actually get to have that salary until you finish your boot camp and you go on to your first A school. In boot camp it really doesn't mean too much whether you have one stripe or two stripes or three stripes. It's just kinda like there for maybe for self motivation but as soon as you get to your A school, you don't have any responsibiltiies. You're not in charge of anybody. You're just there mostly as a student. After my A school and after my power school and prototype-those were my schools that lasted two weeks or I'm sorry two years-for my nuclear training. Once you first get to your real you know first full on job-mine was an airline carrier-even there you don't have any real responsibility or position, you're just there to learn as a journeyman so you don't get you're first real role or responsibility until about about a few months after you get to your first command.", "9/11 has a special place in my heart because I had just joined the Navy, well I was in school when it happened. That was, maybe the first year that I was in, I hadn't seen a ship yet. I didn't know what the military life outside of school was like, but I remember walking down my steps to my roommate, when he saw, when we both saw together, the first, actually I saw the second plane hit, the first one had already been hit and my roommate called and he was like, \"Hey, look at this!\" After it got started, I remember that there was a little bit of fear that I had, you know, I didn't know how big this thing was going to be. I definitely didn't know that there was a war that was about to be started but I did realize that, that's when it finally hit me. Before, I thought, the military is a place that you go, you learn some kind of job, you have a nine to five job and you probably clean some things, you work out a little bit but after 9/11 happened, then I realized, \"You know what?\", there's a job that needs to be done and I'm probably going to be the one that's going to need to do this. So, I went into protection mode at that time. That's what it meant to me, 9/11.", "An experience that illuminates Navy culture, you can find them in many movies. We have these things called 'port calls', where you have people, maybe in their dress blues, which is like the nice uniform that we have with the white sailor hat, you know, flipped to one side, should be straight but, walking around a foreign port, you know, with girls, kind of yelling, like, \"Hey, come over here!\" and you know, you go there and drink beers and they are in many movies, Full Metal Jacket and it can be guys and girls obviously, but in many movies, you can kind of see that situation happen. The bar going sailor and I think that pretty much is a fact. That is true. When you're in the Navy, that you're going to have those experiences all the time and those are going to be the checkmarks, the cool parts of your naval career, going to port calls. So, just watch a movie and you'll see it.", "Once you join the military you're going to really find that your service is broken up into two chunks. It's when you're back at home and when you're out on deployment. When you're back at home,then you're going to find that your job is basically 9 to 5. You're going to wake up just like everybody else in the world, do your job, have lunch, and then go home at 5 o'clock and then you're just free to do whatever you want. So the way you normally meet people, meeting them at the malls, at the library, at clubs, at bars. Those are the same ways that you're gonna find. When you're on deployment however, things are a lot different. When you're just on that boat, it feels very claustrophobic sometimes. Especially, at least for me, I realized that most of the people that I was around are many guys. I think the ratio is like seventy percent male to 30 percent on the aircraft carrier. So you're going to be in a space, you're talking to them all at the same time, all the same people. However on those deployments, you do get to have port calls, which means that you go into another country like Malaysia, Hong Kong, Singapore, or Thailand and for four days or five days then that's your day to roam free. Most of the time, you get liberty. That means that you get to have those days off. During that time, your chance to meet people are increased substantially. So for instance, when I was in Australia, they knew that we were coming in. They knew that the Navy was going to be there. So many people would come in from other places just to spend time in those hotels and experience our lives and our culture. When you go to a bar, people know that you're in the military, because you look different. You have a clean shaven face and maybe there aren't that many black people there or there aren't that many Hispanics there. So you stand out. Then they're going to want to come up to you. That's something that doesn't happen in the United States. No one, you know--people don't just show up and buy you a beer. So it can be easier at times when you have those moments of freedom, when you're on deployment. When you're back home, it's the same as anything else.", "Are great practitioners of this field made or born? I would say that it's a little bit of both. Now, there's some psychology here. I do believe that when you're born, you have certain innate abilities, comes from your mom and your dad, comes from your race. Some of us are different skinned, some of us are taller or shorter, some of us are, you know, stronger based on your genes and I also think that, like, your mind is, it follows the same trait, you know, like everybody's different. Some people are artists when they're born, some people are engineers when they're born. However it depends on how you grow up. So, you can take someone who's an artist as a kid and then you can train them through their lives to become a great engineer. Now, maybe they might not be the best engineer because it's not in their bodies but they can do a good job, a great job in fact. So, it's a combination of both. It depends on who your mom and your dad were. Hopefully, you got that training, whatever training that you want to be and later on in your life but if you don't, the military, who realizes this, can train anybody to do anything. So, some people will have to do a lot more work to achieve their goals. Some people can, for instance, join the nuclear field like I am and it can be a breeze for them. Some people might have to put in the work, but regardless of that fact, they can take anybody, whether you're an expert from birth or whether you need to put some time in it and they'll make sure that you do the pipeline so that you can do the job well.", "You don't have to be the best swimmer to join the military. That's a common question, it's like what, you're in the military and you can't swim? It's like yeah, so I learned to swim while I was in the navy, but when I first started I could barely doggy paddle. So the requirements for boot camp are you have to jump into some water and you can't hold on to anything, you have to be afloat for two minutes, and then you come back up. So if you don't know how to do that then there are some, there's a little bit of practice that you can do, and so basically everybody passes. If you definitely can't pass, then they have like specific training for you, but most of the time that's not a problem to pass, to just do two minutes.", "So, joining the military is a dangerous career. If you want to join the Navy but you're scared of going into battle, then there are obviously jobs for you but you have to inherently realize that being in the military is by definition a dangerous career. So, I was on a ship for the most of the time but they could have sent me anywhere. So, you have to be willing to accept that fact. However, even on the ship, there are dangers. For instance, you could be telling the ships where to go but they say that the top of the aircraft carrier is one of the most dangerous places that you can be, it's one of the most dangerous jobs. Additionally, once you're back home, you're with your family, you have a normal job but they could say, \"Hey, you know what? We need more people out there in the field.\" So, they could just call you and you could be with the army people, with the marines people, fighting wars. But for the most part, the air force and the navy, they tend to have supporting roles to the army and the marines.", "So, you probably heard of the term 'drunken sailors' and that's for a good reason. Once you are deployed and you pull into a port, which is like a little city of a new country, then the people are very very antsy and they want to get out and, you know, party a little bit. So, you probably been on the ship, in the middle of the ocean, you haven't seen another, you know, non-military soul for about a month. So, they really want to go out there and, you know, like, you know, do the opposite of what they were doing which is being disciplined. Now, they want to, you know, go be young kids. The military's basically eighteen to twenty four year olds. So, kind of like the college life. So, they go out there and do college level things. They find the first bar, they sit with each other and just, you know, find, you know, the cheapest alcohol and you could find them there the whole entire day and then they come back to the ship. The military knows this, so they have people walking around, checking into the bars, making sure they aren't caught causing fights, which they are, make sure that people aren't, you know, drinking too much which they are, make sure that people can make it home safely, you know, which means that they come back by taxi, which means that they come in handcuffs sometimes but it's all in good fun. By the time we leave, out of five thousand people or sometimes eight thousand people that are there, you only have maybe one or two that actually get into real big trouble. I personally didn't, I personally wasn't involved in that drunk culture so much. I actually liked to go out to the town and explore, you know, the museums and the scenery and things like that but I had a few drinks myself too.", "As soon as you join the military, probably your very first week, even though you're at bootcamp, so you have no access to alcohol but from that time,you know, all the way up until you end your career, you're going to be hearing about alcohol, alcohol responsibility, the fact that you can't drink too much, the fact that, you know, alcohol ruins people's lives and it's a very big thing for our culture. So, the Navy takes some strides to kind of change this. We get lots of training. We get, for instance, when we go to ports, when we're on deployment, we have this thing called the 'buddy system', which means that you're not allowed to go out yourself. You actually have to tap one of your friends and the both of you go out to explore this new city. They want to make sure that you don't go out there and get yourself into trouble by drinking too much alcohol and then having a stranger, you know, guide you back to the ship. There are people who would rob you, there are people who will, you know, do harm to you. So, the 'buddy system' is probably the Navy's biggest way to combat alcohol misuse.", "Just like with any other job, the military has lots of different personalities. And I have my own unique personality and sometimes I can be very antisocial. Of course you're gonna work with some people that you don't want to be around and in those cases, what I found myself doing is, you know of course you try to talk with them, you try to be friendly. But if you're just butting heads, you kinda keep your mouth shut. You just sit there, you stay off in your own world. It's better to, especially when you're around expensive equipment, to not be so talkative and perform your work rather than getting in an argument and then having to be on the watch with this person for the next five years (who you're arguing with) you don't want that to happen. Just stay in your own world when you find people that you don't get along with so much.", "So, for the eight years that I've been in the US Navy active duty service, I've seen everyone have high stress symptoms. I, myself, am in included in that, several times. So, these working hours can be really long and there have been many times when I just wanted to say, \"Hey, you know, I just want to go to my bed and relax and sleep and not have anyone tell me what to do\" but the difference between a military person and a civilian is that it's ingrained in us to take orders. So, regardless of how I feel, at the end of the day, I'm going to do my work. Maybe a civilian person would quit their job, maybe a civilian person would yell at their boss but military people, they don't do that. That's our culture. So, you live with it. You live with the stress that comes with the job.", "The person that gave me the best advice about joining the military I'd have to say would be my father. He was in the army and although I never saw him while he was at work, well just barely, it was as a kid you know, I sit in the corner playing video games or something with my gameboy. But he did tell me you know, when he came home what his day was like. He'd say some of the things about the work they have to do, the PT that he had to do, the people he had to supervise. I also saw the type of life that we lived in. I know that like it was a very nice clean environment, he showed me his corvette outside and we took it for a spin a few times. We would always be going on vacations, and he'd tell me like these are the benefits that are associated with the military, any he'd develop my pride and my motivation to join later on you know. If he wouldn't have been in the army, maybe who's to say that I would have joined myself, but military families have a high rate of convincing other people around them to join.", "For those of you who didn't do quite as good as you would have liked to in high school, hopefully that doesn't come to bite you later on. The military has this entrance exam that's going to test you on your basic skills. The basic skills are some things like math and science, a little bit of logic, a little bit of language and if you can't pass that basic part, then unfortunately you can't join the military at that time. That doesn't prevent you from going back and trying to get some of those skills, trying to learn some of those things and trying again. You can try as many times as you want. However, once you join the military, then however you did in high school doesn't matter at all but it does really affect your promotion. So, if you're not really strong in school, then you're going to really hate the fact that, to be advanced, you're going to be tested. That advancement exam is going to really test all of the things that you learned in school and all of your on job training. So, hopefully you pick up some of those high school motivational habits when you're in the military.", "Personally I love wearing this uniform in particular. The reason I love this uniform is because it doesn't need to be ironed. To tell you the truth you just throw it in the wash machine and then as soon as it comes out you just \"whosh\" and put it on a hanger and then it's ready to wear. Sometimes I iron it just to make sure there's absolutely no wrinkles, wrinkles, creases, wrinkles but I think that it's very warm. I like the way that it looks. And it's very easy to maintain.", "The food in the military it's, I have to say it's outstanding. Maybe not many people would agree with that because it's kind of plain and bland. So you have your cafeteria style you know, style food. You go there, I want some meat, I want some potatoes, I want some broccoli, you know. And they provide a good selection for you. They don't really season it so much because so many people come through you know, it's not like it's Applebee's or anything. They allow you season it yourself, so as long as you kind of realize that you know, then they give you big portions for little cost, or no cost if you're active duty, and technically it is healthy you know. In fact I think that they recently took salt away from the table so like you have to try to be healthy when you eat your food, and it delivers.", "We definitely don't get to swim in the middle of the ocean. So, I actually did get to swim in the ocean but that's not very common. One day it was like really hot, we had been out to sea for a month, two months, people were getting antsy. So we had a swim call. So what happened was our aircraft carrier was, it came to a full stop, we had navy seals in boats around the water with guns to shoot sharks, and we could jump from the elevator, the aircraft elevator, which is really far far up. It's about like a five or six second drop, once you drop over the edge. It's kinda like a diving board. So you jump over the edge, you go down in this beautiful bath water, and keep going then it gets really cold, then you come back up and it's warm again, and then you're supposed to swim to the back of the ship. So it's about another maybe, minute more to go to the back, and then you have to get out. So it's not like you can like hang out there you know swim, throw a frisbee around, like play volleyball or anything. It's like you jump across, go down in the water, and then you come out, and you swim to the back. You can do that many times you know, but I did it once just to see. I think I actually did it twice. It was kinda fun, I can barely swim so that's good enough for me.", "I chose to be a part of the navy yes because I wanted to further my career and have you know a good salary, all the benefits, but I also feel that you have to serve your country at sometime in your life. Now I know that sounds cliche, but that's the way that I feel. I came from a really military family. My uncle was in the military, my dad was in the military, my brother was in the military, and me too, and although yes I could of just been a civilian, like I was on that path. It felt like, at least for me in particular, it felt like something would've been missing from my life, something I can't be on my death bed and say that I never protected my country the way that I saw my family protect it. So it was a calling for me. Why would other people join the military especially if you don't have military people in your family, you have to think. Well first you have to trust your politicians. You'd have to think that they're going to war and they're defending America for good reason. So the wars that we fight we hope will bring stability to the world. You might see on TV that you know children are bloodied and people are you know like running for their lives, running from terrorism, running from lots of different things, you know you've seen the news. So if you wanna be a part of bringing that to an end, then military is one way that you can at least try. Also defending the nation, now we've been safe for a long time. Yes we had 9-11 and yes there are domestic terrorists but compared to other countries in the world, you might realize that America is a pretty safe place to live. When you're considering foreign powers trying to come in and influence us. So we have that strong military to thank for that. So if you want to be a part of that team you know, and have the stamp of veteran for your character for as long as you live, then the Navy would be a good spot to start.", "So, with the Navy, they always give you training. That's something that's going to be ingrained in your heart by the end of your Navy tour. So, the ways that they train you is that they have one of the people in your unit go up and provide something from a book that you probably learn in A school, that you probably learn on the job. So, for instance, the diagram of the reactor and we're supposed to know, for instance, all the valves that are there, we're supposed to know what to do in case of a casualty. For instance, if there's a fire in one of the pumps, we have to say, \"Well, you're supposed to turn off valve A, B and C\", and then call it in and then we'll tell the watch officer and then ask somebody to help and then go back and fight the fire. What happens if there is like, a radiation spill? Are you supposed to, you know, do these things? So, for instance, every time that you have a casualty, which means that there is a problem in the ship, be it a fire, a flood, a scram of the reactor, which means it breaks down, then you have to know what each of those steps are. And after being in the Navy for what, a year let's say, if you don't train about it, then you're going to forget it. So, they allow a little bit of forget and then they train on it so you remember it. Then, you have that cycle of training over and over and over.", "To become an officer you need two basic things. Number one you need a college degree time, that's a requirement. Number two you need to be able to present a good managerial style, people need to think that you can lead. Just because you have a degree doesn't mean that you have the authority or, doesn't mean that you have the presence of command to get people to follow you. So once you're going through the officer training program they either teach that to you or they don't allow you to join the military service. They would basically kick you out, so you need a college degree and you need to be able to supervise other people.", "So, the difference between an officer and enlisted member, they kind of meld together once you get higher in superiority but the real difference is when you start. An E1 or an E2 seaman or airman, basically their only goal, their only purpose in life is to do a technical job whereas an officer, an ensign, his day one is actually managing a group of people. Obviously, they're both training but the goal of what they're supposed to do is slightly different. As you get higher, as you get to become E5, 6 or 7 for enlisted or you become a lieutenant, that's an O3 for an officer, then you start going into management and supervising people. So, at least on the ship, you would see that the E7s, the Chiefs and O3s, the lieutenants are working side by side, pretty much doing the same thing but in the lower ranks, then enlisted is technical, officers are management.", "For computer science, we're always changing things, all the time. So, this is the difference between the people that survived the dot crash and the people that had to go. So, an example would be, let's say Kodak, Kodak is a maker of cameras. They had the Polaroid camera. However, eventually people started using digital cameras. People started using their phones for cameras and rather than take advantage of this technology, Kodak, kind of, just sat with their usual product and as we can see, where people started to switch over their photo taking format, Kodak started to decline. Another example would be Netflix. So, I'm sorry, Netflix is an online video producer, who took over the big reign that Blockbuster used to have. Blockbuster was a big building that you go inside, you choose whichever video you wanted to, you take it up to the front, you pay your money and and you take the video for three days, then you're supposed to bring it back. If you don't bring it back, then you have to pay these fees. And Netflix kind of saw that and then they made an online video retailer store. And Blockbuster didn't follow suit with that and that's why they, kind of, like, I think, went belly-up. Maybe they're still around but they didn't get with the times. So, my point for saying this, with Kodak, with Blockbuster, you have to look a couple years in the future, maybe even longer and wherever you see technology going, that's where you have to change. Now, there's a big impetus for people to have a working product and say, \"This is our goal, this is the thing that we do.\" But if you don't switch, if you don't change, then I'm sorry, technology is going to run you to the ground.", "The branch of service that you should join really depends on the type of person that you are. Now, I have to say that they all have very similar jobs. So, you can pretty much join any of them and find something that you like. However, that's about the limit of their comparison because for instance, if you join the Navy, let's say as a cook, you could be on an aircraft carrier going around Italy and Germany and Spain. If you join the Air Force as a cook, then you might be stationed on one base, Travis Air Force Base and that's where you work, that's where you stay, you don't really get to travel so much. You won't be stationed someplace else. Now, there are army bases, military bases, navy bases, airforce bases all over the world. So, your opportunity to travel to foreign places is wide open with any service that you join. However, many of them don't have that much forward progression as far as your career. For instance, from what I hear, the Air Force doesn't really promote as well as some of the, really traveling military services like the Marines, like the Navy and in fact, many people join the Air Force and stay in the Air Force for a long time and even though that's good for the Air Force, they don't have so much retention problem, it's bad for people that want to really progress because, for instance, if you want to become, like, an E7 rate, which is a Chief in the Navy, you have to wait for someone else to either move from the military or be promoted themselves. So, for instance, with the Air Force, it might take a long time for those people to leave because, you know, the Air Force is such a great career progression whereas in the Navy, you have lots of rotation. So, your chances of being promoted are really high. For the Navy, there are many opportunities to show your desire to really take on the hard jobs. So, you could be requested to go fight overseas and if you take that job on, then they really look high on, the people that promote you really look high on those opportunities whereas for other things like the Coast Guard and the Air Force, you might not have as many opportunities. So, it really depends on what's going on in the world, where they were at war, whether you're in a job that allows you to go to harder locations to serve on submarines. Things like that.", "The button, the infamous button. So, there is no such thing as a button. There's a difference between the nuclear navy and the weaponized nuclear navy. If you're on a ballistic submarine, then they do have nuclear weapons on it and technically there is a button on that, that shoots off the weapons. I've never seen it. I didn't work on the subs, so I'm not one to talk about it but the ship that I was on, an aircraft carrier, there's no such thing. Nuclear technicians on an aircraft carrier, we just deal with making the ship go through the water, providing electricity, doing all of the things that a power generation station would do for a city. There is nothing to explode.", "During your off time, while you're deployed, you have a couple things that you can do. So, I remember, personally I would always go play poker and steal people's money even though you're not supposed to but we'd find some ways to, you know, have fun with each other. We would trade, like coke bottles or trade cigarettes. Some people smoked, I didn't, but I'd still, you know, like be in the middle of trading things for cards. I also watched a lot of DVDs. So, we had an MWR, a morale recreation and welfare program where you have a choice of maybe 200 or 300 DVDs. You just tell them that's the one that you want and then you can watch it on, if you have your own personal DVD player or a laptop. I'd also just go out there on the fantail and just watch the ships go by, you know, ships go by and jets go by and maybe for going along the coast, just look at the beautiful country that we're going beside.", "So, when you're not deployed, life is actually pretty good. So, the military comes in waves. Our hard time is when we go on deployment. That's when you give it your all, that's when you're working the hardest but when you come back then they kind of go easy on you. So, well actually, I was living in San Diego. This is an example from when I was down there and our days were pretty early so that we fight the rush hour traffic. I think they began at six and then noon, that's when we normally have our lunch but they just send us home. So, days are cut short at six hours and so you just like, actually it's five hours because the traffic is the thing that cuts most of the morning. So, days are from seven to noon and then you split and go home and go see your family. So, you have a lot more time sometimes when you get off deployment.", "A lot of people ask whether you can switch between branches. If you can go from the army to the airforce, from the marines to the Coast Guard. It really, I haven't seen it so much, but it really depends on what's going on in the world. When I was going through nuke school, there was this program that you could go from being in the Navy, I think it was called the blue to green program where they were they were looking for helicopter pilots. So they were sucking people from other branches to get to this undermanned job. But for the most part, it's really not possible.", "Exercise is a really big part of all of the services. Every six months we have this training that requires you to, it's not training, it's a physical fitness exam where they look at how much you weigh, they request that you do push ups, sit ups, and you run a mile and half. I think that's pretty standard for all military services. However, they don't all provide you with the same amount of time to do it. For instance, in the Navy, they don't give me any time to exercise, you always have to do that outside of your working hours. I think for the marines they probably do, it's probably inherent in you know waking up in the morning and you all PT together. Probably the army is similar that way too, depending on what type of job you have. I think the airforce is similar to the Navy where you pretty much work out on your own time, during lunch time or after or before work. In any case all of the services require you to be in shape.", "You are allowed to quit the military on very special occasions. For the most part, you're on contract. The contract could be anywhere from two years to four years, I think the maximum is six years. My contract was four years and then I did a two year extension. During that time if I wanted to stop the military, I didn't really have that choice. There are ways you can get out if you do something bad or if you do something that's against the rules, also if you have a family emergency if you can present your case the right way, then you can ask the commanding officer who you know sends it up to the big Navy to try to get you either, give you temporary leave or full leave. But for the most part you have to stick with your contract and it's generally four years.", "If you do something bad in the Navy, then your punishment can range from just having extended watch, which means that you have to work a little bit longer at the end of the day, or doing extra cleaning duties, getting a write up that says hey you know what he did this on this date with this thing and you know from now on he has to make sure that he doesn't do it again and if he does then the punishment will be more severe. That's a report. However, depending on how severe it is, for instance, it goes up after that. If you were caught drinking underage, then you could be behind bars, down in the brig, you might not be reduced in rate. If it's even worse, for instance if you desert the ship during time of war you could actually be put to death. Those are few and far between and that's, they haven't done that for a long time. But those are the ranges of the punishments that you can have. Either almost nothing, you know just a day's worth of work to death.", "What you see in video games can be similar to what you'll experience depending on which service you join. I joined the Navy, and I don't think that there are that many video games out there that really showcase the Navy life. A lot of it is taking care of equipment, and I don't think that that's so, I don't think anyone has made the right video game that shows the fun in doing that. What they do show is the combat situations that army people and marine people experience. I've never experienced it myself, but I can imagine what it's like. I have experienced boot camp, I've experienced walking around, I've seen it themselves, and I've heard it based on the stories that they've told me, and for the most part, it can be true, especially in wartime. I'm not saying that that's fun, but I think that the video game simulations that we have are very similar to the life that is shown, that I've seen.", "You should not join the Navy if you know yourself as a person number one doesn't get along with people, number two can't follow directions. You're kind of setting yourself up for failure in a big way if you join the military knowing that for instance you do drugs. That's a sure fire way to get kicked out and then you're going to have that stigma against you for the rest of your life. People are going to ask you, have you ever been in the service? And if so, were you kicked out? And if you mark yes that you were kicked out, then that could be a bar for entrance to a lot of jobs. Not only that, you could be wasting your time. Even though you join the service and you get that training experience, if it's in a job that you don't want to do, and then you quit that job, then I gotta tell you could have spent your time doing a job that you would have eventually been doing later on without wasting people's time in the military. So if you can follow directions and you can get along with people, then you'll be fine.", "I'm always learning new skills. My current job as an English teacher in Japan has me making lesson plans and building my self-confidence. So, what I mean is, I'm in front of thirty other kids and I had never been a teacher before, so it's really interesting to have on your mind that each of these kids has to learn a certain thing. So, before I have to make some kind of activity that teaches them some simple English words, then I have to distribute that to them, to unbright kids to really geniuses that already know English and everyone in between and make sure that I'm doing a good effort. During that, I have to sound confident. I learned lots of self-confidence being a Chief in the military because I talked to thirty people all the time. Not teaching them, well I teach them sometimes but not one hour of strong teaching of the military things. It's just, kind of, explain to them what to do and supervising them but teaching kids is a little bit different. So, the confidence that I learned and teaching ability that I learned are the two newest skills that I learned.", "In the military you don't really get paid based on the type of job that you do, for instance, all officers that are the same pay grade make the same money all enlisted people who are the same pay grade make the money those are the two types of jobs that you can do, be an officer if you have a degree and you choose that route or enlisted however there are differences in the salary within the specific pay grade for instance I am an E7 I'm a cheif so technically I make the same as other chiefs out there but you could be, for instance, on a submarine and you get a little bit more pay, a little bit, you can be in the hazardous duty area which if you're fighting a war then you get a little bit more pay based on that also because you're fighting that war you don't have to pay taxes, some taxes, so those are ways that you can save money even though we're the same pay grade people are making more money based on where they live what they're doing what kind of deployment they're on, if they are on one, you can even make a different pay check based on where you live in the country so for instance people in Monterey California which is an expensive area might make a lot more for housing than people in Virginia that's just one example but the cost of living is different so you have to take all that into consideration but the answer to the question \"how much you make\" it's all about the same based on your pay grade.", "ROTC, also known as 'rot-see', is one of the many ways that you can become an officer. It's a very difficult program to get into, you have to be in shape, you have to be very competent and confident. You're gonna be looked at by many people and they're going to choose you to be an officer in the military to command troops. So, you can be active duty or reserve, and if you get selected they'll pay for your college education. After that then you have to stay in the military for several years, I think 4 or 5 years, and then it's one of the better ways to become an officer, it's one of most popular as well.", "ROTC, also known as 'rot-see', stands for the Reserve Officer Training Corps.", "So, at the end of their active duty tour, you have a lot of options in front of you. Number one, you can try to go back into the military if you like the career. If you wanted to stay in the same field, then you could. So, for instance, the aircraft mechanics. Yes, they were fixing jets and they were working on jets. So, there aren't that many jets that they could work on outside but Boeing is eager to hire those people. You can see how jets and 747s kind of, are the same thing. So, you can find something in your field. For me, personally I didn't actually like my field completely, enough to make a full career out of it. So, I changed. Instead of Electrician's Mate, I became a computer scientist which is something completely different but, all of the basic skills that I received, the math, the physics, the thinking logically about things, they still apply to my computer science.", "For me, seasickness wasn't really a big concern, because I was on a huge ship. It's an aircraft carrier, so unless you're doing really really fast movements when there are lots of waves, it really actually feels like you're in a building, most of the time. But I have been on a submarine, and those things are really small, smaller in comparison, and they go down and up and I think there's a big case of seasickness on those, on those places. Also, on the smaller ships, there's a lot of up and down movement, and I've seen a couple of people mention that, you know that they were feeling queasy. I've never seen anyone do the hurling thing.", "As far as age limits in the navy, to join the military service you have to be at least 18 if you're independent or you can join as young as 17 if your parents allow you to. For the older age limits, it really differs by branch but if you're in the high 30's then there's a chance that you might not be able to join. But for the most part it's 17 to around 30ish.", "The difference is the reserves is just what it says. It's a reserve status.That means that if there's a war, you're one of the first people that they would call, rather than civilians to go fight the war. And the reason that they do that is because they know that you've been trained. The two days per month, two weeks per year, during that time they train you so that you know your job very well. If you're an electrician, like I was, then they're going to teach you how to operate in a military structure when you're back home. Or when they send you to different places during those two weeks per year, so for instance, I go to New Hampshire from my home in California. So when you go over there, then they actually put you on a ship. And then you're actually doing real, active duty physical work. So you get trained both places. Back home, I learn what a chief does and how he interacts with people. And when I go on my two week annual training, then I actually learn what an electrician does. So when a war happens, then I'm one of the first people that they call. We get paid the exact amount for the time that we're in. In fact, they pay us a little bit more, because they realize that they're taking us from our normal civilian job. However, for the most part, it's active duty service, part time.", "For me, personally, joining the military was one of the best things that I could've done. You will work really hard and once you get out and you become a civilian, you realize that what you did was protect the nation. You protected the people around you, the civilians and you can kind of see, even the job that you'll start to have and the jobs that they've always had, you had a large part in making that possible. So, I think it was worth it for the pride that you get for serving your country and the skills that you obtain because I didn't have any of those skills before but from that point on, I had my education paid for and I had a valuable job that, if I ever wanted to, I could flip a coin and then have a really high paying job. So, it was definitely worth it.", "So, some of the lifestyle changes that you can expect: number one, get used to wearing uniform. You're going to be putting this thing on every single day. We have a couple of different styles to choose from. We can put on coveralls if we're on the ship. These are the cammies that we wear when you're walking around a normal city but we also have like, a dress whites and dress blues. They look really nice. Another lifestyle change you can expect is to be following orders. So, if you're working at McDonald's and you have a boss telling you, you know, \"Go to drive thru\", \"Go to make some breakfast in the morning\", so same thing, that's not going to change just because you're the military. In fact, it's going to get a little bit more intense you could say. So, you're going to have, you know, five or six bosses. They have a hierarchy and you're going to hear from one less than the other but you're going to be hearing, you know, what to do every single day.", "So, this uniform that we have is, first of all, I like the colors. Makes you look really really military, if you can say that. There's this person, Steve Jobs. He used to wear the same exact thing every single day and he was very successful as a computer manager and he said that he wore the same exact thing because he didn't have to think about what to wear every single day. So, you get into that impression here, you know, like you know what you're going to wear so there's like very very little thought process of what it's going to be. Is it going to be the same thing I wore yesterday or is it going to be this new fresh one but it's going to be cammies today, so.", "Now that I'm not in active duty, I find that I'm still working pretty often, even though I'm not on the clock per se, I still have to bring my work home with me sometimes. So, for instance, in the US Navy Reserve, you're supposed to work two days per month, I'm sorry, two days per month and two weeks per year but I find that I'm working, sometimes Mondays, sometimes Wednesdays, sometimes Monday Tuesday Wednesday and Thursday, doing evaluations, making sure that we have some kind of lunch that we're supposed to go to, making sure that people have their correct physical training. So, it's not a nine to five job normally. When I was active duty and I wasn't on deployment and I was just stationed at my command, you still work many many cases during night time. So, as long as you just make sure that, you understand that that could happen, that your wife or your husband understands that situation, then, you realize that work is work and is what you have to do.", "So, job security is one of the military's major major positives. You're not going to get fired unless you really do something bad and even if you do something bad, as long as it's not, you know, like, short of murder, then you're still going to be there, you're still going to, you might be reduced a rank or two, sometimes I've even seen three, but they will keep you and as long as you have the motivation to get yourself back, then you will always have a job.", "When I joined and they told me I was going to be in the nuclear field, I have to admit, until I started going to the school itself, I did not know what a nuke was. So, did I work with nukes? The answer is no. 'Nukes' mean nuclear weapons and if you work for a submarine, for a ballistic submarine, then you do see the nukes but you're not the one who is working on them. What the nuclear field means, is that we work for the engineering portion of the nuclear-powered aircraft carriers. So, we're the engine of the ship. If you think of a car as the aircraft carrier, then we're the things that make it, you know, go 'Boom!'. We're the thing that makes it go forth through the road I guess and we're the people that make electricity happen for the entire ship, we're the people that make the CD player run, basically we're the life blood of the aircraft carrier.", "A chief wears this anchor right here. A Chief is basically the supervisor of the enlisted side of the operational portion of the ship. He's actually been in the Navy for a long time. Most Chiefs become Chiefs after about twelve years or maybe fourteen years. Some of the hot runners can become Chiefs after eight years but basically, no matter what, number one, they're really good at their job, number two, they have the support of the officers to make sure that they can take care of the plants themselves and number three, they have really good expertise and years in doing what they've been doing. So, they can be trusted to actually tell you what to do because they've done it so many times themselves.", "So, we have this term, it's 'in port'. 'In port' means that you're stationed, you're not stationed you're actually at another country's, kind of, naval base. It might not actually be a naval base. It's a place that can hold ships. So, when you're on deployment, let's say, you're in the middle of the ocean, you're there for a month or two months. Then you finally want to, you know, put your feet on land, so you could probably stop in Hong Kong or Singapore, wherever they can hold a ship that's safe for a United States naval vessel. You can pull in and then, that's a new country for you. That's 'in port'.", "A rate is basically the specialty that a military person has. So, my rate is EMC, Electrician's Mate but you could have Fire Control Men, you could have Boatswain's Mate. So, whatever you go to A school for, that's gonna be the term, your rate, for the rest of your military career.", "Something that I get asked pretty often about my job, being a nuclear technician is, \"Wow, do you get to press the button?\" and I'd always have to explain, \"So, I'm an Electrician's Mate. As a nuclear technician, I don't really work with nuclear bombs.\" They get that confused. I didn't know. In fact, when I joined the military, I thought I was going to be working on nuclear bombs but the nuclear technology field is something different. We work on the engines and so, the nuclear technology that we're working with has nothing to do with exploding at all.", "MWR stands for morale, recreation, and welfare. That's basically the military's leisure association, you go in there you can ask them anything from hiking equipment, camping equipment, maybe they can show you a place to shoot guns. If you're in a foreign country they can tell you all the different places around that you can enjoy yourself. So for instance in San Diego, they told us where Disneyland is, Seaworld, how to go to Mexico safely, how to go to Las Vegas, all the things that are around San Diego. They also give you cheaper rates than civilians can get. So basically if you're in any place that has MWR that's the first place to go when you want to try to do something fun out in the community.", "USO stands for the United Services Organization. I don't specifically know like why they were formed but I I know that a lot of people who are associated with the military before, maybe they're veterans themselves, maybe it's the wife of someone in the military, maybe it's someone who just has a lot of respect for the military. They come and they volunteer their time to show their respect to the military in lots of ways. The way that I know is that they're at airports and they have a little building off to the side or maybe they're on the second level of the airport where you can go in and you can rest, you can eat some of their food, you can have conversations with other people on similar flights, and it's really convenient. I'm sure that they do other things as well so I wanna give them credit for that but the way that I know them is from their support at the airports.", "So a regulator, it has different meanings depending on what type of job you're doing. So if you ask a mechanic what a regulator is, it's something that regulates some kind of flow. So for instance you could have water going in this direction and then you maybe turn a switch or apply some, some setting to a control mechanism that separates it into different, different paths. So let's say need a little bit of water and you have a lot of water over here then you regulate it so that only a little bit flows out. But let's say you need lots of water here, then you regulate it so that there's lots of water that comes out. So the same thing happens with an electrician, my job. We have voltage regulators so let's say you have a pump that needs twenty volts and you have a machine that can provide all of that, you just don't wanna pump all of the current from that machine into that little, little box, right. So you have a regulator that provides the right voltage so that that voltage will just allow the correct current to go through that machine. That's a voltage regulator.", "Right now, I'm a Chief. In the pay grade scale, that's an E7. There are E1 through E9 pay grades for enlisted and it's on the seventh level of that.", "When I first joined the military I thought, okay, I'm going to be exercising all day and I'm gonna be shooting guns all night but fortunately, neither of those really came to pass. You do have some time to exercise but as far as shooting guns, it's not really something that's really popular here. Especially when you're out on deployment, which is six months in the middle of the ocean. Some people, the military police, the MPs, they have guns but it's not like they're practicing all the time you know, like it's, they practice back at shore. And when you're on shore, I basically do my job as an Electrician's Mate, it's not like I can practice. But there are opportunities to practice, there are shooting ranges that people go to, and I won my ribbons, in fact.", "Deployment is what it's called when a Navy vessel goes to an extended deployment to fight a war or do some training. So my ship, the USS John C. Stennis, we actually went from our home port in San Diego and we went to the Middle East and swam in the ocean there. We didn't swim we rode on the boat right, but around the Arabian gulf, around the surrounding islands, maybe around Singapore. And just in that general area while the war was going on and we stayed there for six months, and then we come back home to San Diego. So once you're home to your home for then you do go out on the ship sometimes, but you don't go out for that long, and you don't go out that far. But deployment is, that's when your family comes, you know you say goodbye to your significant other, you know you tap your kids on the shoulder and say you know be good to your dad or your mom, you pack your bags up and then it's a big farewell ceremony you know and then everybody there waits for you to come back six or seven or eight months later.", "So everybody joins the military as an E1 in boot camp, regardless of your rate. So once you join the military you get some kinds of incentives to join, so being a nuclear technician we're allowed to become E3s immediately. But in boot camp everyone's E1. So as soon as boot camp ended, then I was promoted to a fireman, which is the the engineering side of E3 right, and I did that for school, I was in school for six months, and by the time I graduated that school after six months, I was promoted to a first class petty officer, which is E4. Then I was, I went to nuclear power school, and then prototype training. They're both six months and six months, then I went to my first ship. Now when I finally got to my first ship, that's when I had been in for two years and also because of my rate, nuclear technician, they offered us to automatically be promoted to second class petty officer, that's E5. And that's what I did, they offered us some cash, I got forty thousand dollars in cash, and it was tax free because we were fighting the war and I got automatically promoted to E5. So up until that time that for the first two years I'd always been automatically promoted either by school or just by joining, or just by signing a contract for an additional two years. That automatic promotion to E5 was because I extended my contract from six years to eight years. After that time, after that two years, then I was, I got promoted four years later to E6. So I was promoted E5 in 2002 promoted E6 in 2006, and then I guess I spent two more years in the military, and then I got out after eight years as an E6, which is first class petty officer. Then I made chief, which is what I am now, E7 in 2010, so that's four more years after. So again the time line is I joined boot camp, that's E1, after boot camp, which is about three months, then I was E3, a year and a half later I was, I'm sorry six months later I was E4, at my two year point I was an E5, and then four years later I was an E6, and four more years after that I was E7, chief.", "So my salary obviously it changes every time I get promoted. It also changes every two years, so the longer that you're in the military you get a little bit more money. So right now I'm a chief and it depends on which, which city you live in, which is gonna dictate your BAH your basic allowance for housing, but everybody makes the same basic pay. So my basic pay right now is $4,500 per month, if I were to be active active duty service, and I also get another couple thousand dollars are for my BAH which is the money that they give you for housing. So all in all it's about $75,000 per year with 16 years in. A person who just barely comes in, he's not going to get, he or she is not going to get that BAH. They will probably just be living on a ship or something like that, and as far as the basic pay, it's probably just a couple thousand dollars maybe $3,000 when you talk about outside of boot camp. So it's about $35,000 to start. So one year in the military you're at $35,000, 16 years you're at $75,000, and that's from an E1 to a chief, it ramps accordingly.", "During wartime, the tempo is a lot higher than it normally is. So, I fought in the Iraq war and then in the Afghanistan war and during those times we were in the middle of the ocean and days were pretty long from 6 AM to sometimes midnight very very often. We did so much training. It was a very trying time but is also rewarding because your patience is tested, your drive and your motivation is tested and eventually you fight the war and you do a lot of good things. So, it actually works out.", "You can receive a cash bonus if you enlist depending on the needs of the Navy. So if we're about to fight a war, or if we're in the middle of a war, then you can expect that they're trying to increase the size of the military, and for that then they provide a bonus. If there, if it's kinda peacetime or if they're downsizing the Navy, then obviously they offer less. So it's a size shaping tool that the Navy has to get people to come in and leave. With that said, in most cases for their advanced jobs, they almost always have some kind of incentive. It ranges in the amount, but it's there nonetheless. So the amount that I received, they gave me the choice, they said I could have $12,000 in cash, you know minus taxes, or you could have a really big educational bonus. It was $50,000. So I knew I was going to go to college and I wanted to make sure that I didn't you know like spend the money early so I said give me the educational bonus at the end. A lot of people that I knew like I guess the first year I was in you know, people had new cars they put down payments on like nice musical equipment and stuff like that. So some other jobs that you could have that provide bonuses, are obviously a lot of the STEM jobs. So there's Electrician's Mate, that's not inside the nuclear field but just regular electricians. There's Fire Controlmen FC's. So those are the ones who fix like all of the, from the engineering plants up. That mean's like the top part of the ship, not dealing with the nuclear side, just from engineering and up you know. They have to be pretty bright too, so they get bonuses. And Cryptological Technicians that learn languages, they're the spies, the ones who like listen, try to find out what foreign people are are up to, they get cash bonuses. So jobs like that, they're the ones who tend to get the biggest bonuses.", "Whenever you want to join the military, then you have to go to one of the different service branches. So there's one in every major city, sometimes there are two. So you go into whichever one you feel you might most be fitted for. I actually tried to join the airforce at first, but I ended up in the Navy. There's gonna be somebody behind a desk that's going to you know say can you please have a seat, so why do you want to join? What kinds of things interest you? They'll ask lots of questions about like how did in high school, what your interests are, and see if you're a good fit. They're also trying to see if you have a kind of criminal background and if you seem maybe uncommitted, they'll probably push you to the side. But they want to give everybody a chance so after you have your initial conversation with him, he'll ask you to take a practice test. It could be right there at that same time. So the recruiter will guide you to another room and the test is kind of like a little mini scholostic achievement test, a mini SAT. It has a little bit of physics there, math there, a little bit of english there, just general things. So you don't have to be scared of the test, it's not a pass or fail. It's more like what types of jobs you can have. So you take the test and where you score he'll say he has a list of maybe sixty, seventy jobs these are the ones that you qualify for. If you don't qualify for the job you want, then you're allowed to practice a little bit more. He'll give you some resources that you can use to study. But by that time if you are decided on the type of job that you want, that you're willing to do, then he will take you to, he or she will take you to this thing called MEPS, it's military entrance processing place that you can go to with lots of other people who are interested in joining the military to take the real test. The real test is nice and quiet, it's a lot longer, it's very comprehensive, and that's when they can offer you the real job. They'll probably serve you some breakfast in the morning it's an all day thing, and assuming that you pass the test on that same day, they can also have, get you through medical at that time which means that they'll check your eyes, check your dental, make sure that you're physically fit to go through it, and maybe the entire recruiting process could take maybe a week, maybe even a couple of days I have heard. But for me it took several months. They have you in this thing called delayed entrance processing where you do your test, you figure out the job that you want and maybe you don't have to join the service until a good time for them, which could be like a year later or maybe after your high school, after you graduate high school or after you finish your job or something like that.", "After you get done with your initial entrance processing for the military, then you're onward to boot camp. Boot camp is about three months, and they train you on simple things, tying knots, communicating with other people, how to do drill formations, things that you see in Full Metal Jacket. If you want to watch the first half of that movie then you understand what boot camp tries to be like. After that, then you're onward to your first vocational school, which is called A school. It ranges in size my school was six months, but it could be as short as two weeks. In general it's a couple months. After that time, then you're supposed to go off to your ship unless your in an advanced program like I was, in which case you'll go on to another school. My next school was a nuclear power school for another six months, and then after that I had prototype training, which means that they sent me to a real prototype to train on the real thing with people watching me, of course and that was six months. Then I went to my ship.", "Boot camp is the initial training that all military members go through. So you go to this place near the Chicago area and they put you in a division, it's about maybe thirty people or so. It's very very strict there. Everybody's in bunk beds and be teach you how to make your bed, but it's in a very special way. All the creases have to be aligned perfectly, all of the sheets have to be super clean and facing the same way. So it's not, when they teach you to make this bed, it's not the fact that they want you to make a bed this way, it's the fact that they're looking to make sure that you can follow directions. They give you a list of steps and they make sure that number one you don't talk back to them, number two that you do it at the time that it is supposed to be done, at six o'clock or at five o'clock in the morning, with you standing outside of your bed with it already been made. They make sure that there's nothing on the bed or inside the bed, or that it's all made the same way. So there's a lot that goes into making this bed. So I'm mentioning this bed part because everything about boot camp is the exact same way, from the books that you train on, to the knots that you're making, to the way that you do your drills. It's not that they're trying to teach you these things, they are but they're actually filtering out who has no problem with following directions and who needs a little bit more time to train in these things, and for some reason like let's say you come from a bad neighborhood, you don't like being talked to and yelled at, those are people that would have problems if they go out into the real service. So they take those people to the side, maybe they're in boot camp for a little bit longer or maybe they actually get kicked out of boot camp. But by the time you get done with your three months or four months of boot camp, you should have a good idea of what discipline is like, and how to follow directions from the simplest of tasks to the more complex tasks.", "Everyone in the military that is on a ship will be deployed at sometime. So our schedule is we do one and a half years on the shore, and then we do six months at sea. We do that twice and after that time, after that four year period, then you're scheduled to go work on a short command, and that should be anywhere from two to three years. So it depends on whether we're at war or not, whether the up tempo is really high or not, whether the ship that you're on has been out to sea a lot, but that's generally, the two year, the two year ship shore schedule is generally what it is.", "So, deployment life can be pretty hard sometimes. Most of the time you're working. I'd say about 75% of most days you're either going to work or coming from work or you know, sitting down preparing to go for work in a few hours. But, there is time to relax. So, many people, they join bands, they watch DVDs from the recreation center that we have there, they sit around and play cards, they kind of just sit and if it's later on at night, then you sleep, although like during the work day, you're not supposed to sleep at all. So, I remember my days would be, I would wake up at about 6:50, I would be in group, in formation at 7. It's only ten minutes I know, but you learn to be very very quick and then you're working until four o'clock. And from that point on, you could stand watch which would be another six hours after that, at least for me. Some people don't stand watch, some people do, its about half-half. Or you could be doing these trainings that come later on that night, they're called General Quarters. We were fighting a war, so they pretend like a bomb hit us or there's some kind of chemical spill or things that make you, that keep you on your feet to make sure that you have all the skills that you need to fight the casualty. So, short answer, you're working pretty much all day.", "My job in particular is very transferable to the civilian world because everybody needs power, and nuclear technology is one of the main ways, one of the cheapest ways, one of the cleanest ways to produce that power. So for my field, I think sixty percent of the people that are employed by the nuclear companies are ex-Navy. There are many jobs out there that can be transferable, anything that's engineering related is highly transferable. Even though you're on a ship or on a submarine or with military equipment. The concepts the chemistry, the math and science, they're all transferable. Other jobs aren't quite as transferable. So for instance if you're working with weapons, once you get out the civilian side, although there are some weapons companies, many of them are aren't really looking for, well you might not be looking to get back into the weapons section. However, depending on what you learned, the same concepts, the engineering concepts can be transferable. So it really depends on what type of job you want, what type of job you do, and the education that you receive while you're there. That's gonna dictate what you can do on the outside.", "Personally I have not really traveled so much in planes and trains and automobiles in the military. Basically you just go to work and it's just like a full time job. You go there, you do your job ,and you go home in your own car. However there are some opportunities you know, few and far between, that you do get to ride in the cool, or at least see the cool military vehicles. So for instance when I got to my first aircraft carrier I did something that most people don't do, I actually flew in because they were fighting the Iraq war. I actually flew in on a huge jet to land on the aircraft carrier. Mostly only the officers do that, they're the ones who take off in the jets on the aircraft carrier. Also if you're on leave, you can actually take off in a jet to go to different places in America and across the world as long as you're on leave and you have the right permission to. So you can go from a military base, we call Space-A flights, and it's either cheap or very very free. But otherwise you don't really get to do it so much. The thing I used to do was I would go up on vulture's row, which is like one of the highest points on the aircraft carrier, and you see the jets take off. So that's about as close as I could get to dealing with Navy jets.", "Being in the Navy means you're going to be pretty much on a submarine or an aircraft or a destroyer or something similar to that where there aren't that many enemies in the local area. In fact, they say that during wartime, being on one of those Navy vessels is one of the safest places that you can be. So I haven't really seen or been up close and personal to enemies. What we do is we support. We support the army people and the marines that are on the land who do shoot people, who are faced with combat situations. However, in the military we can do something special, we can actually join those people, and join their unit, join their brigade, or whatever you call it that actually go fight. That's not technically our job, Seals do that yes, and special forces also do that, but the vast majority of the people in the Navy are there in a support type of role to put the ship in a really safe spot so that the officers can fly their jets and their helicopters to go fight the war.", "Most people in the Navy they have their own cell phone, they have their own laptop. However, there are lots of restrictions in place that say that you can't really use them outside of the living spaces. So you can use it in your bed, you can use it on the table right outside your bed in the adjacent area, but otherwise you're not allowed to use them so much. One of the reasons is that they have cameras on them and cameras aren't really allowed on the ship. They don't want you taking pictures of sensitive equipment, and in many cases you'll put it in your pocket and if you go down to the plants where there's lots of sensitive equipment, then you could get in a lot of trouble for that. If they think that you took any picture of any classified equipment, then they're going to take your camera, and it's probably not gonna get back to you for a long time, if ever. But otherwise don't be scared. Bring your laptop, bring your cell phone, you can take pictures of you know normal stuff, but that's about it.", "So, your paycheck is one of the biggest things that people really love about working for the military. Right now, I'm a Chief, so I make about $4500 per month. Well, I don't make it, I am in the US Navy Reserve but usually on active duty, Chiefs make $4500 per month and they also have this thing called BAH, Basic Allowance for Housing which almost doubles your paycheck. So, you get about like $2500 per month and if you add that up it's about $75000 per year.", "When you are in the military, they kind of expect to get the biggest burden from you when you first join. Because you, you come in as a fresh civilian who's been on you know, on land the whole time so when you first get there, you're expected generally to go on a ship for your first command. You do that for about four years and that should be the end of most people's, of many people's careers. So then they go off and become civilians again. So they just do one sea tour. However if you're going to stay in longer, at that time, then they want to give you a break from so much sea time. Sea time can be difficult. So then they probably send you to shore command for two or three years. After that, then you have this cycle. About three or four years on sea duty, two or three years shore, three or four years sea, two or three shore. And then you're probably going to finally end up with four more years or three more years of sea duty and then that's your twenty years. If you stay in longer, then they'll probably shorten your sea command a bit, because you're a little bit older, you're a little bit wiser and sea is for, sea is for those young, those young bucks.", "When I joined, I had a couple of opportunities in front of me. I think I originally wanted to be a crypto tech but the nuclear field was very very exciting. They said that I had a good opportunity to go to the Naval Academy, they said that I'd learn physics and chemistry and thermodynamics and nuclear power, you know, very very well, they said that it's an advanced field and people out there in the civilian world know it. So, they gave all of these positives to join the nuclear field and I got to admit, that actually overshadowed any other job that I wanted to pursue. In A school, you learn, basically graduate level nuclear work, nuclear studies. So, I'd been in college and I went to master's courses and I got to admit, the military is actually more intense than college, than any college that I'd been to. They work you for eight hours per day, they give you lots of tests and it's simple, they always say that nuclear field is as hard as a pre-calc or I'm sorry, a pre-algebra class and that's actually true. Everything is written down for you in easy to read explanations and so if you could read normally as a high school student, for instance, if you got As and Bs and maybe even Cs in high school, then this learning is no problem for you. The difference is, you have to be willing to do it for a long time and if you start lacking, then you need to start doing all the homework that they tell you to do. They're not going to let you fail. The difference is, everybody that goes through this training, by the end, for the nuclear field at least, they know exactly what you're going to do, how to do the nuclear training that they've been shown and if you can't, then you have to do something else. So, there is no opportunity for failure.", "So, the nuclear question. What experience do I have with nuclear bombs? I don't have any idea what they are. I know kind of, what goes inside them because my job particularly deals with nuclear things but the nuclear technology that's used to power an aircraft to go through the water is very different from the nuclear reaction that goes on inside a nuclear bomb. Now that's not to say that some people don't. I was on an aircraft carrier, which means that there are no nukes on an aircraft carrier. However, other nuclear technicians, they go on submarines. Now, we have ballistic submarines, so they're walking right beside those nuclear bombs. We call them tridents or yeah yeah, I don't know anything about the submarine force, you have to ask them.", "If you're interested in going into computer science, the best person to talk to, obviously would be a computer scientist, if you know one. They're probably not so easy to come by. I didn't know too many when I was growing up. There's probably a lot more now because it's a bigger field now but chances are, if you don't know a computer scientist, then obviously you go down the line, if you know an engineer. If you don't know an engineer, then even a mathematician. I don't know there's that many mathematicians I know either. So, anybody that can think logically about something, then they're probably a good person to go to and by that I mean, so if you're looking around a normal city, then anybody that is in the STEM field could probably give you some kind of idea about what they do and I don't think computer science would be that far behind. So, for instance, if you're a car mechanic. You can ask a car mechanic, \"Why do you like what you do?\". They're going to say, \"Well, I like cars. I have a few cars myself. And because I liked it so much, I wanted to know what was inside of the car. So, I remember the first time I pulled open the hood and then I was looking around on the inside and I was asking questions about all those things and at first it was very very daunting but after I learned what the, that thing there did and that engine part there did and that alternator does. Once I started learning about those, you know, then the pieces start to fit and eventually, I knew, you know, half the engine, 75% and then all of the engine and then it's really interesting at that point.\" So, that little thing that I just told you, is probably what most STEM people would say about whatever it is that they're doing. As an Electrician, I would pry open up a load center and tell you the same exact thing. Well, those are the bars, those are the bus breakers, there's the current, voltage, blah, blah, blah. As a computer scientist, I'd tell you the same thing. This is, like, the program and this is, like, the initial settings, and you go down here and here are all these functions and this function does this and this function does that. As an Electricians, I'm sorry, an Electronics Technician, I'd tell you the same thing about a circuit breaker. Well, this is the resistor and this is the motherboard and, you know, this goes over here to that part and here's the blueprint for it and so, I would say the same thing that the car mechanic would say about that circuit breaker. So, anybody would probably give you some kind of clue about what it is that they do if they're in the STEM technology field.", "The recommended path that you should take if you want to go to school and you know that that's really in your future, I would think that the number one thing to do if you're kind of managerial oriented would be try to become an officer. That means that the Navy could pay for your education while you're in school, and so you can have a free education, and then you can start the Navy making a higher salary and doing jobs that are much more high tech because the they demand that college degree. The second path is the path that I kind of took, which is you serve out your military path, at the end of it then you get the Montgomery GI bill, in my case, for older people. Or you can get the Post-9/11 GI Bill. They both pay incredible sums of money, most of the time they pay for your college tuition fully. If you go to a private school, then in many cases it can be free or paid for, and at that time, because you're in the reserves or you just got out of the military completely, you can, you can use the Navy's past work to kind of fill in, to get the rest your college degree.", "If you're interested in becoming an officer, there are many ways to do it. One of the most popular routes is to go to the Naval Academy. Every enlisted, I'm sorry, every military branch has their own service academy, even the Coast Guard. The Marines go to the Naval Academy, Navy goes to the Naval Academy, Army people go to West Point. So they each have their own service academy for four years, and they take 17 to 23 year olds. You can also do ROTC, which is not. The military branch, you can go to normal schools, and they pay for your education, you just have to show up to some military classes, and basically they give you a salary and they ask you to spend five years at the end of that service doing some kind of military work. You can also join the military and be there for a few months, a year or two, and then during that time, you can actually go into the officer route. So they, if you're a good sailor, if you have a good evaluation and they think that you're tip-top, then they will suggest you to go to the officer route. In that case you go to a one of the schools that they select. There are several other ways as well, there's officer candidate school and there's direct commissioned officer. There's also limited duty officer and chief one officer for the Navy. But those are just some ways that you can become an officer.", "The military is a great opportunity for people of all different lifestyles. If you find yourself poor or you don't really know what you're going to be doing, then the military is a great option. If you're poor then they're going to give you a salary that takes care of you from day one. You're never going to have to worry about housing. If you're financially responsible from that point on, you'll have a steady income. You'll have a place over your head. You'll know what job you're going to have the next year. You don't have to worry about being fired. If you weren't a good student in school, of course there's a limit that you have to be smart enough to join. You have to be able to pass the tests that it takes to get there. However, if college isn't in your future, and if you don't want to do a job that you feel is very very below your level, then the military can be a great option, because they have so many different jobs available to you that you don't need a college degree for. If you're interested in writing, if you're interested in playing music, or even being an engineer, many of those jobs require some kind of advanced degree or some kind of specialized training. But the military, as long as you can pass the test and that's an option available to you, then you can take it. So people that don't know what they want to do, people that need some kind of financial security, people that even want to go to college, the military has great opportunities for you to further your education. Be it by getting your degree, by getting advanced certificates, by just having the vocational experience. For instance, if you want to join a job later on, you say, well I used to fix aircraft for the military. You don't even need a degree for that, they can say that experience is good enough to join this job. So people that want job expereince, military is a great option.", "Besides Los Angeles, I've lived all up and down the coast of California. So, I grew up in Los Angeles that's where I graduated from high school at and then after I did my 8 year tour in the Navy, I went to college in the San Francisco area. My college was Berkeley which is right across the bay. During my Navy stint, they sent me to San Diego. So I've had maybe two or three years in all of those cities. Those are the major cities of California.", "Throughout your whole military career, you basically are going to be taken care of, regardless of whether you're an E1 or an admiral. They provide your housing in a different type of way, they provide your food in a different type of way. So this is what I mean. When you just join the military, they know you don't make that much cash, so what they do is, they, some people they have to make them stay on the ship, you know, to sleep. After you make it to around, like, E5, the second class petty officer level, then they start giving you this thing called B.A.H. It's basic allowance for housing. They say, \"If you choose to, you're allowed to find an apartment out in the world and we'll give you money for it.\" In other locations if you're second class petty officer, then they might allow you to stay in the houses on base. Especially if you are in a foreign country, then, you know, you'll probably be staying on base. As you get a lot higher in rank, like, for instance if you're a chief or a senior chief, master chief or if you're an officer, then they probably give you lots of cash and they allow you to, like, find a much bigger house. Because chances are, those people probably have bigger families.", "So the Navy did provide some opportunities for me to live overseas, I just never like really capitalized on it. So my job is a nuclear technician, and unfortunately we're only allowed to stay domestic. However they do give you opportunities to change your roles. Not your job, I'll always be an Electrician's Mate, but your roles throughout your career, they understand that they can't just put somebody on a boat you know for twenty years and think that he'll retire. He'll go crazy, right? So after your tour of maybe four years, then they provide you some opportunities to do different type of work. So they can send you to a shore command, let's say in San Diego where you can kinda like just chill at one of the facilities there, no boats, just a nine to five job. They also, they offered me to go to Italy to work on a sub tender, which is kinda like being on a little boat, you get lots of port calls and stuff so that's one opportunity to go overseas, but if you do like four years on an aircraft carrier, then a couple more years on another boat, that's a lot of sea time. So that was one opportunity for me. They also had another aircraft carrier that was stationed in Japan, it was called the USS Kitty Hawk. However it like, that's where I was going to go, I was in camp like let you know four places in America or send me to Japan? I'm going to Japan, that's where I'm going to go you know, but nah unfortunately we weren't able to go on that. No nukes go on the Kitty Hawk anymore, so we were just on domestic soil for that whole time, dangit.", "For me the living quarters in the navy are outstanding. A lot of people that join they think well it is my first place that I've been staying you know. So like no matter what it is, they'll have a lot of complaints but I realize, I grew up in Flint, Michigan you know, so the fact that they gave me a nice clean bed with clean furniture and a desk right there you know, and that's all they give, and a closet you know. It looks like a tiny little hotel you know, like kind of a cheap hotel, but for me that's you know and the fact that it's free like really blew my mind away. So the other place that you can stay at, for instance the Navy Gateway Inn, or the Navy lodge, they're some of the highest quality hotels that you can find. For instance I was in Hawaii a couple of years ago and I stayed at like this expensive like $300 hotel, and it was nice you know there's a bed, king size bed and you know. But then you stay at the Navy lodge down the street and it's like a huge room with nice fans and there's like, the bedroom has its own door. The bathroom is like you can swim in it, you know you go outside and there's like three couches and there's like TVs for every room, it's crazy. It has its own separate kitchen so like they realize that you know the military people that are traveling across the country, they need a nice place to stay. So it's some of the best places that I've stayed at. Now the place that the military provides for the sailors, it's very quaint. But those places that you go on for vacation, or the places that the Admirals stay at, or the places that you have to pay for that's not, that isn't for official work, they're some of the nicest in America.", "For me personally, because I'm not really, I've never been so much of a family person. I never miss my family, the family that I did have, because I was too independent. However, I did find myself, being in the middle of the ocean, after two or three months, just wanting to come home and experience day to day things. Daily life. I wanted to watch movies, I wanted to drive my car around. I wanted to go to the mall and meet girls and experience life. The life of a young twenty year old. And when you're out to sea, you really don't have those opportunities. So that's my version of being homesick. Just wanting things that you probably think are very normal. Those things are like gold to me when you are out on deployment.", "So, when you are on deployment, you can have these things called 'Port Calls', which is where you go to the country, go to their major city and then you can, like have the time of your life. So, places that I've been to, that I really enjoyed were Hong Kong, Malaysia, Singapore. I went to Australia three times. I went to Bahrain, Dubai. I also went to Japan, that's where I am currently working right now. So, I went to about ten or fifteen countries.", "Since I became a civilian, I think I travel a lot more than I did in the Navy. With the Navy, you actually get stationed all over the country. Now that I'm civilian, I pretty much stay in California, that's my hometown but I have the opportunity to travel a lot more. So, I take flights to New York, just, if I feel like it. I take drives to Las Vegas, because it's kind of close to Los Angeles and I also still get to travel a lot because of the US Navy Reserve. So, in the US Navy Reserve, they send you to the four corners of America. We go to New Hampshire, to Virginia, also to Washington and San Diego. So, pretty much every year, they actually send me there. They give you a free car and a free hotel, so it's kind of like, a little mini travel. Work isn't that difficult, so I use that as a way to get out. I was also stationed in Hawaii last year and that was really fun.", "I've been deployed three times. I joined the Navy when I was 21 years old, in 2000 and then I stayed there for eight years. So, the first two years were for school and then the last six years, that's the time I was on the aircraft carrier and during that time, I went out to the sea, deployment, for six months each, well, six months then seven months then eight months within two year sprints. So, in two years, you're supposed to go on one deployment, six months time. Then, you're supposed to come back for a year, I'm sorry, you're supposed to come back for a year and a half. So, six months deployment, one and a half years, you know, stationed at home, six months deployment, one and a half years stationed at home. So, because, I was in for six years, I did three deployments.", "My name is EMC Clint Anderson. I was born in California and I lived there most of my life. I graduated from Paramount and a couple of years after I finished high school, I joined the US Navy. I was an Electrician's Mate. I started on an aircraft carrier for eight years and then afterwards I went into the United States Naval Reserve. During that time I started going to school with some of the abundant benefits that the Military Reserve has given me and I started working with various companies.", "Can you rephrase the question?", "", "My name is Chief Electrician's Mate Clinton Anderson, that's EMC for Electrician's Mate Chief.", "I was born in 1979. So, right now, I am 37 years old.", "I'm thirty seven years old.", "I grew up in Los Angeles, California. I was born there. I moved around when I was younger but I eventually graduated from high school in California.", "So, I have a childhood that's pretty similar to many military people that I meet. When I was young, my parents divorced. My father, he was in the army. So I didn't see him that much. I lived with my mother for a long time. We moved from state to state. I lived in Washington for a while, I lived in Alabama for a while. Eventually, I moved back with my father instead of my mother, in California. So, I have actually seen a lot of America, thanks to their divorce. Eventually, I graduated from high school and after high school, me and my father we didn't really get along so I broke away from him and a couple of years afterwards I realized that I needed some kind of jobs help me with my finances, help me, you know find some kind of direction in life. So, that's when I joined the U.S. Navy Reserve and the U.S. Navy.", "I had a great opportunity to know most of my family throughout my lifetime. My parents were divorced, so that means that I spent sometime with my mother's family, sometime with my father's family, sometime with my father's mother and sometimes with my mother's mother. So, I bounced around from household to household when I was a youth. I didn't really form any strong bonds with anyone but I did get an opportunity to see most of the world so I spent a couple years with my grandmother in Alabama. So, I got to shoot a few guns there and got to climb mountains and do all of that country stuff that, you know, a lot of people come into the Navy with. I just also lived in Michigan and it's kind of an impoverished area, if you have been watching movies and things, you probably know about this but it's developed my character in a lot of ways. Eventually, I finally moved to California and I have to say, out of all the places that I've been, which is all over America, California is the right place to be. It has a temperature that I want, the people and the diversity I want. So, maybe from now on I'll always stay in California.", "When I was a kid, I think I was more interested in like the humanities side of life. So I tried to do a little bit of piano when I was a kid. Me and my brother would go to piano lessons and I you know was a part of a black gospel choir. So I would always look at the guys that are sitting there you know dabbling on the piano really fast, and I thought you know what I can make songs like that. I had, I listened to rock and pop you know, Prince, Michael Jackson. So I thought, you know I'm listening to these songs and it gives me this feeling in my heart, so maybe I'm a musician. As it turned out, my brother didn't want to go to piano lessons anymore, so my grandmother didn't want to just take me by myself you know. So she cancelled our lessons and that was the end of that musical career. My mother was an artist, so I would always be like sketching on pads and stuff I would be drawing like animated characters X-Men and Spiderman and I was getting up there in my ability, but it also failed out. So yeah when I was young I actually wanted to do like you know like the non engineering, non-STEM things, but life has a way of like throwing you in a different direction.", "My name is EMC Clint Anderson, that's Electrician's Mate Clinton Anderson. I was born in Los Angeles, California. I was raised there most of my life and I graduated from high school there. A couple of years after graduating from high school, then I joined the United States Navy. I was an Electrician's Mate for eight years. I served on an aircraft carrier. We went on many deployments. A deployment is when you go to war, you fight. We fought in the Iraq war. I went on three deployments and it was a really great time in my life. I had a lot of fun. At the end of the eight years, I decided that the Navy wasn't quite a career for me. So, I got out of the Navy. I started using the education benefits that we received and I started going to the University of California at Berkeley. I was majoring in computer science and afterwards, I started getting my master's degree from the University of Southern California. I also had a job at the Institute for Creative Technologies. It's been a lot of fun, this whole time. Thanks to the Navy.", "My hobbies are very different depending on which country I'm in. So, right now I'm in Japan and I don't really do too much other than play video games but when I'm in the United States, then I'm playing online games, Guild Wars 2 and I do lots of archery. I shoot archery with the USC Archery Club and I do it here too. They call it Kyudo, you know, which is like, very you know, a super cool way of doing archery but I really like doing that for sport.", "If I'm going to talk about college then I really have to put it into perspective of a normal nine to five job. That's what I always compared it to, normal nine to five job, you wake up nine o'clock to do the same thing, it's lots of work, there's lots of repetition, sometimes for my jobs until five o'clock and you go home pretty tired. College on the other hand, it's, number one it's very sporadic. On Mondays I have one class in the morning. On Tuesdays I have a class in the morning and then a night class in the evening. On Wednesdays I have three classes in a row but they're only one hour long and they're just all over the place and that's the first thing, that the schedule is different. The second thing is that each of those classes you know for a fact is going to be different. They're not gonna teach the same thing that they taught three weeks ago and then two weeks ago and then this week. You know you're on a different chapter, gonna be learning different things. If you're in chemistry you're gonna be working with different beakers. If you're in a robotics class you're gonna be working with robots this weekend and then the legs next week. Every single week is very, very different. The third thing is that it's challenging. So, in my nine to five jobs I'm either flipping burgers or I'm selling popcorn. Even with the harder jobs, you can be in a situation that it's very, very similar week to week, and because it's so similar, it's not very challenging. But with college, depending on how good you want to do, and of course I say if you wanna go to college you wanna ramp up your difficulty as much as possible, then you're gonna be challenged all the time. You're gonna have projects that you are gonna be working on overnight-you don't have that in a normal nine to five job. You're gonna be coming in on the weekends voluntarily-you don't have that with a normal nine to five job. You're gonna be working with different people and not knowing the answer and asking around and opening up books. You're actually gonna be going to the library for a purpose, not just to read Greek mythology. You don't have that in a nine to five job. So comparatively, I think those are the main differences, it's more challenging, the time is different, and there's a lot more room to explore your passion.", "I've stayed in a lot of different places since I've been in the military. One was Charleston, South Carolina, then I moved up to Albany, New York, then I moved down across the country to San Diego. Then I moved up from there to Birmington, Washington. Now they all had a different flavor. One was a really good climate with lots of people, that's San Diego. Birmington was kind of more to the countryside, but you can have bigger houses and you can do hiking and skiing you know but it got pretty cold and rainy. New York was close to New York City, but Albany is lots of green trees everywhere you know. The houses are really big, but nothing was around that area. There was no building more than like five stories high you know, that's Albany for you so it's a very quiet town. And in Charleston, South Carolina I guess it's kind of like old style, and more south. So out of all those places that I've been since I've been in the military, I'm a California person, so I gotta do the San Diego thing.", "Problems show up every now and then. When you're on active duty, so it kind of depends on whether you're deployed or not. If you're deployed, that means things happen, you know, with any mechanical equipment. So, pumps could break in the middle of the night and then you get waken up and, you know, you have to go fix it. Sometimes you have people that come in drunk, on the weekends and when we were in port, so you'd have to make sure that, like, to get to their bed safely and that they get disciplined later on. Things like that happen on deployment. When you are not deployed, then you still hear the drunk people coming in, you know, but because you're not, the ship isn't being used over and over and over every single day in and out, problems with the equipment doesn't happen as much. So, you just do preventive maintenance, which means that even though this pump looks fine, you're just going to open it up and check to make sure that the oil is there, and you know, that is at the right temperature and shut it. So, a lot easier time.", "The work that I tend to do on a typical day actually depends on whether I'm deployed or not deployed. So, on deployment, then you pretty much are working the whole day and it's broken up into chunks. The first part of the day is just getting together, talking about how the rest of the day is going to be, do work orders. We write about the things that we should be doing for, maybe the next week or the next couple of hours or something like that. So the next chunk is we actually go and perform the work. So that's about another three or four hours. The next chunk is we get back and we start doing training, so we make sure that we're ready for casualties that happen, if there's a fire, if there's a flood. Then that's about the time that you get off work and you have a couple of hours just to kind of relax and hang out but later on at night, then you do this thing called General Quarters which means that you come back and the whole ship pretends like there is a big casualty happened to the entire ship. So your days can go into the night. When you are not deployed and you're stationed, you know, stateside, then your days are a lot easier. You have one part of, you know, training what we want to do later on. You have another part of training where you just open up a book and review some electronics or nuclear power things and then you have a small part where you are just doing preventive maintenance, which means that you're working on a pump, make sure that's fine, opening up regulators, making sure you know, nothing's inside and putting new equipment on the ship.", "The amount of hours that you work in a typical day actually depend on whether you're deployed or not. So, if you're deployed fighting the war, then I'd say 12 hours would probably be the average. On some days you get away with working only eight, that's including Saturdays. Many days, in fact every four days, you're working for a day and a half. So, you stand your eight hours of normal work and then you have your General Quarters, which is actually training at night time for two or three or four hours and then you could have another watch from midnight until six the next day and you could possibly have your normal work day tacked on the end of that. So, you know, some days, if you're really in it, you're working, you know, a day and a half to two. Sundays were my easiest days where I'd only work for six hours and that's like a great day for me. When you are not deployed, then days are a lot easier. You probably get to work around seven and then you leave around noon so that means your days are only five hours or six hours.", "In the STEM career, your working environment can change so much. So, when I was in the military, as an Electrician's Mate, I had different watches that I would go to. So, I could be sitting in a chair, with a little handle twisting and left and right, so that there can be more steam, so that the ship can go faster or slower and you do that for six hours in this nice air-conditioned room. The mechanics outside of the little station that I was at, they're on the hot deck with steam rushing by them, so it's really really sweaty and kind of greasy and they do that for six hours and they just go around walking, looking at gauges, checking oil pressure, cleaning up whenever it needs to happen and running around left and right, you know, picking up phones. So, they have almost the opposite situation that I was in. I was in a nice conditioned area, you know, sitting in a chair for six hours, they're standing up, walking up and down the stairs, doing this job. That was the military life and obviously it can range, you know, there are cooks that are behind the stove all day, flipping burgers like they're in McDonald's, there is the watch station supervisor who's running on three decks in two different plants, sometimes going up four flights of stairs just to make sure that everybody's doing the job that they're supposed to be doing and there's the Boatswain's Mate, who is turning the ship left and right, who has really high-level people, maybe he's talking to the commanding officer, talking to the executive officer with, like, three people behind him and, you know, it's very very, like, has to be very strict and, you know, says things, you know, the right thing at the right time so that the ship doesn't crash into another ship. So, depends on your job obviously, your living conditions. As a computer scientist, my job has ranged from working as a residential consultant, going from building to building, house to house, talking with different students about how their operating system works or how to make it work better or remove viruses or something. Also, at my job at the University of Southern California I was working as a QA inspector, a QA analyst, who would just kind of sit in the same seat, with his laptop, kind of, just not going anywhere, except to get a Snickers or something like that. My job has been varied throughout my career.", "For me, computer science is the main culture, you could say, that illuminates STEM. For computer scientists, we always have these shirts that, you know, kind of, like, with nerdy sayings on it and if you go to university, you can find all the computer science students, like, kind of sitting at the table, talking to each other, you know, doing their own little gaming and you know, World of Warcraft, you know, online role-playing stuff. But I think all of the, well, many of the other engineering fields have their own little style with them as well. So, the mechanic people might be, you know, working on robots and, you know, they're kind of like computer scientists too. For the, lets say, aerospace people, I'm not really familiar with them but I would think that they have their own, like, kind of pilot culture associated with them as well, maybe more towards the NASA thing. So, if you've ever seen like YouTube videos of, you know, people going out in the space and, you know, like, the astronauts you know, kind of just like floating there in the air. That to me really, they're for me, they are the true engineers. When I think people doing the hard math problems, the hard, you know, science problems, I'm thinking of astronauts, to tell you the truth. So, just turn on anything that has NASA on it and that's super STEM right there.", "I think the biggest benefit that I have as a computer scientist is the fact that it's pretty fun for me. It's like playing a video game sometimes. I'm doing my job, I'm doing my work and you know, I'm thinking, like, you know, three-four steps down the line and you know, another friend comes over, he looks over my shoulder and, \"Oh, did you try this?\" and like, \"Well, I want to do it this way\" and there's like 3-4 different ways that you can do it and, you know, I try to do it and he does it over my shoulder and then I have to say, \"Oh wow, you know that was a lot better. You know, it's faster, it's has less code. You know, I learned something\". So, yeah basically, it's fun.", "Is my work boring, is my engineering life boring? I have to say sometimes it is. There many times that we were asked to clean, and I hate cleaning. But at least for the aircraft carrier that I was on, you clean all the time, every single day, at least one hour. For some of the training that we do it's also boring. Especially the things that you don't know well, then it's just coming at you and your mind just kind of blanks out. For the things that you do know well, then you've heard it thousands and thousands of times, so you don't really pay attention to that either. It's the things in the middle, that you know fifty-sixty percent of and you have that kind of interest in okay well what what is it that I'm missing? But those times are not all the time. So it can be boring, but I think whether stem careers are boring should be seen in the range of other jobs. So you can say is a McDonald's career boring? Well you're flipping burgers and maybe the first couple weeks it's interesting, I'm learning this, and I know how to push this button, but then after you do for a long time then it gets kind of repetitive. So as with every other job, STEM jobs can be repetitive sometimes. It's important to kind of get the job that you think you're interested in so you have very few of those repetitive days.", "For me particularly, I chose the Navy as a career because it seemed like a very easy and straight forward step to begin a career. So at the time I was just graduated from high school, I was working at McDonalds, and you know various odd jobs, Swap Meet, a movie theater, used to sell knives, used to sell home alarm systems, I was bouncing all over the place. And I kept coming back to the thinking you know what, the military is a good way to start. I knew about their money for education, I knew about, after you do your tour you could have a really good professional career outside of the military you know. So these things were in the back of my mind. Unfortunately, I tried to join in high school and my eyesight is really bad, so they had disqualified me from joining. So I spent two years outside of high school trying to you know make my way through community college, make my way through various odd jobs, and it just wasn't for me. So like the military was a good step to, I tried again and I was accepted. So that was really step to start me off on a good career.", "Being in the military can have a lot of advantages and disadvantages. I really like supporting my country, I really like protecting the people around me, I like knowing that the job I was doing had a really, has a really big effect on the safety of America. However the job is pretty hard, and it has a high rate of people doing their job and then leaving after four years or six years or eight years. For me it was eight years. Being in the military you're gonna work harder than you've ever worked in your life. Your days are going to be in the morning until night, there's gonna be lots of training, there's going to be lots of cleaning, there's going to be lots of listening to people. You're gonna be dealing with people that you don't like, that you do like, there's going to be lots of studying that you're going to be doing that's going to make you pull your hair out. There's really great opportunities as well. You're gonna have some of the funnest times in your life, some of the meet some of the coolest people, and travel to some of the nicest places on earth. Taking all of it into consideration, I realize that the military isn't quite the job for me. There are many boring times, there many fun times, but I think that the job that is best suited for me is one that's fun all the time. So good on you if you wanted to join the military the whole entire time, if you one experience that and have a great career, have a good retirement plan, if you're satisfied with salary that you get and you have a happy family life. But for me I just wanted to experience something different and something maybe on a bigger scale.", "The biggest complaint that I have with STEM is the education that's involved. How you present these complex situations to the people that want to learn about it. And I have to admit right now it's pretty terrible. For instance programming. Programming can be easy if you have someone who can teach you, if you find a really good website, then it can be a very enjoyable experience. However, I think that there are many places that you can learn computer science from or ways that you can learn computer science that are gonna be very difficult, and it doesn't need to be. One of the reasons that I'm learning education is to make those things easy. You open up a math book and chances are that that math book has been taught by, has been written by one of the leading mathematicians. You know he's one of the top of his field that's why he has the authority to write this book. However, not all the best mathematicians make the best teachers, and I think specifically for engineering and for STEM, you need the best teachers, the best, the ones who know how to relay the information the best, not just the best in the field. You can be a so-so mathematician, but as long as you can help somebody who doesn't know about it to know it is well as you, then those are the people that should be teaching and right now that's just not the case.", "The most, the most challenging part of my job is probably being able to manage everything that's given to you without really fussing about it. Some things you agree with, some things you won't agree with, and you have to make sure that the part that you agree with, you know you say it very, very clearly to your people. The parts that you don't agree with, sometimes you have to actually tell your boss hey you know what it's better this way, and whatever answer you get is whether you know you can convince him or whether you have the materials that it takes to convince him, otherwise you have to be strong in whatever your convictions are and present it to your people. So it's very good to take all of your input, everything that everybody's trying to tell you, and make sure that you understand it correctly and that you can present it correctly. That's probably the most challenging part of my job.", "Computer science has a lot of problems that I wish would change and the biggest part is computer science education. That's, you know, the field that I'm choosing to go into. It's really hard to learn where to start with computer science. It's such a broad field and someone that's interested in STEM comes to me and says, \"What should I do? Where should I start?\" and I say, \"Okay, well, pick up a programming book, learn C#, learn C++ or learn any programming language actually and even that, that should be enough to, like, start them on their journey but it's not. There's so many different avenues to try and many of them are, I have to admit, are badly worded. For instance, when I was starting to learn computer science programming, some of the books that I picked up were made by computer scientists. I don't think that those are the ones that should be writing the computer science books. I think the people that should be writing are the educators, are the ones who think visually, are the ones who think graphically, are the ones who think, \"Well, you know, I'm showing C#, so I need to put some bombs and some explosions and some, you know, some nicely worded subtext. You know, like, I have to be able to write to a ten-year old and that the ten-year old should understand it.\" Rather than that, I think the ones who are really good at computer science, they're really smart, they're, you know, egg heads, you could say and then they decide to be educators and sometimes they don't match up. So, I wish that there were better educational books out there for computer science.", "So, I'd have to admit, the military does a very good job of marketing itself to be very, very tough, very strong and very team-oriented. You can drive down any street and if you see a picture for the military, you might see someone in these, in this uniform, but in a very very movie style picture. And it's not always like that. For the most part, we're not soldiers. I'm not a soldier, I'm a sailor which is different than what many people think of the military. When you think, when many people think of the military, they think of a full-metal jacket, you know, with your hard hat, your helmet and, you know, walking around with a gun and to tell you the truth, I've never, you know, picked up a machine gun. The best I got was, like a little laser pointer in bootcamp. Otherwise, I've never, I've never seen a gun. So, the real military is a wide range of jobs. You have people working on the weapon system, you have people talking languages, you have people down in the nuclear plants, you have people that are cooks, you have people showing the jets how to move. But, what's really presented, what's romanticized is the basic soldier, you know, the Army style, the Marine style. So, the Navy's kind of different, in a good way.", "Some of the common misconceptions about being in the Navy, well, the biggest one I hear is, well, \"How often do you swim?\" and I'd say, \"I can't even swim\" and they're like \"What? You know, you're in the Navy!\" Yeah, you know, it's not like you're in the middle of the ocean and then you jump over the edge and you know, like, have a swim call or anything. You don't, I didn't really touch the water so much. So, the fact that you're on so many boats and you don't, you know, like touch the water at all for being in the Navy. That's a trip for a lot of people.", "The advancement potential that you have when you're in the military really depends on the job that you have. So I'm an Electrician's Mate, nuclear trained. So at the end of six or eight years, many people actually leave the service, so because that happens there's a wide open range for people that want to keep progressing, because like the top is open, so that means that you know they train and then once they get to that point, because nobody is ahead of them, then they get the rate. There's also lots of Electrician's Mates available, like jobs available. So if you're in a job that has only a few spots available, like let's say it's a very specific job for a specific ship, or a job that's really really nice, really comfortable and no one wants to leave, then that means that those higher positions are staying there, they don't retire after eight years or ten years, they stay until twenty. That means that that's gonna block. So it would be helpful for you to figure out which job you're getting and try to ask about the advancement potential early on so that you know that you're in a job that can promote easily and fast.", "In my life, I've been presented with many opportunities to be challenged with new skills. One of them would be to learn a new computer science language. So, for instance, let's say I know C# but now, I need to learn a new gaming language, it's called Unity. So, I've never used this tool before but I know C# which is inside it somewhere. So, that means I have to learn this new skill that's based on the programming that I've done before. So, in that case, I might have to take lots of online tutorials, I might have to ask lots of friends, like, \"Hey, look over my shoulder. Am I doing this right? What does this button do?\" That happens all the time. Maybe several times per year, I'm faced with some kind of new technique, new skill, new program that I'm supposed to learn. In the military, it's very similar. So, once you're on the ship and you've been there for a couple of years, you know all of the equipment, you know all of the sets that's you're supposed to learn. However, you could be faced with going to a new class. So, for instance, I am recently going to go to Command Career Counselor School, where I'm going to go to a two week class and they're going to teach me all about the books that I am supposed to read and some manuals that I'm supposed to present to other people, that's an whole new skill, with concepts that I've never seen before and even in the military, you're going to be faced with one or two opportunities per year to really push yourself to learn.", "It's simple, really, all you need to do is ask me a question and I'll answer to the best of my ability.", "", "The choice of college that you make is a really important decision in your life. Some people choose not to go to college and they have really great careers after that. Some people choose to go to a local community college, I went to a community college, a public university, University of California at Berkeley, and a private university USC, University of Southern California, and I have to say, at all of three places the education is very very similar. So the difference was at community college, they really focused on my individual learning. At UC Berkeley they really focus on research, and at USC it's just like UC Berkeley, however the class size is a lot smaller. So the best advice that I received was, \"go to a place that there are people like you,\" and it really worked out well for me. I've gotten to enjoy all the experiences, some place are big, some places are small. So please go to the university check out the size, check out the feeling, get the atmosphere and wherever you feel happy, that's where you do the best, because your homework will see the difference and the friends that you make, your lifelong comrades you see them as well. So go to the place that makes you happy.", "The different types of engineering that you could practice can be aerospace engineering, electrical that's what I did, electronics which is working with resistors transformers things like that, mechanical where if you wanna like work with robots or hard surfaces hard things you can also do bioengineering there are a great range of engineering professions that you can work in.", "STEM has lots of jobs. Do you need to be good at science or math or another difficult school class to be good at it? Well it depends on what you want to do. If you're looking at going into NASA, the physicists there they know their stuff very well, they're trained for, they have lots of experience with it. So the answer for them is yes. However, I think that almost every single one of them had to start from somewhere and that somewhere wasn't very, wasn't extremely difficult. Yes there are some geniuses at NASA. Yes there will be some geniuses wherever you work, if you're in the STEM field. However, most of them are just like you and me. Most of them were pretty bright in high school, they tried, they know how to study, they know how to open a book and read, and most of it is boring to them. Some of it it's not. Some of it is interesting and as long as you have that interest, that passage to do what every job you're doing, well then the intelligence will come later on. You'll have enough people around you to guide you in the right direction, to kind of fill in your gaps of knowledge, and I think it just takes time rather than a strong math skill and science skill to get to where you're going.", "I'm really impressed with computer science because it has so much diversity in it. With computer science you can be working on web design, you can work with graphics which deals with what the screen looks like whether it's like really photo realistic or whether it's cartoonish you can work with hardware, so you open up a computer and all the things that are inside the mother board the chips the the graphics card, you can work with different types of software so you can have different languages that you can work in, I work with Unity engine which is making games but you can also work with different types of applications people work on the latest version of Microsoft things like that.", "One of the most difficult parts of my education would have to be when I try to balance my home life and my school life. The more you put at school, the less you can do outside of school obviously. So if you don't have that much time, then paying for school is very very difficult. When I graduated from high school and I tried to do college at the same time I was working, it was very very difficult so one of them had to give and unfortunately I couldn't stay in school that whole entire time. After that then I joined the military, I did my eight years, and then I had a good scholarship to help me pay for the rest of my education. I still had to work a little bit, but that was more for my own personal benefit, I didn't need the money, but when I needed the money and I had to work that was really difficult.", "My favorite classes have been, well I wanna say language classes because those are always interesting, they're always kind of fun. I also liked my computer science classes, but I guess the most impressive classes that I have taken-or that I had taken-was this course called discourse analysis. So I was going to Berkeley and it's known for being really really educationally intensive, right, and I didn't really see that so much in my computer science classes and even my language classes, there's just lots of work and you're expected to do, you know like, be up until midnight. But this course, this discourse analysis, it really showed me-it was taught by a really smart professor, and she, she really knew what she was talking about. We studied things like Martin Luther King speeches or the way that a politician twists words to make it seem like he's answering the question but he really answers something different, and these are things that even as a smart person, you know, growing up I listened to and I just accepted, but I never really thought about as succinctly as she taught me how to. So that course really really opened my mind and opened, you know made me a really wiser person because of that, so discourse analysis was great.", "Grad school and especially college isn't really for everyone, you have to have a certain type of determination to be successful, and if you're going to go to college, I suggest you try to be successful. You don't wanna go there and you know not do your homework, be late for class, waste all of that money, and then not have a normal job, you know. Do school for three years and then drop out, that's one of the worst things that you can do. Even though it is a good experience for you, you meet different people, you get to explore the world possibly with education abroad, you get to be in some really interesting classes with some really smart people. In the bigger picture you always wanna be doing something that's promoting you to like a final goal. So I think that if you're not determined, and you know that homework isn't really your route, and especially if you don't want to do research, if you're planning on going to grad school then probably you should probably get out there and do some vocational stuff, have a real job first and then come back when you're ready.", "I get motivated to go to work because it's fun, you know, that's the simple fact of it. When I was in school, you know, I had like math and science and physics and chemistry and nothing really like, pushed me to, you know, want to learn myself but computer science had something about it that is, there's a little bit of math but not too much to make me scared, there is a little bit of graphics to, you know, at least so I could see what it was that I was doing. You know, there was a little bit of like logic but not too difficult. Everything is in moderation and it's as hard as you make it. So, because there's so much that it's such a broad category, I found my little niche, you know, it happened to be virtual reality but like, I've experienced like, lots of things in computer science and they all had something that kind of drove me to want to learn more. So, no other subject has actually done that for me except for computer science. So, I think all of it's inspiring to try to, it's all inspiring because it's fun. That's the reason.", "I first became interested in joining the military back in the day when my father used to come back from his work in his uniform from the army, and he'd tell me about all of the things that he had experienced. I grew up in the fifth sixth and seventh grade and part of the eighth grade in Germany, and although I didn't really see the military part of it, I did see some of the things that like you could have outside of the work. So I saw the nice house that you could live in, I saw the cool car that he was driving, I saw many times you know people PTing, exercising outside, PT is physical training. So I kind of got the impression of like what the military lifestyle would be like compared to all the civilian lifestyles that I saw back where I'm from, and I gotta say it was really impressive.", "My career field is very very unique. From what I understand, 60% of the nuclear technicians out there in the world come from the Navy. So, I'm a nuclear technician. I don't think that I would have had his training had I not joined the military itself. So, being a nuke is very very specific. You know, there aren't that many places that have it, the nuclear power plants up along the edges of America and there are the subs in the ships of the United States Navy. So, that's very unique in itself.", "One of the biggest fears that I had joining college was that I wasn't good enough. When I started going to Berkeley, I just barely started computer science. So, I was a noob. I was just a very new person with computer science and during the orientation, there's is this guy that's, you know, kind of, explaining what the campus is like, what life is going to be like, what you can expect from the liberal campus and I was sitting in the computer science group and to my left and right were two of my newest friends. To my left, there was a Java programmer, he'd been programming for eight years, he was an expert in this field, he'd, you know, made several programs and, like, he explained all of this to me and I'm like, \"Okay, we're going to be going to the same class, alright\" and to my right, there was somebody very very similar. He was, like, accepted to Stanford and he went to Berkeley because it's cheaper but, he had been programming since he was twelve, when he made his first computer, you know, like, blah blah blah and I was like, \"Okay, so this is the average people going to my university and we're going to be taking the, all right, I got some work for me to do.\" So, that was what was on my plate when I first started going. For the military, I would say that something similar was going, I felt was going to happen. I joined the nuclear technology side of the Electrician's mate course and I had never liked engineering things at all, at all. I was the opposite. I liked driving my car but if you told me to change my oil, I would say, \"I don't think so. I'm going to take it in to Midas.\" I don't like grease, I didn't like screw drivers. The biggest accomplishment I'd done, as far as, like, mechanical type things was, I had put shingles on a house and yeah, I was outside and yeah, you know, the air smelled fine but those mechanical type jobs, I just didn't feel at that time was for me. So, that's one of the reasons I actually joined the nuclear side of the Electrician's Mate. It's because, I actually wanted to challenge myself in that. I wanted to, kind of, see what that side was like, so. But when I joined, I'm pretty sure everybody there had a big head start over me that I had to overcome.", "So, the type of student that I was in college, in high school and in elementary school, it varied. It was kind of like a sine wave. So, when I was in elementary school, I always took tests and they always said that I was like very very high achieving or something like that. I always scored really high on my IQs, so I got the impression that I was a really bright kid. In high school, it kind of dipped down. I was a little bit more independent. I stopped doing my homework. I stopped listening to teachers. I started hanging out with friends a lot more. So, my 4.0s and 3.8s started going down to you know, very very low. That's one of the reason that I didn't go to college right away. I think many people in the nuclear field like I'm in had a very similar story. I'd say more than half the people had that story. They were bright as kids but they kind of somehow lost their way, ended up going to community college and then going to the military or some other situation. So, going through the military actually helped me out a lot because it taught me a lot of self-discipline, a lot of reasons to get motivated to study a lot. So, after I finished my active duty Navy career, I went back to college and I was on par. I started doing well with the smarts that I was given.", "When I first started college, I really had the idea that I didn't want to work while I was in college. I really wanted to focus on my school, focus on my work. However when I looked at what was available I kind of saw that the jobs that you have in college are really really important for your success, for understanding what it is you're doing. When I was an undergrad I became a residential computing consultant which is someone that goes to the dormitories, looks at people's computers fixes their WiFi. That experience was so great. It's one of the crowning glories of my Berkeley experience because I remember those things. I remember the people. I remember the coworkers that I had, and the parties that I went to, it was very, very good. Not only that, it paid a decent amount of salary that helped me get through my college years. When I became a graduate school, I also had the impression like,\"No, I'm gonna go to school, I'm going to focus on my classes and not worry about jobs. I had enough money to support myself.\" However a job showed up, the job that you're seeing right now that I'm doing, that really fit in to my major specifically. I study game development and a job came along that said, \"Well, if you've been in the military, and if you are studing game development, and if you know computer science and if you're interested in game design, then we have a job for you.\" So that was, it was awe-inspiring that a job like that existed for me, and again in my graduate school that's one, it's one of the main things that I remember from my education. So having a job can be an integral part of your college experience if you choose the right one.", "In college I was pretty involved in a lot of things. At my current university, USC, I am involved in archery, shooting bows and arrows. At my undergrad UC Berkeley I was a resident computing consultant which is kind of a job to help students get their wifi and their computer set up. When I was in Japan I was part of that aikido club which meant that, it's kind of like martial arts where you people attack you and you put them on the ground a certain way. So I was pretty involved in college.", "The most difficult part of training I gotta say, it's probably the material, at least for nuclear technology. I wasn't a very good student. I got good grades but it was really difficult for me to learn the material myself. Like for instance one of the things that we learned is what grounds are you know, and it took me so long to figure out what a ground is, like ground they say it's the earth you know. Like what do you mean by that? Eventually you find out that ground means that that's a plane of neutral electricity so that you can have high voltage and low voltage and ground means, and there is a way to learn it but it just took me a really long time to learn it because I wasn't really technical. So that's a really simple thing I learned that you know like I had to catch up on, but they're a lot more complex things you know, like when you learned about multiplexes, you're learning about the way that the voltage regulator really works on the inside you know. Those can be really difficult so it's a wrap your head around, but eventually with enough opening the pages and putting your eyes on it over and over and over, it become simple. Everything becomes simple with lots of practice.", "Something I wish I would have known before I chose nuclear technology, is how cool computer science could be. When I was a kid I was just thinking computer science what you know, they type all day and there's like ones and zeroes and it's terrible and you know lots of math, very complex for no reason. That's what I thought, but after I got out I realized, \"Woah wait a second, I can make games?\" And it's not that difficult, you know there are tools to help you so you aren't dealing with ones and zeroes, you can deal with like normal conversation when you code? Aw man. So I wish number one, I wish my dad would have bought me a computer when I was a kid, and that didn't happen. So number two, before I joined nuclear tech, as a nuclear technologist you know as an Electrician's Mate, and I wish someone would have told me about other computer science fields, because that's what I'm doing now that's my passion, you could say.", "When I was a kid, I went to the library one day and I got this book, and it showed me all of the salaries that people make. I was a musician at that time, I never played any music or instrument, but like I knew that you know, like I was really involved in music and I wanted to. So then I saw how much musicians make and it's very very low, and okay well I'm artist at least you know like maybe about drawing, I get my art history from my mom and I looked at their salaries and it was very low. So then I set shut that book and then I kind of gave up on looking at salaries for awhile. A question that I would have, a question that I wish I would asked someone, is what are the different salaries that people can make and how can I become more involved in getting those high paying, those high paying jobs. And not only that, let's say I wanted to be an artist or a musician, how do I enter that field without being discouraged by their salaries. So how can I follow my passion without being disheartened by financial figures.", "Since joining the computer science field, I've had lots of different interests. For instance, I didn't really know what web design was, but when I started to learn what cascading style sheets were and how to put blocks on the screen and, you know, what a website was and how to read from a server, as I started to understand these things, like, \"Oh, you know, that seems kind of interesting. Maybe I'll be a web designer.\" And then, you start to learn about, like, the operating system and I realize, like, what scheduling is, there's lots of stuff about operating systems and I decided, \"Oh hey, let's run away from that because it's not for me.\" The more things I learned about computer science, the more focused I became in what it is I wanted to do. I always knew I liked to play games and after I started learning about what designers do, I finally focused in on that aspect of computer science, which is, I'm not the best programmer, there are programmers much better than me, I'm not the best artist, obviously, you know, those people with graphic design, you know, they do their own thing but what I did like to do is, kind of, go to a whiteboard, draw things out, kind of, explain what it is I wanted other people to do and myself included sometimes too and then have that be implemented. So, the more I did that, the more I said, \"You know what? Design is probably, it's been the funnest part of my job. It's the thing that has the least debugging, which, I hate debugging.\" Debugging is when you have to, like, figure out the small little tiny portion wrong with your code, you know, and it could be, like, hidden in, you know, thousands and thousands of lines of code, you know, I hate those things. So, designers, they do the funnest part of the job without all of the negative benefits of finding small areas that could take such a long time.", "My view's changed for the military and a couple of ways. The first way is, that I understand the different roles of the military now. Before, I just thought we were just one big group, you go fight a war and I didn't know who did what but now, I see where we stand globally as far as, like, what branches do what service. Aircraft people, they stay pretty much on United States soil and then they send huge ships to do logistics. Marines, they're the ones who keep in really good shape so that they can go and get that first push when we start the war, when we start a battle. We have the Army people who like, provide support to the Marines and they fight themselves too, you know, but they're the ones like, shooting guns and stuff. So, like, you start to learn all of these things and later on, as a supervisor, you get more information about why we are doing things. So, for instance, why we're fighting in Iraq, why we are sending these planes over there and how the aircraft carrier can support them as opposed to like, when you're, you know, fresh on this ship, like, I don't know, I'm just here on this boat. I'm supposed to fix that pump, that's all I know. So, you get more knowledgeable about things the longer you've been in.", "There are two different major career paths that I chose. One is the military, and I'm still in the military because I'm in the reserves, and one is computer science. With the military, they provide so much training for you. In fact, even though some of the us are pushing it away, they provide you with training here and there, it's really required if you want to progress in your career. So they give you books that you can read, we have online video tutorials all the time. When you're at work people come up to you and they provide you training over and over and over. So it's pretty much handed to you on a plate. That's in contrast with my computer science career, where I don't have a main supervisor. And if I do have a main supervisor, he's not providing me with required material to learn. So basically it's hands on learning, it's manual learning, it's learning on your own at your own free pace. So both of those ways I found are really comfortable. I like the online video tutorials and the instant training that I get from the military because it's so easy and it's very very clear what I am supposed to learn. With computer science I have a wide range of things that I can learn, and it basically is going to dictate what I can do for my future careers. So if I wanna learn Python, then while I'm whittling down that path then I can become a Google web developer because they use Python a lot. However if I say well Python is too easy I wanna learn something a little bit more complex and I learn Perl. Well not many people use, many people use Perl but it's a different style of programming and those jobs can hire me, so I can learn at my own pace. I think both of those have been really interesting and really fun and enjoyable for me.", "I've been thinking a lot about my future career is what I'm supposed to do, and in the next five years I expect to keep going on with my education. Maybe go to a Ph.D or get some kind of advanced degree and then maybe later on have my own job maybe work for the federal government, probably NASA or continuing on with the current company I'm with, which is the Institute for Creative Technologies. They make virtuality reality stuff.", "I'm enjoying life here in Japan. I just got through teaching a class earlier today and it was really fun. So, I'm enjoying life.", "The weather is actually pretty cold. It's very sunny here in Sasebo, Japan and you think that you can go outside in your tank top but it's freezing.", "I would say that I'm pretty good today. I've been studying lately, so my mind and my motivation is pretty high. I'm smiling every single day, so life is good.", "Right now, I am in the north-east of Japan. It's in the Tohoku region. You might remember that that's the place that the big earthquake of Japan happened in 2011. So, I'm in, kind of like the countryside of Japan and there are big buildings and skyscrapers but life is very quiet up in this part.", "My favorite color has to be black. It just looks good on everything.", "My favorite book of all time I have to say is \"Siddhartha\" by Hermann Hesse. So I grew up reading mythology, Greek mythology, and maybe magic books, and a few sports books, lots of fables and Aesop's fables, so that's what got me to read. But I didn't really I don't see any very substantial work that you know sold lots of intelligence and Hermann Hesse's work \"Siddhartha\" was just what I needed to realize that there are some really bright people out there way brighter than I am who can think of some kind of plot that's very interesting and engaging and Siddhartha, the main character of the story, is a lot like me. He's introverted, he's wondering about his future, he travels the world looking for some kind of solution and the solution is, an answer is given in the book, I don't know if it's a solution, but it made me really self introspect a lot, and I started to read all of Hermann Hesse's work later on and most of it just blew me away so it's a good introduction to very intelligent reading.", "I like a lot of the pop movies like \"Titanic,\" \"Braveheart,\" \"Forrest Gump\" like a lot of the blockbusters but I have to say that my favorite movie of all time is actually not even a movie, it's an anime from Japan. I'm in Japan so I you see lots of anime and many of them are good but one blows everything out the water. \"Berserk\" is a movie about the medieval times, and there's this character Guts who is really strong and you know he wants to fight his own personal battles by himself but not really think about anything, no purpose but he meets this person Griffin who's very charismatic and he has this huge goal to like own his own kingdom and Guts sees this so he follows him and you know there's lots of romance, lots of blood and guts, lots of intellectual conversation, and believe it or not I actually thought a lot about my own life very much throughout this movie, so hats off to those guys who made that really bright anime.", "If I could meet anyone in the world then I think it would have to be Sam Harris. There's a lot of people I respect. There's Stephen Hawking who is a really great guy, I'm actually working on a project here at my computer science that can help him speak. There are smart guys like Neil Degrasse Tyson, he's a physicist who is really bright. He just narrated the most recent Cosmos about the planets in the world just like Carl Sagan did back in the day, so a really bright guy but those are the people that can teach me something, I don't think that I could provide anything to them. I don't think that our conversations would be on the same plane. But Sam Harris, he's a person who kinda like Richard Dawkins, he's an atheist and he has ideas about different religions and he's also a computer scientist who has ideas about artificial intelligence. He has lots of different ideas to talk about I think that can make for excellent conversation. I disagree with him about a lot of things and I think that he could actually change my mind about a lot of things which is why I wanna meet him.", "In my profession as an electrician I look up to a lot of people. At least in my work center of course I'm always going to be turning to the person right beside me, the senior chief or even the master chief of the command to kind of give me directions so that I can become a better chief myself. I expect them to tell me when I'm messing up. I expect them to kinda correct me in a lot of situations and to give me lots of advice. So, in my work center it's going to be the next person, next enlisted person in front of me. However, as an electrician I also have a lot of respect for the academic side of the science. So for instance when I read about things, read about nuclear technology things and the way they are improving from MIT or from Berkeley or from other places that, you know, promote nuclear technology then I'm really proud of them as well, and that's why I started becoming a university student myself because I want to follow in that direction. I see our tech, our engineering field has a lot of room to expand and I want to be a part of that. So I look to people promoting engineering marvels.", "I was born in Gardena, California.", "One of the fun stories that I have was when I was in Australia I started, I started to gamble. I never gambled before I wanted to see if I could take one thousand dollars and make ten thousand dollars. I said you know, I'm going to into this five star hotel you know, gambling on the bottom and I said I can stop. Ten thousand dollars that's enough for a car. I will come back and I won't gamble anymore I'll go out into the world. I had this trick that I could do for roulette which is like you take one dollar and if you lose it then you bet two dollars, if you lose it then you bet four dollars, if you lose then you bet eight dollars and eventually you're gonna win you know. Even if you lose lose lose lose lose lose lose lose lose, if you win on that tenth time as long as you keep doubling then you get all your money back and you know. So anyways I tried this trick. So we went to Australia and I was down in the bottom of the hotel and I was there for maybe seven hours six hours on my roulette wheel. So I started off with a hundred, I actually did Black Jack and I got into like two three hundred and I started roulette you know with my special trick and I got it up to two thousand dollars. So I'm like \"ah I'm on my way you know it actually does work.\" So I went up to my room for that night, I was drinking champagne in the bathtub like watching TV you know and then I thought like, \"Wait a second, I'm in Australia. Clint. Did you just spend your whole day in the gambling in a little you know off to the side hotel and gambling spot you know like like you can gamble in Las Vegas? Come on, you know you should you should get out there and try to explore the country some.\" So the next day I go back down there and it's so funny there's this old lady who was there and she was there the night before, right. I went up to you know like take a nap and drink and I came back and she was still gambling right. So she was gambling on the hundred dollar chip tables and before I was doing like ten, ten dollar tables so I was like you know what? Here is my money, let me go ahead and you know try to get this ten thousand dollars as fast as possible. So I go to right beside her, you know she is the only one at the table. Start betting hundred dollars, hundred dollars, hundred dollars. It's all gone. Whoop- bye two thousand dollars. I mean I left and I enjoyed Australia so. I like that story because it taught me to not be scared of losing money. Money didn't have that power over me that I did when I was, when I was a kid.", "I have two favorite foods. When I am in the United States, my favorite food is ice cream. Haagen Dazs all the way. But when I'm in Japan, it switches over to ramen, because they make delicious ramen here. It doesn't even compare in the US.", "My least favorite food has to be any type of seafood, which really sucks because I'm in Japan and it's all over the place, so it feels like I'm missing out. Yeah, no seafood, I like cod but no shrimp, lobster, nothing with eyeballs looking at me when I'm looking at it. I'm not too hot on vegetables either, but you know you got to, as long as there's some meat, I can put meat in my mouth and the veggies and then we're fine. But no seafood at all.", "So, even though I wasn't really a jock in high school, I actually had a lot of interesting activities. So I ran track and field and I was varsity material, unfortunately I sprained my ankle during my junior year so that ended my college aspirations. But I also ran cross country you know, cross country first you know running three miles at our meets and then track and field in the spring, where you run fast. I also tried my hand at other things like I guess wrestling for a day or two, basketball I tried and I didn't get accepted but also I was involved in things like SADD, Students Against Drunk Driving, Amnesty International, and a cornucopia of other things.", "My whole life I wanted a dog. But you know everywhere I go I cannot have a pet. Especially here in Japan you know, you're not allowed to have pets in these really small apartments. But as soon as I can, as soon as I have my you know straightforward job, I'm gonna get you know a nice, what is it a Spitz, or maybe a collie if they're around. Or maybe, what do you call those things, I don't know the word but they're really pushy and nice and you know playful. Akita. Akita dog.", "When there's something that's, that's really difficult, there's some kind of obstacle in, in my life then the thing that I fall back to most are the people around me which is my, my, my friends and a lot of people they have a family to support them. Unfortunately I don't have any family that's around me but I do have a close group of friends that I can confide in whenever something is bugging me.", "There was one time in my career as a Chief, I think it was, like, the second year that I was a Chief, as a supervisor, that my commanding officer made it clear that he wanted to keep people over the time, of the time they were supposed to be leaving, and it was four o'clock. I guess we kept people until, like, four-thirty or five. I realized that people have to go and so, everyone was sent home. There was something slightly off about one of the sheets of paper that I was supposed to give him. For instance, maybe the name was supposed to written in signature but it was, like kind of, misspelled or something like that. So, something very very small and my commanding officer was really adamant about his people not leaving home so early. So, because I had let them go home early, he wanted them to come back. Now I called and I realized that the person that I let home early was an hour away. My commanding officer wanted him to come back. So, I said it's not in the best interest of that person to drive all the way back just for something small that I could correct. I could have whited it out and typed it on a typewriter and then given it back to him and that paper would have been just as good. So, even though I had a direct order from my commanding officer, \"Hey, I want you to come. Get him back into this office.\" As a Chief, one of our main goals is to look out for people to, kind of, make sure that, you know, our morale is kept very high. Those are the type of people that want to work for you. Those are the type of people that say, \"You know what? Not only is he my supervisor, but he acts as a human being.\" So, that's one of the times that I had to, like, stand, you know, at attention and, you know, make it clear, you know, talking to my commanding officer as a person, \"Yes, there's this rule and you have this choice but, you know what, here's another option that I'm presenting.\" And even though I was yelled at, eventually that person didn't have to make the, you know, the two hour trip, just to make a small correction and the job still got done. So, things like that happen all the time as a Chief and you have to, kind of, weigh the amount of risk that you're taking with your own personal career and your own personal evaluation, compared to the kind of morale that you save by acting as a human to your sailors.", "In the Navy, you're exposed to some type of danger all the time. They range in risks. So, most of the time, you're at pretty low risk but it can range high. I know a friend of mine who was a Chief like I am now but I was a first class when this happened. He was opening up a load breaker and, I'm sorry he was opening a circuit breaker and he was trying to check the high voltage of it and because they thought that the machine was completely powered off, they took less protection than they should have and many people were shocked when they actually put the machine in a place that it wasn't supposed to go to and he eventually wound up in the hospital, you know, burns all over his body and I was exposed to things like that all the time. In fact, as an electrician, you always are. Not all the time, not as much as some of the higher level people are. If you are kind of new, they don't expect you to work with high level equipment all the time. But if you're, you know, first class or chief or senior chief or so forth, then they expect you to, kind of, go in there and, kind of, do the test that you're supposed to. For me, personally I remember going into a breaker, that's where all of the, you know, the electricity and the current is, the high level voltage is and when I checked, it wasn't completely powered off. We didn't realize that at the time. So, if I would have touched the wrong thing at the wrong time, then it could have been an incident. However, we corrected the problem and there wasn't really any big danger to me. Things like that are bound to happen to many people because accidents happen.", "When you're working in a technological field, you can be faced with lots of self-doubt about how good you are. I don't know as much computer science as I should. I don't know how to program as well as I want. I'm studying nuclear technology but it seems everybody around me knows more than me. So, how do I handle those situations? I faced all of those situations that I just told you, myself and number one, you just have to realize that you're smarter than you know. I hear that a lot but you should realize that the military will give you all of the training that you need to be successful in your job. Otherwise, they won't let you work. Otherwise, they won't let you put people's lives in danger. So, just understand that you probably will not be put in a demanding watch or job without the right tools. Besides that though, let's say you just want to, you know, be promoted in your career and that really does, it really does matter whether you know your job very well or whether you just know it so so. And in that case, pick up your nearest book and if you haven't really studied in high school or in you're youth that much, then now is the time during this job, during your technological job or during your military job to actually do your homework. If you don't do your homework and you don't know your job well, then you're at fault for not being promoted as you should. So, try to pick a book and learn a little bit.", "Working for the Navy for long watches, for long periods of time that you're at a certain job, it can be pretty tiring sometimes. So, it's really cool that at least on my aircraft carrier, they had this cappuccino machine and they had so many different flavors. There's mocha, cappuccino and espresso and six other flavors and it was all free. So, I got this huge mug from the store downstairs and every day before watch, I would \"zzzz\", fill it all up and I would just guzzle that thing, the whole entire six hour watch. It was very sweet, so it probably wasn't so healthy, but it kept me awake.", "The part of my future that I'm most worried about would probably have to be whether I'll be good enough. So, I want to make my own business. I want to make games, educational games for millions of people that are going to change their lives, affect the American school system, hopefully change the world. To do something like that, you to be pretty bright, you have to be pretty smart. Maybe, to make that type of business, you have to be able to speak to people pretty well and have a good business plan, good business model. I'm not sure if I can do that. With any big challenge, you have to have the right tools to begin and currently I don't have it. The good side is, I'm trying. I'm in USC, I'm learning every day, I'm teaching English in Japan and I'm getting the teaching skills that are required to, that I'm going to need when I do my business later on. I'm working towards it. Maybe I'll be successful, maybe not. The cool thing is, on my path, if I have to do something different, let's say I start working for NASA and I like the job and I'm satisfied and I like my car and have a good family life, then I can stop and I can continue that job. On the other hand, it's good to have that challenge. It's way off in the future that, you know, very very successful, financially wealthy and very very difficult and that's spurring me to keep trying. So I'm unsure about that and I'm unsure about whether I'll be good enough but hopefully, with everything that I'm doing, I'll wind up someplace that I need to be. I'll wind up someplace very successful.", "Things that keep me up at night are probably the same things that keep most Americans up and that's, you know, of course I fear for my life. No one wants to die. I think that even the most hardcore, you know, Marines, they don't want to go to war. Of course, they'd like our politicians to, you know, do things diplomatically. Everybody has family back home, everybody wants to, you know, see the next day. So, I'm not a coward, you know, when it becomes time to go fight, then I will but it's not like I want to fight. What I want to do is, I want everybody in the world to live together in peace and harmony but I know that that doesn't happen. So, what keeps me up at night, is thinking that any day now, any second, there could be a terrorist attack, you know, near my home. The people that I care about can be wounded, injured or the fact that I might have to go over there and you know, maybe put someone else in harm, you know, someone that I'm attacking or support someone who, you know,. attacks somebody. I don't want to see people dead or killed just like most people in the military I think but you know, even though it does keep me up at night, you know, I do have a good sleep and then the next morning, I wake up and I go to my job.", "My biggest weakness would probably have to be my programming skills. When I was compared to the other people that I was working with, the other students at UC Berkeley and at USC, it seemed like they were pretty bright and I had to step up my game and to tell you the truth, even as a kid I was never really technically oriented. So, I think I had to work a little bit harder than other people to kind of get to a decent level. So, I took lots of late night study sessions, took lots of reading books, some Lynda.com courses, maybe some YouTube courses, Bucky's World, where he, kind of, explains these different programming assignments in easy to understand language rather than my professor because, like, I went to the lecturer and I didn't understand what he said so I better, like, learn on my own from this guy and then I can understand what professor said, you know, little bit better than usual. So, lots of things like that had to happen for me to step up my game, to compete with others in my peer group.", "Right now, I'm pretty single here in Japan, and still looking.", "Currently at the moment, I don't have any close people around me, I don't really have a family. Of course everybody has a mom and a dad but I, like so many other people in the military, had a dysfunctional family when I was growing up. My mom and my dad split when I was young, and so I had to live with my mom's mom, my dad's mom, my mom, then my dad and then I did that again you know. So I lived with each of them like two years, two years, two years, two years, then did that one more time and then when I was eighteen I kind of just went my own way and I didn't really talk to them anywhere after that.", "As far as siblings go, I have an older brother and an older sister. My brother is one year older than me, and he joined the army before I did my Navy thing. And I have a sister who is ten years older than me, and she lives in Michigan with her family.", "How much free time you have really depends on the type of job that you're doing. If you're in this uniform, that means, when you're stationed on land, that means you probably have a nine to five job. You get off and you go home and you do your own thing. When you're on deployment, then your free time goes from maybe eight hours later in the day down to maybe two or three. You don't have that much free time. During those times, you really suck them, you really suck the juice out of them, so you're watching DVDs or you're drumming down in, like, the basement or you're just sitting back, relaxing, watching some TV or reading a comic or something like that and the two or three hours, you really make the most use of it. When you are, when I got out of the military and I started going to school full-time, then, I guess my days were a little bit easier. Going to school full-time, that's about thirty hours to sixty hours, depending on whether you're taking the easy class or hard class. But even for me, when I was taking easier classes, then I try to find part-time work, to add on the extra twenty or thirty hours to it. So, all my time was about sixty hours per week, consistently for last few years, either just full-time student or full-time with part-time work.", "So, with the military, your job is your life. You're in the military for twenty four hours. even on your weekends. So, as long as you, you know, encompass this fact, you know, make that a part of your being, then you understand why it is that at night time, you might still be working on some kind of project. So, for instance, if you're, maybe E1 through E6, you have your normal work day and then you might be called back in sometimes to make sure that a night event can go on as required and nobody ever has a problem with that but usually, for E1 through E6, they have a full-time job. When we're on deployment, which means that we're out there fighting the war, then they're called all the time. When you're back home and you have your family life, you're expected to go home every single night, then it's, it can be a little bit tricky, trying to balance both of them. Your civilian life is, it can be really tough.", "There's a lot of socialization that happens outside of the military for military members. This is what I mean. So you're with these guys from the morning until you know work ends at like four, five o'clock and you would think that hey you know what, in a civilian job you take off you know do my own thing. But it turns out that when these are your friends you know, these are the guys that you're joking around with, these are the guys that you've been on deployment with and you have to see them everyday. You become very much like family you know, very much like brothers and sisters. So as soon as work ends, these same guys are going to be going to the local bar and drinking and chatting and maybe then going to somebody's house and playing video games and stuff so it's very very close here.", "So one thing that I regret when I was growing up is that, although I was a really good student when I was in elementary school, when I was in middle school, and even high school, then things started to kind of fall off and kind of whither away. I didn't have a strong relationship with my family so I kinda just did my own thing, I was very independent and unfortunately I wasn't really good at doing homework and stuff. So yeah, I got the first F in my life when I was a senior, first D's you know as a junior, and you know I mean, if I would have just kept being an awesome student throughout high school, then who is to say that my life wouldn't have gone in a completely different direction. Maybe I could have wound up at an Ivy League school or something. Who knows? But because I didn't listen to my mom and dad tell me to do my homework and you know eat my vegetables, then I had, I was almost forced to join the military. I'm glad that I did join the military, it gave me an option to you know make something of myself, but I think I would have had a lot more opportunities if I would have listened to my parents.", "There's a quote from Shakespeare that I'd like to repeat in one of his plays he said, some advice was given it said \"be true to yourself\" and I found that that's one of the most important advices that I've ever received. Whenever I haven't been true to myself and I just like follow the crowd, of course I'd always be unhappy and whenever I said, \"Hey, you know what, this isn't something I want to do.\" Even though it doesn't seem right like let's go with, you know, my own personal desires and it always worked out usually work out the best. Also \"follow your dreams,\" that's a pretty common saying and I think that whenever I've done that, whenever I said, \"You know what, this is what I want to do\" it's worked out for the best as well so \"be true to yourself\" and \"follow your dreams.\"", "The mentor that I had that really influenced the way that I think about right now is probably Professor Wilkinson. He was my first computer science professor in community college. I had never really programmed before. Most people had, you know, programmed something when they were in high school but I'd never even coded anything in my life and I took two classes with them and just the way that he wrote things on the board, you know, boxes and squares, all professors do that, so obviously he was my first one so he did it for me too. But it really opened my eyes into how computer scientists think. Halfway through the class, I realized that, you know, when I am sitting behind the computer, typing so much, which is what I thought computer science was, I thought it was like ones and zeros, bits and numbers. Most of the time, he was writing and drawing things up on the board, up on the white screen and even right now, you know, when I'm when coding, most of what I do, a lot of what I do is with sheets of paper and drawing and pictures and stuff. So, he really, like, kind of opened my eyes to what a computer scientist does. A computer scientist doesn't type code on the computer screen. That's his tool but what he does is, he thinks logically about his product and that consists of visual representations and those are things that are interesting to me and Professor Wilkinson was the first person that, kind of, showed it to me.", "The best people to talk to if you're unsure about what you want to do is the people in the field if you can. So I know many people will ask their their dad,\"Hey dad, should I join the Navy?\" And I gotta say if your dad has never been in the Navy, then although his advice should be considered, he might not know what he's talking about. The best thing to do would be to ask someone who's been in the military, and the longer the time the better. So for instance, you don't want to ask your cousin Joe who just got back from boot camp what the military's like. He's probably not gonna give you a fully formed answer. You want to ask the senior chief who can give you from the outs and in, the deployments, to the ward, to the sitting at home, to the long days, to the long nights, to the easy vacations and the full spectrum. So get people with experience.", "I think that that the Navy change the world, the military can change the world, and ultimately America can change the world if we use the money that we are spending for the military wisely. So America spends I think six hundred billion dollars per year, which is from what I understand several times more than any other country. It's maybe the next six countries combined total, that's what the military spends. So what are we using that money for I would say that it's policing the world. We make sure that we have a huge military so that there aren't huge fights breaking out all over the world like it used to be two hundred three hundred years ago because there wasn't a main force. Then you have England attack France, Iraq attack Saudi Arabia, I'm making up countries but you understand that there wasn't a global force for good making sure that everybody isn't going crazy with all the attacking. So yes America does attack itself too and there's an ideology behind that. But ultimately as long as America can control the huge fights that break out then I'd say that people for the most part in most countries will appreciate that protection that we are providing.", "I think I am at my proudest when I have some kind of difficult task, like some discrete math problem that, you know, I see that, you know, I can't do, you know, other people haven't, you know, done and all of a sudden, like, you just sit back, you know, you put your paper, your pencils away and you think, \"Alright, you know, like, they're not trying to attack you. What is it that I'm supposed to be doing?\" and you think of a multi-level solution and you finally get the answer and you know, it's kind of like playing chess or something, you know, you get into this point where you can kind of see things, you know, like five, six, seven steps down the road and if you don't think of it that way, then you won't solve that problem. So, when I do think of it that way, you know, when I do solve those complex problems, that's when I'm my most proud, that means it's like, you know, a sign of my intelligence or something.", "For me, personally, because I'm such a senior individual, many days are pretty repetitive. A lot of the training I've seen so many times before, that's why I'm an expert. A lot of the manuals, I've read so many times before that's why I'm an expert and some things, I could quote by heart. So, there's not that much extra learning that I need to do but then again, that's why I'm a Chief. We're the people that you're supposed to go to. What I see in newer people that come, for instance, they've just been in for a year or maybe two years, during working hours, I see them having the book open, turning page by page, learning new material. If they have questions, they come to me, they ask, well, first classes or more senior people to them. For me, as a Chief, even though I've seen a lot of the things very often, there are things I do, for instance, I might go on my annual training. When I go to a ship that I'd never seen before, or I go to a station that I've never been to before and they ask me new things, that's when I actually have to learn myself. So, there are about two weeks per year that I go to a ship and they say, \"Hey, find the ground in this\" and I haven't seen a ground or I haven't had to look for a ground in a couple of years. That's when I go to my civilian co-workers and ask them, \"Hey, it's been a while since I've done this. Can you please give me some advice?\" Or, I have to pick up a book myself.", "I think success really depends on an individual's desire. First off, I have to say success is what you make of it. But for me personally, if I wake up happy, smiling, if I look forward to going to work, if I have some people around me, one, two, five that really care about me, that care about my progression, as a older people who will take care of me. If I have those people around me, then I call that successful. Right now, I think I'm successful. Now, many people also choose to say, \"Well, success depends on what you want to do in the future\" and for that one, I say, \"If you're doing all of the things that it takes to get you from point A to point B. So, for instance, for me, if I wanted to go to Stanford, if I wanted to become an entrepreneur later on and own my own business, am I doing the things that are required to go to those goals?\" and it's a simple answer, yes or no. If I'm not, if I'm playing video games all day, if I'm just talking with friends and drinking alcohol and not really doing the things that set me up to get to that place, then I say that I need to start doing those things to get my life straight. That's unsuccessful.", "I think for me, the greatest success that I had was being accepted to my undergraduate university, UC Berkeley. From the time that I got that sheet of paper that said, \"You have been accepted\", then I realized my life was about to take a really drastic change because I know that that school was, is for some of the smartest kids in America and that paper really told me that all of the things that I'd been trying to do, all of the late night sessions that I had been working on, the homework and the math and the science, all the times that I stayed up overnight, that culminated in someone out there saying, \"You know what? We think that you have what it takes to change the world.\" That's what that paper makes me and that's my biggest success so far.", "Something that's really important in life, although I don't really have it in abundance myself. It's your connection with other people, be it your family, be it your close friends, be it your coworkers. You should really try to put yourself out there in the world, try to become you know a part of this world. I know that sounds very theoretical, but like if you're living in isolation, yes you're playing your video games, yes your studying all day and all night, and if you don't have that much interaction with other people in real life, then I think that you're missing out on something that is a really really really critical to make this world go round you know. I think you'd find yourself smiling a lot more every day and finding a better peace when you don't have any enemies around you, when you are looking out for your brothers and your sisters beside you.", "There are tons of good websites that you can find as long as they're reliable a couple of my favorites are \"navy.mil\" and \"navy.gov\" but like I said you can just do any Google search and put in \"Army\" \"Navy\" \"STEM careers\" and chances are the first to pop up should be pretty good for you.", "The biggest and brightest stars that we have in the STEM fields, obviously, are the ones who are good at math and science but in the general sense, it's more your ability to think about things logically. So, if you're good at puzzles, if you get some kind of question that you don't know the answer to but you're willing to, kind of, research that until you find the solution, then STEM is a good career for you. This is what I mean. For me, as an electrician, there isn't that much math that I did and there's not that much science that I did. However, when I'm looking at a circuit and I see that one part is open and I'm familiar with most of the things on the circuit. Well, this is a short, this is a motor, this is a generator, this is a capacitor but there are some things on there that I don't know. If I put down the circuit and say, \"Well, I guess that's it.\" Then, maybe STEM isn't good enough for me, well, maybe I'm not good enough for STEM. However if I can look at it and I realize that I don't know the situation and I can turn around to other people or I can look in the book myself and figure out, \"Okay, well, so that's what this thing does. Well, let's look at the power. I don't understand the way that this math works.\" So, let me again look to see, like, \"Okay, well this goes up, this goes down, this is the function for this\" and then look at another book, it's like,\"Oh, okay\" and then I can backtrack all the way to that component to kind of figure out what it does at the end. If I'm willing to do that process, then STEM is for me. It's kind of like a goose chase. If you like goose chases and the goose chase that you're doing is math and science oriented and that's fun for you, that sounds like something that's fun, then STEM is for you. If you just look at a problem and you get really frustrated and you want to throw the book out the window, if you found yourself doing that a lot, then there are other jobs that you might find more interesting and more fun, more satisfying than STEM.", "The specific courses that I would recommend in college, basically anything engineering-ish. So before I joined the nuclear Navy, I took some community classes to kind of, prepare myself. I took conceptual physics because I had never taking physics before, and I took precalculus math because I know I would be learning calculus concepts later on. But whatever your level is, maybe you're not calculus ready yet, just take your bottom math and even though you weren't good at it before you know, it's kind of important. So bust out your high school skills, bust out your homework doing skills, and try to take on a mathematical class. Even if you have to repeat one, even though you did it in high school, try to do it over again if that's not your strong suit. Any science class could or could not, so you might not be using chemistry so much, so you can probably skip that unless you have some kind of chemical intensive job, but physics is a good one. I've seen many physics concepts in all of my engineering jobs that's computer science that's nuclear technology. Math, all the math that you can, as high as you can, up to differential equations. So that includes pre calculus math, calculus math, discrete math, differential equations, basically all the undergrad college level courses that you can take. If you take them in high school that's even better. And I think those are the two main ones, physics and all the math.", "There are many opportunities for internships if you're going into the stem field. I know that I had an internship myself at the Department of Defense. I worked at the Naval training station in Orlando and it was my first internship, it dealt with computer science. I was working on making speech more understandable for a computer as you talk to it, so that was really good. So I think the Department of Defense, I think you just Google D.O.D internships and press enter and then there's, probably the whole first there's lots of different postings for you. So at every military installation, let's say in California at Corona, at San Diego, at SWRMC (South West Regional Maintenence Center), at even the San Diego Naval base. There's probably some opportunity for high school students and college graduates to get a little bit of taste of what the federal government and what the military can offer for military careers.", "The best information that I could give you if you're trying to understand what you should do for your future career is to learn as much information about it as possible. So for me I joined the nuclear technician field and I didn't even know what they did. I thought we were going to be working on nuclear bombs and I think if I would have known a little bit more about it then I would've had better jump start for my career. So for instance if I knew about like, that the nuclear technology field dealt with the internals of making nuclear power with uranium, then I would study more about that, and my schooling would had a better, I would've understood my schooling a lot better. If I would have picked up a little bit of electrician knowledge beforehand, like for instance, I had no idea what the difference between voltage and current was until I was midway in my A school, my initial school learning. So it would be really nice if I would have understood some of those basic concepts before I started the school. My grades would have been higher, I would have gotten more awards, maybe I would've understood the material, the complex material that was being presented to me in a much, in a much better way if I would've had like fifty or sixty percent knowledge beforehand. So I wouldn't have missed out on all of those like. those minor advanced topics during class. So I guess my advice is learn about your job before you go into it.", "The way that you can be the best at your job, the way that you can work smarter is open up the books. I have to say you know, I wasn't really a STEM engineering type myself you know. I think everybody had an upper hand on me when I first joined, but the difference between me and a lot of other guys and girls while we were going through, the reason that I can really rise through the ranks is because I was opening the books all the time. There's these things called watches that you stand, where you kinda sit in a chair and you like watch gauges and make sure that you know nothing's like exploding. But that's kinda like free time you know, so you can't like read comic books, you can't watch a movie there, so with that spare time they actually tell you, open up the books you know. Open up and keep your training going yourself. So that's what I used to do, that's what I did, and it's, I found out that month after month you know, year after year, my knowledge was steadily improving, and I think it has a lot to do with the fact that I was reading a lot during my watches.", "I don't think that computer science is really ethnically diverse because in general, engineering is not ethnically diverse. For example, when I was at Berkeley, I was taking my artificial intelligence class and there are about four hundred people. There there was one other African American female, she always sat in the front and there was me. Besides that, it was basically Whites and Asians. For the military, I'm an Electrician's Mate on the nuclear side and that's not very ethnically diverse either. That's because nuclear technology and basically engineering, is kind of a higher level field and unfortunately, Blacks and Hispanics don't really shine in those areas as much as Whites and Asians do. So, the military is very diverse but Blacks and Hispanics are usually in the fields that don't require as much technical thinking but at least on the civilian side, at least in school, Berkeley had lots of different cultures but they're mainly in the humanities section not so much the engineering section. That's something that I'm trying to change myself. That's the reason that I'm in computer science at the first place because I want to do education so I can help people like me, you know, who were young and wanted to have some kind of inspiration to do technically oriented jobs but I didn't really know where to start, so. It has a long way to go. In fact, even at USC, out of the whole entire games department, I'm the only black person that's there. I don't think I saw, there were maybe two or three Hispanic people and this is a field of maybe, several hundred people. So, it has a long way to go.", "The gender mix is very male oriented, just like any engineering job. any engineering academic field, they sway over to to men. So the Navy's pretty good about that, the Air Force is the best I think, they're you know getting close to like sixty forty percent maybe even higher, male to female ratio. I think the Navy is a little bit lower it's from what I understand, maybe my aircraft carrier was one quarter female, at least that's kind of what I saw, and that's about what it was. But it could be lower, maybe twenty percent is probably what I'm guessing. The engineering field of the Navy is, on submarines depends you know which ones you're going on. If it's a fast attack submarine I think they just barely started just a couple years ago started allowing females on, and if you're on a ballistic submarine, which means they shoot nukes off, nuclear weapons off, then they don't have females on there at all.", "Something that a lot of people don't really realize about computer science is just how easy it is. Yes it can be very difficult. You sometimes have to figure out algorithms you have to figure out the best way to put the light that comes on the screen based on the moving of the characters, and you have to like, you have to understand that the computer is like calculating thousands of things per second you know, actually millions of things per second. So you have to like tweak and optimize the things that are, that you tell the computer to do to make it. So all that's very very difficult. However, some of computer science is really really easy I know that some people who had never done computers at all, can you know study for a week or two, and then put things on the computer like web design or something. So then based on what they learn over the next like a few weeks they can actually make a career out of that, and that's computer science as well. So it ranges from very easy to very hard, and lot of people think aw, computer science is so difficult. Eh, it's as difficult as you can make it. It's as difficult as how hard you're willing to try.", "The impact that you can have as an engineer and particularly computer scientists are amazing. So when I was in the military I did a job and I noticed that whatever I did on January 1st wouldn't really be recognized on December 31st, it's because I'm doing the same job. That's fine for a lot of people, but for me I chose to try something different than the military job that I was doing because I wanted my job to be persistent. So this is what I mean. Right now I'm with the University of Southern California's Institute for Creative Technology making this video. This video could be seen by thousands, hundreds of thousands, hopefully millions of other Navy people. I could affect those lives. These are things that are going to be happening you know five years from now, ten years from now. So I can actually affect my world. Many engineering communities are like that. If you're making a robot right, if you make that robot on January 1st, hopefully December 31st you're shipping that robot, and that robot will go to Afghanistan and find a bomb you know. If you're an electrical technician, maybe you're making some kind of new component for a car and later on that car is gonna be faster because of the component you made. So for a lot of engineering jobs you work and then you create a component, you create a product, and then you can see that product in action, and that's one of the biggest benefits of being in a STEM field.", "When I am coding myself, there's this time that you're like, typing and you're thinking about, like the next algorithm that you're going to write and you start to get into this flow where you kind of see the future and it's all a matter of like, your hands typing down the words so that you can get to that point but at that time, it's not like you're typing, it's not like you're thinking of things at the time. You already know where you want to go and it's just a matter of getting there as fast as possible. So, that's what I mean when I say flow, like, it's kind of like, if you play video games and you know how you're supposed to beat the boss and then you can see the person on the screen running and jumping and you know, sliding and stuff but you're not thinking about the way that your hands are controlling the character. You know, you're not thinking about B, B, up, down, left, right. You're just thinking of the person running and jumping and so, that's what homework is for me. That's what, like, when I do my start-up, that's what it is for me, you know, I see the end goal and that time, you know, between the time that where you are and the final product, that's the flow that I mean where it's like, you can just get into it and it's really fun and you can do it all day, because it's, you know, so inspirational.", "The main beneficiary of the work that I do, I'd probably say, are the youth of today. I sound like an old geezer but yeah, if you're 12, if you're 15, hopefully some of the things that I'm thinking about, they're probably not going be done, you know next year or you know, three years from now. I'm trying to do things that are to take like five years, you know things that are like, for instance things with virtual reality where I want you to live inside that world, things, you know, for movies and they don't come so easily, you know, it takes years and years of work. So, by the time it reaches its fruition, maybe the kids, you know, that are in middle school right now will probably be in university and the, really witnessing the Marvel that I created. I think those are the main beneficiaries.", "STEM stands for Science Technology Engineering Mathematics, STEM. And it basically consists of what most people consider technical courses.", "For the United States military, I think many of the jobs that we do, do have some kind of STEM-ness associated with it. That's Science, Technology, Engineering and Math. So, he could be a cook. Chances are, there would be some kind of training that you do, based on, like, the grill. The fact that you're supposed to push these buttons and turn these knobs and, you know, you have to do maintenance on it, so you have to open it up and clean it or something that. That could happen. Additionally, when we do General Quarters, that's when, like the whole entire ship pretends that they're at war and, you know, they have to, like, do certain things to make sure that order is kept, that fires are put out, that, you know, like, if there's a hole in the wall that's patched up if it's flooding and you have to take it out. So, all of these things, they need some kind of understanding about the technology that's behind it. So, for instance, you have a fire fighting bottle and this is any job in the military, it could be a Boatswain's Mate, it could be a Quarter Master, it could be an Electrician's Mate, we all have to understand that this bottle has to put out this fire. The fire, you have to understand, is it class Charlie fire, class Alpha fire? You have to understand that the bottle is metal and it has to be on the ground and when you blow it, when you squeeze the trigger, that it has to be on the ground so you don't get shocked because of the speed at which the coolant leaves the nozzle. So, it's kind of technical in that way and you have to understand why. So, there are many things that are on the ship that can be considered STEM as well and you're going to be dealing with it no matter what you are. Some of us, like, we do it for our job no matter what. So, Electrician's Mate, you know, my normal job is check voltage and current, there's Fire Controlman, they're the ones who, like, use, they have to understand about the weapons and weapons systems. There's Electronics Technician who has to remove and replace the resistors that are in the circuit boards. There's mechanics who deal with the big pumps all around the ship, the gears, the switches, the panels, the turbine generators, you know. They're the ones who actualy, like, open it up and you know, like, maybe operate the system or clean the system. There are many STEM fields and even if you're not specifically, like, a STEM rate, you're going to be dealing with STEM equipment.", "So, some people ask if there are too many people in the field of computer science and I have an answer for that. Of course, if there are fewer people, then that means the supply and demand thing goes like this and, you know, if there are fewer people, I'll make more money and my skill would be more desirable but that's not the way that I see it. I think that, and I've gotten flak for this before, but I say that everybody should be a programmer and my friend would say, \"How can everybody a programmer? You have to, you know, think a certain way and not everybody is, you know, mechanically, you know, programmatically and engineeringly inclined.\" But I think that programming in particular, is something that not only should everybody do but it's something that everybody should learn. This is what I mean. I was looking at this five-year old and she has a tablet and with this tablet, she goes into the computer and she opens up a program, she plays whatever game she's playing and then she closes it. And to me, that is programming. You might say, \"Well, she didn't type anything.\" Well, to me, she operated a computer system and it just so happens that the program that she did was very very easy, it can be done with her finger, it can be done by pressing the start menu and swiping to the left and click on this button and then she makes the thing blow up by pressing this button but this is operating, this is technically programming. It's just doing it in a very very high level abstract way. So, everybody should be able to program and everybody does. Everyone who has a smartphone is technically programming. Everybody who has a tablet is programming. Everyone who knows how to type, technically you're programming. So, I guess it depends on the degree to which you're willing to accept the definition. I think that programming should be in every job as well and to a degree it is. Most people, regardless of what job that you do, is going to be behind a computer at some point in their career. Whether you're an auto mechanic, whether you're a NASA engineer, whether you're an Electrician's Mate, you will be behind the computer doing something online and the more opportunity, the more time you spend behind that computer, the more opportunities that programming itself will help you. So, if you're an auto mechanic, yes, you can use a program that somebody created for you but if you know how to program yourself, then you can create your own program. You can customize it for whatever job you're on, even for your specific work site. So, it can only help you. So, just like I think that everybody should learn how to type and it came to be true, I think that everybody should learn how to program and hopefully it will be true one day as well.", "Some of the changes that I see are really happening at a really fast rate. According to Moore's Law, he says that we double in our computer science ability every two years and it's very very apparent in a lot of places. One place I see, which is very specific to me, is virtual reality. They said that, just a couple years ago, virtual reality will be everywhere. Facebook bought Oculus recently and it should be on everybody's head pretty soon here but it hasn't turned out to be that way but it will. I think in a couple of years, everyone will be living in a virtual reality just like everyone has a PlayStation or Xbox back home. I also see that servers, servers is not the right word, maybe database administration is going to get a really big push forward and the reason for this is because, I think everybody is going to have their own virtual avatar in one way, shape or form in the next few years. Everybody kind of does, already with Facebook, they have their own website, their own profile and in that profile, you have a big cache of pictures, you have places where they've been, you have the friend connections. All of this is, like, one little set as a person but I think that's going to be very very expanded. Not only is there just going to be your picture and your name and your pictures, but it's also going to be, maybe, some of the applications that you like to use. Maybe your own personal virtual avatar who is dressed in a certain way. Maybe all of the shops that you like to buy at. And all of that, it's kind of, like Facebook times a hundred. This is where we're going to go. So, all of that needs to be managed and organized. So, that field is also going to explode, I think a lot. The final place, I think, is probably going to be artificial intelligence. So, we have self-driving cars, we have Tesla with its new and improve, like, hybrid cars. Maybe cars that you talk to, that you tell them where to go and then they find the most direct route to the location. You have SpaceX, where you send up rockets that require fewer and fewer people. That means that the computing needs to figure out things on its own. You have machine learning where you give the computer simple instructions and it needs to think for itself to learn, how to learn so it can, like, double or quadruple or, you know, times a hundred their original commands so that they can figure out these things on itself, by itself. So, all of these things, artificial intelligence, machine learning, you name it, database administration, pretty much, most of computer science should, you know, take us to newer and greater heights pretty soon.", "STEM careers range all types of ways, it's very stressful, it's very fun, it's very communicative, if you want it to be, a just like any job it depends on the company that you're working for and what what product they are producing so for instance you can work for a company that is making games and you're sitting at a table and there could be five to ten other people at that same table you know there's no walls you just study with them and talk with them to chat with them and play video games during during lunch time. There are other companies where you have your own cubicle and if you don't want to talk to anyone the whole entire day, eat lunch by yourself, then you're more than welcome to do that. So it depends on what project you're working on, whether you're making an aircraft, whether you're making a video game, whether you're making the newest electronics and the people that you're working with.", "Natural language processing is pretty cool it's one of computer sciences' most thoughtful creations basically you ask me any question and then the computer that's behind me is going to look at the question that you asked and find in their memory banks something that's very very similar and through their magic it chooses the best one, spits it out, and hopefully it's a good fit to your question.", "The main thing that a new Navy person has to learn is that you have to be able to follow directions. If you can do that, then you'll be fine. If you've ever seen the movie Forrest Gump, this is a person who had an incredible military career and the only thing that he did was just follow the directions that people give him and that's basically the truth. You won't get in trouble if you follow the directions that people give you. You'll do your job well just by following the procedures that are in front of you and in fact, the main reason that people get in trouble is because they deviate from that. The Chief tells him, \"Hey, go on to the billet and scrub it out\" and then he doesn't feel like it. So, he gets in trouble. The Chief tells him, \"Hey, you know what? Read this procedure A, B, C and D. Don't deviate\" and he thinks that he wants to do it really faster or really quicker or you know and so, it never works out. So as long as you follow directions, you'll be fine.", "When you're in the military, you're given a lot of technical training but we're fortunate that we don't really have to apply that technical training. When you're working, you have this list of things that you're supposed to do and you do it, you have this list of procedures that you're supposed to follow and you follow them and when you don't know something, that's wrong with something that you're working on, like a pump or a valve or a voltage regulator, there's already a list, a well-guided list of the procedures that you're supposed to follow. So, I didn't deal with technical problems so much in that regard, however that doesn't mean that we don't figure out technical things all the time. So, especially during your A school and your power school, you're presented with, you know, college level problems all the time. So, for instance, here is an electrical schemata and you're not getting voltage at this, at this point. So, how is that possible? Or, this is a picture of a pump and for some reason, there's water coming from this part. Please troubleshoot how you would figure out where this water is faulting at. So, after A school, you're presented with those types of problems pretty often throughout the time that you're in the Navy. You don't see them so often. When you do see it, it's a really big problem because, like, we do so much preventive maintenance and we do so much work that you're definitely not supposed to see them. But when you do have that problem, it's a big group effort and it's really hard to like, say that one person actually figured it out but you're presented with those small theoretical problems all the time.", "Most of my time is spent with people, regardless of where you go. There's very few times that you're going to find yourself just being alone, just like I'm in port, they always have a buddy along to make sure that you don't get in trouble. When you're working, they actually have a buddy that goes with you to make sure that you follow the procedures the right way. So, you're always working with between two and five people for normal preventive maintenance that you do, and for each of those things, the only thing that we do is we work with machines. So, you're always with people and high tech equipment all the time.", "So, the fairness in the Navy, it, I have to say that the military is fair. However, they have some intricacies that I have to say. So, for instance, let's say the economy does poorly. Then the President is to blame. Now, no one's going to say, well, \"You know, President, you are the one that caused that entire city to be downgraded.\" It wasn't his job, you know, like, maybe it's the President before him. However, he takes responsibility for it. So, there's a lot of responsibility taking for things that you don't directly control but because it was under your guidance, you are the one that, who people look to, whether it was your fault or not. So, if for instance, my military unit has many people that aren't physically fit, then they're going to say, \"Chief, what is wrong with your unit?\" Now, I don't have any excuse. I could say, well, \"You know, I tell them to work out and they just don't listen.\" I could grab them by the collar and like, try to run with them but in the end, the people that are working for you, it's their, it's under their cognizance and you just take responsibility for it. So, is that fair? In many cases, you might not think that it is fair but that's the system that we play by and as long as you're familiar with those rules, then that kind of motivates you to be more involved in the things that you're supervising, to make sure that they go right.", "The bosses that I've had in the Navy have been varied. Some of them I've got along with greatly but others they- in many cases it it depends on the type of personality that they have and just like with anyone, somtimes you make friends sometimes you make enemies if you can say that. So most people are just somewhere in the middle so the people that you would have a beer with in real life, those the people you can joke around with, those are the people that understand your personality and they're the ones who respect your work the best. However I gotta say that many people think that the military can be political, so for instance you could have a work center that has like four or five people and then you can have a supervisor for them and you can see that the supervisor has a better communication with you know two or three people in the unit. So the quiet person who barely ever talks to that supervisor could get frustrated in the fact that his work isn't being recognized the way that it should. So I've had that personal problem too. But it is what it is. You just take an average of your whole entire career. Sometimes you will be a superstar and sometimes you are gonna be kinda like the bottom of the list. But for the most part as long as you you present a good effort then you'll be successful. I made it to chief, so it seems like most of what I've been doing with my bosses has been on the positive side.", "I get lots of personal satisfaction from my job. Of course the salary is no joke I make decent money, enough to live and enough to support myself, but the skills that they provide they really go pretty far. Whenever I mention the type of work that I do, people's eyes light up and it makes me really proud of being able to say that I work with nuclear technology. Other sources of pride come in the fact that it's not everybody that can actually push an aircraft carrier through the water and I can actually say that my hands touched something that made this huge multibillion dollar piece of equipment go through the water to fight a war. It was me. If I push it twisted this way it would've stopped or did it this way it goes fast. So that's a once in a lifetime experience and adventure.", "The biggest advice that I could present to somebody who went through a tough life similar to me. My life wasn't extremely tough, it's the way that I looked at it, other people would say that I had a tough life. I mean I've seen roaches in my bathroom, I've had mice crawl over my feet. I've, I've smelled gunpowder you know, from outside. I've had a pimp, you know, hit his prostitute outside my door. These are things that I've experienced and I gotta say you know, as much as, as strong as I want to be for saying you know, it didn't affect me I'm strong but I think that you know, it really changed my life and I know that a lot of people, especially ones that join the military have had similar careers you know my story is not unique. So I think one of the things that has helped me in order to look at my past better is to have different experiences. Another thing that I'm proud of is the fact that my dad was in the army and I got to go to Germany. So just being in that other environment, being surrounded by German kids, needing to speak the German language, you know eating bratwurst you don't like, having that different experience allowed me to come back to Flint and say you know, this isn't life, this is one part of life, but there are people in Florida that are you know going to Disneyland, people in Germany you know doing Octoberfest, there are people in Japan you know eating ramen and watching anime. This is just one small sliver, and if you can somehow escape from that environment, or even maybe do something within that environment to make it better you know, then you can see that you don't have to be disheartened by your, by your surroundings. It's just what you make of it.", "The advice that I have for someone being bullied, it depends on how you want to look at it. My advice that I did for myself was that I just stayed in my own little world. Yeah I wasn't very sociable as a kid, but something else that I did that actually changed it, I don't suggest this but this is what happened for me, and it stopped me from being bullied, was that I changed myself. I realized that after I put in contacts and took off my glasses, and I start working out you know, I was working out, I was on the track and field club so I ran all the time and I could notice my muscles getting bigger, my chest you know I could shake them. I had a six pack you know, I realized that after I did that, all of the bullying stopped. I don't suggest that because you should be whoever you want to be. I mean because I didn't change myself like that to stop the bullying, I changed myself because that's the person that I wanted to be, you know. I liked not having glasses you know hurt my nose, I liked working out because you know it made me more energetic, but whether you stay yourself or whether you have a different personality or you know you change your look or your feel, all that doesn't matter. The only thing that I can suggest if you are getting bullied is to realize that you're somebody, that you're gonna be somebody great later on in life if you, if you apply yourself and to not let those words sink in.", "If you have a spouse, a husband or wife, or even another boyfriend or girlfriend who you are very close to doesn't really understand the requirements of the navy, I would suggest that the military person present them with some of the support that the military provides. You have MWR, Morale Recreation and Welfare that can show the spouse or significant other, number one, ways that they can divert themselves. If your, let's say husband is out in the ocean you could find yourself very bored, you can find yourself wanting to be around them, to call them all the time. So MWR can show you how to like mingle with other military people, with other military spouses, with other people in the community to kinda like take your mind off of them. They can also provide them with legal support if they're running into some problems while the the husband or wife is away. So as long as the military person shows the spouse all of the support, then they shouldn't, they can overcome their problems.", "Trying to find what you love to do, it has two brought answers for me. The first of which is you hear this very often, follow your passion. So personally my passion was music and art. I wasn't an engineer person per se, when I was a kid all the way up until a couple years after I joined the Navy. That's right, I joined as an engineer and I wasn't an engineer until after I got to my first ship. I, to tell you the truth, I didn't even like it too much. I like talking languages, and you know conversing with people, and you know writing stuff, and typing on the computer. I did not want to see oil, I did not want to touch a wrench you know, that wasn't for me, but in the end, it brings me to my second point. Try to become really good at the skills that you possess. So for me, I think I'm a good electrician. I became a supervisor after some time, and it's not because I had a passion for electrician things, it's because I found that I was good at it, and that gave me motivation to learn more and more about it, and once I started doing that then it became easy for me. And after it becomes easy for you, then you can start explaining things really well, you can start reading a book and learning more about it really well, you start getting awards for it, you start you know wanting to know more about it. So yeah those two things: follow your passion and if that's not for you, then follow the skills that are provided to you.", "If you don't know what job you want to do, then my suggestion is that try to push yourself to try to do as hard a job as possible. You can always go down but in many cases it's very hard to go up. So for instance if you pick a simple job like let's say picking plants. I don't mean to discredit any plant pickers out there, but if your job is to pick plants, and then all of sudden you want to be a computer scientist, let's say, it might be hard to try to make that switch. You don't have the skills to do computer science, you don't have the background, you might not have the right way to think about the world. However, I think as a computer scientists, if I wanted to, I could be a very, very good plant picker, so you can always go down but it's hard to go up.", "For me, STEM has been a really good profession to have. When I was younger, I was very humanities oriented. You could have talked to the seventeen year old me and said, \"You will be working on programming or you will be lifting a wrench and doing some electrician things, checking voltage\" and I would've said, \"You're crazy, that's not me.\" But there was something in me, maybe because of my past, you know, I used to play chess or because I was good at math, that I thought it was interesting. I wasn't scared of it. So, I think that the people that are like that, the people that look at math problems and who aren't scared of math, I could just say and who aren't scared of science. The ones who maybe are challenged but want to learn more so that they can solve the problems. If you are that type of person, then STEM is a really good field to go into. If not, then, I got to say, I've met many people in STEM who, you could tell, aren't like that, are just, kind of go with the flow and don't really see the interest in math and interest in science. They're doing it just because it was offered to them and those are the ones who have the biggest problems, those are the ones who kind of, like, fade into another job or maybe even get kicked out because they're not good at the job. So, there has to be some kind of passion for, kind of, numbers, scientific thinking, methodologies, logic. If you're like that, then STEM is a good choice for you.", "So you should probably keep looking at the job that you want to pursue. There's a lot to learn and I've been doing this job for a long time and there's always things that I can still learn, but you want to have a solid foundation so that if someone asks you what an electrician does, what a computer science does, then you can respond in a decent way even though you might not have done it before or know about it yourself personally. As long as you can give that that saying to someone then you're on the right track. After that, go on the internet, you know, browse what different people do. That might not help so much because for instance you can type in Mark Zuckerberg and you'll see that he does all these things, but you don't know exactly how he does it. So the next best thing would be to see the things that professionals do and then start doing them. So for instance, computer scientists they learn a language C#, C++ so probably start on you're own language the kind of engineers they work on little robotic stuff movable things. So for instance, find something at Radio Shack that you can start working on you want to have some kind of portfolio that you can if you can manage it. You want to have some kind of portfolio that you can show to other people to prove that, \"Hey, ya know like I'm interested in this career\" and I think from that point on the next thing that you're supposed to do are gonna start falling down like dominoes.", "One theme that I keep pushing is that you should really follow your passion and if you have a career that is following your passion that's fine. Not everybody can do that so chances are you can wind up in a job that you're very interested in, even though it's not your passion. Maybe your passion is just your hobby. So the job that you have number one you want it to pay the right salary. If it's paying less than what you want then maybe you go in and maybe you're smiling every day, but I think you'll always have in the back of your mind, \"Maybe I can be doing something better.\" So if you can, try to like aim high, aim high for a good job, for the best job that you can be. Don't be, you know, the local department store clerk if you really want to be a NASA employee you know. I think there's going to be a disconnect that you might not be able to get over. Nothing against us those clerks. Another thing would be the people that are around you. So you can be in for instance a place with a cubicle and you can be doing quality work there. But if you're a very sociable person, and you want to be talking with people to help you and you want to help them, that cubicle might not be the best job for you even though it might be an interesting job that you like. So you have to realize the sociable aspect of it, the payment salary aspect of it, and the passion aspect of it. If you can find some kind of combination that all three fit, so that you come into work smiling, knowing that you have challenges ahead, knowing that you can be well promoted, then I think that that's the kind of job that we're all looking for.", "In my college career I've really experienced being confused a lot. Confusion is a big part of the college experience. Number one it helps you become a better person, but number two there are just some bad teachers obviously, or maybe you're just a bad student you know, or some combination of all those three. And when every you're in one of those situations where you're listening to the teacher, you're looking at the book, you're reading, you're doing your homework as much as you can and you're just lost, how do you get through it? That's when you have to depend on your friends. You have to go to people that have taken the class before and try to ask as many questions as possible. Go to the professor and even though you do it one time, two times, three times, I think the more that you come the more he'll understand as a person, the more he'll understand the way it is to teach you, and he might change, he or she might change the way that they talk to you. So the point is to keep going, have that commitment to don't give up, to never just say to heck with it let me move on to the next thing because your college career will be lengthened substantially that way. You want to really master your subject so go to your professors go to your friends and they'll help you out.", "I think I'm really fortunate to be born in America. I've had the opportunity to travel all over the world I've been to Kuwait and Bahrain and Dubai Japan Malaysia I've been lots of other places and I've gotten a chance to see the way that different people live. Some are well to do, some not so well to do, and being in the military I kind of see America's role in that and I also see the way that they live compared to other countries and I gotta say just being born in California puts me at such an advantage in the world and I'm very grateful for that, if I can I'll try to help other people as much as I can I feel like I'm doing that I'm hoping that I'm doing that but that's one thing I'm very very grateful for.", "I've had several internships, my favorite one would probably be my first one. I was working for the, for the Navy we're at the Naval training center in Orlando, Florida, it was right beside Disney and it was my first one so I think that that was one of the main reasons that I chose this to be my favorite one because you get that, \"Oh I'm I'm new in in this new place and I'm actually going to be using my major to do something important and around me all the smart people\" you know. You have all that like wow and wonderment you know because it's your first experience. I was doing something pretty cool I was working on a, so the Marines they sit with their guns and they can actually go to the real field and actually shoot people and have helicopters drop things or they can do it virtually. So what they do is like they sit in front of a screen and instead of being out there in the real world, they actually talk to a computer and you say something like \"drop illumination five yards east\" or something and then the computer does it. But the computer doesn't really understand it completely because if speak for a long time then it starts to get confused. So my job was to kind of fix that, and every day I was learning something new, I was talking to smart people who were really like making me a better computer science major and it was really cool. A really cool two to three months.", "Right now I am a ALT, which stands for assistant language teacher. I'm here in Japan, I teach English to elementary school kids and middle high school-middle school kids, not high school kids-and I also work for ICT at night time. I'm doing these video sessions. Also, I'm also doing a research for Touou university. I'm writing a paper that's going to be presented hopefully at a conference. Also, I am a part of this start up, we're making our own virtual reality videogame.", "My birthday is April 19th, 1979.", "I got into archery based on the fact that I was kind of a geek when I was growing up. I used to play Dungeons and Dragons and you know that they're like these warriors and elves and my favorite character was like, a ranger. So he always had his little helper friend, you know, like kind of pet and he'd always go shoot things. So, I grew up in Alabama and we used to shoot guns a lot too, and the fact that I was into that kind of a game and the fact that I used to shoot guys myself really got me into like, long distance kind of sports. So, I got my two expert, my marksman and my sharp shooter qualifications and because I'm really good with my eyes, you know, that got me into archery because it's a lot easier to do here rather than shooting guns.", "When I was a kid, I used to wear these glasses, I used to be a lot skinnier than I am, I'm a big chubby guy now but I was your scrawny nerd so I had my two or three friends you know, we used to play video games and Dungeons and Dragons all the time and yeah you know that's ripe picking for bullies. But I think I've been in you know a couple fights in my life, just barely you know like little scuffs and no big deal. However I happen to think that I was at least a decent looking enough to where girls would kinda like me too, so it didn't really affect my personal you know, my personal idea of myself. I just thought well you know one day I'm gonna get older, I'm probably gonna have a good job I'm gonna have nice cars, and you know so, the bullies are picking on me you know, it's, they're probably gonna become losers later on in life. So that's the way that I thought when I was younger so.", "My name is Clint. I was born in California, Los Angeles. I traveled around the world when I was a kid. By the time I got to high school at eighteen, this was, I didn't really have too much family so I was just kind of alone in the world. And in 2000, when I was twenty, I joined the Navy. I stayed in the Navy as a nuclear technician for eight years, from 2000 to 2008, then I joined the reserves and I started going to college. Undergraduate was University of California Berkeley. I did that for about five years or so, and then I started going to the University of Southern California to get my Master's in Computer Science Game Development.", "I think my biggest strength would have to be my ability to show others something that I know very well. So, for instance, when I was in the military, we would have to explain how the propulsion system works to people who had no idea about it, who were cooks, or journalists or media representatives. So they would come, have no idea about engineering, have no idea about what steam, is what electricity is, how it works. And by the end of that, my little tour, they had to kinda understand it, they had to have a board they'd run, they'd have to kinda explain what I told them. And for the most part everyone told me, you know what, I understand it now. Everyone said, wow, you know like, that's so interesting, have few questions, but I think that I got it. No one came away confused. I think that's one of my strengths. When I try to teach kids English, English I know really well, so I can explain like, simple concepts very very good. So education is my strength", "I hate shopping.", "The biggest barrier to entry, to join the navy, and basically the military in general, is that you have to be able to follow directions. And even though that sounds like a very small task, it shows up everywhere in everything that you do, from from doing the simplest of tasks to writing your name to you know making a list of things to do in a complex procedure you know, and everything that's in between those two, those two distinct elements. So of course the people who are really bright, they get the more complex jobs you know, the Navy is really good about that, but no matter what your job is, you're going to find yourself faced with a complex situation, and it's very important to follow directions because people's lives are at stake. You can actually get someone killed with some of the things that you do. Even if you're a painter or a boat driver or an electrician, no matter what you do it's gonna affect somebody some way, and you're not really familiar with exactly how it's going to affect people. So you have to really do the job that people tell you to do because you can't see all the dangers that are associated with it.", "I've been in CS ever since 2008 and it's 2016, so about eight years and I wouldn't say I'm really perfect at it. I think to be one of the, to make a high salary in computer science you have to be really good at it, that's hands down. If you're just kinda average then you'll make an average salary so, but having a really good job is on the top of every computer scientist's mind, but not everybody is so great at it. So me I'm in Japan, I'm studying a lot I open books and watch online tutorials to try to get to that point. If I don't get to that point, then maybe I would try to do something similar to computer science, but maybe not specifically on, there's web designing, there's Electrician's Mate, there are lots of jobs that like, for instance a director. Those could be jobs. So I think if other people, if other computer scientists are like me, then I guess they might become discouraged because the job that they're trying to do is difficult, and it's hard to learn those difficult things.", "I'm trying to solve lots of different problems that are very educationally oriented. So, I want to bring technology to the classroom. I noticed that when I was in school, that the lectures were boring, from teachers, you know, writing up there on the blackboard, that the books, you know, they're kind of dry and you know, the words are plain. and then I go home and I see entertainment. I watch YouTube videos and I watch Netflix and I'm, you know, like, the videos that I watch are like, very educationally oriented. You know, I watch physics videos and I watch computer science videos so I try to, I would like to bring that style of education into the classroom because it's more interesting. So, I'm trying to solve that problem when it comes to things that I want to see come in the future.", "My life is really full of distractions, especially when I'm doing something important, when I'm doing something that takes a lot of physical energy, then distractions abound. So for instance, one of the worst ones, or maybe the best ones, that I found when I was undergrad, was Netflix, watching movies. There was this time that I would just watch it day in and day out, and it was really messing up my homework. Eventually, I came around. How did I come around? I guess a few bad grades, or maybe one or two projects that you know, really, really sucked, and then you get your senses. Right now, my biggest distraction is video games. I'm trying to learn Japanese every day, and I fail every single day because video games are taking the spot, and it shouldn't be like that. Another one would be when you have too many friends, you're sitting there going to bars and drinking and, you know, kind of chatting. When they ask you to go out with them every day, then it can be really, very distracting. So in each of these cases, you just kind of figure out what your purpose is, why you're there, and then try to get back on track the best you can.", "If I had to rejoin the Navy, and considering the different options that I could have, I think that being an electrician really opened up some doors for me. It actually like alllowed me to think about different things than I would have otherwise. I know about nuclear technology, I know about electricity things, voltage, current, resistors, and about power and watts. I know about lots of things that I had never even considered myself interested in before. So does that help me, in a sense, I think it does. It gives me a better perspective. Would I do it over again? So the thing that I'm lacking from doing my nuclear technology path, is I don't have a long history with computer science. So I think if I would have joined like for instance the IT field, the information technology field, then after eight years I'd be really really bright about computer science and networks and what's going on in the, on the interior of a computer. However, the problem would be that I wouldn't know the electrical portion of it. So I think I'm happy with my decision, but I would probably try to do something more computer science oriented if I had to do it again, knowing that I would do it in the future.", "When I was in college, I actually did a couple of internships and they really helped me out a lot. The very first one that I did was when I was in community college. It was right before I was accepted to my university. It was at the Naval Training Center in Orlando, Florida. So, I was in the military before so that's probably a big reason why they accepted me for this internship but we were studying something, we were doing work on something called the MSAT. It's this big huge screen that Marines, kind of, like, sit in front of, with their guns, facing the screen and they're supposed to be talking to a helicopter and the helicopter is supposed to be dropping bombs on something. So, if they didn't have this screen, they'd actually have to do it in real life. They'd actually have to be on the desert and talk to a real helicopter to tell them to drop bombs on this place and the helicopter costs money, the people in the helicopter and the pilots cost money. Being out there in the field, you know, it all costs money but if you're doing virtually, then you save so much cash. So that's one of the first things that I was doing. The internship was to look at the code and help write the script so that when the person talks to the computer, that it understands what he says. So, if he says, \"Drop an illumination bomb on set XYZ in 300 yards. Explosion.\" Maybe the computer might not exactly understand what he said. Maybe the computer hears, ''Alarmination instead of illumination\" and without that word, it wouldn't do the right thing. So, my goal was to say, \"Well, hey, sometimes people say illumination, sometimes people say illumination, sometimes people say illumination but no matter what they say, as long as they say il-la, then the computer should understand the rest of what he's trying to say because there's only one type of bomb.\" So, that's, kind of, like, the first internship that I had. The next internship that I had was at the University of Southern California Institute for Creative Technologies where I was a quality assurance specialist. That's where I look at a game and I make sure that it's, all of the things are supposed to be working the right way, the sound works the right way, the colors work the right way, the listening of the computer works the right way and another internship that I had, it wasn't quite an internship but it was a job, as a Residential Computing Consultant for the University of California, Berkeley where I just go around, making sure that all the students had the right operating system, could get onto the wireless network and didn't have any viruses.", "For my navy career, I learned a lot of stuff doing six weeks of intensive electrical training, you learn about motors and shunts and shorts and opens and switches and valves and thousands of other things. You don't really see much of it when you're in your job. You know about it, you've heard about it, if it ever comes up in a problem or a technical class then you'll be familiar with it, but you don't really see it, and there's a good reason for that. It's because we do so much preventive maintenance on our equipment that the times that we have problems are few and far between. Yes, we do have problems but they're not as complex as you might see in the books that you learn. That's our job though. Our job is to take on as much information as we can and have the access to the tools, we have access to like the books and the procedures that are required to fix the problem when we hear about it. Knowing about it is a lot different then actually working with it every single day. So as long as you've heard it then it's good enough.", "For me there's not one best career that you can go into, I think even for me I had many opportunities that were available to me, I could of went into music I could of went into art, I chose engineering because I like the challenge I like to challenge myself to figure out things that I've never figured out before and to try to I don't know, ha, get the most money that I can with the amount of intelligence that I have. But really, you should, you should have your future salary in mind you shouldn't just push that under the rug but it should be a balance between the passion that you have for what you want to do because that will help you be promoted and that'll help you enjoy every single day, you know, for the things you're doing until the time that you retire and salary and you have to have the passion you know you have to have those two balanced to have a good quality job.", "There's not one right answer to the best STEM field to go into. I started off as an electrician for the Navy but I eventually changed to computer science because after thinking about it I thought, you know, with all the other engineering rates you actually need to invest some kind of money if you want to make a robot. You need to go to Radio Shack and buy all those equipments. If you want to work on planes then eventually you're going to need to go find a plane to work on. But computer science for me was one of the only jobs that you can have where you can have a Macbook, you can open it up and based on just your own mind and this laptop you can come up with a million dollar product. And that to me was incredible so that's why I switched but electrician is a great job. I had sometimes I had fun with it and I can see that other people that I saw the mechanics the like electronics engineers they they engineers generally are pretty happy people.", "The Navy is pretty diverse. I think it also depends on which location you're in, because people tend to go back to where they come from. So let's say South Carolina which is very white then it probably has a higher percentage of white people there. In California, which is very very diverse, then you have a lot more of a diverse mix there you know so, but despite that wherever there's a military town, it's much more diverse than the outlying area by far so you don't really have to worry about being in a select group in the military, it's it's all over the place. So I think from what I saw, there's, percentages would probably go maybe five percent Filipino, maybe ten percent Black, maybe fifty percent white, twenty percent Asian, and then the rest is a kind of mix. But like I said it really depends on what your rate is. For maybe the higher level rates, it tends to be mostly white and Asian, and it also depends on which city you live in, for there's people that want to come back to live around their family.", "I think that there are fewer minorities in STEM, based on the difference in culture. So, I've lived in a White household, not the entire time, but for some portion of my life and I kind of saw the way that education was being presented to me and to the students that I saw around us. Education is number one, you're supposed to be doing your homework when you come home. You know, there's probably an hour, two hours that you have to, you know, focus on your education and then you can go play, things like that. Whereas in the Black households that I lived in, it really wasn't an issue. For instance, my mother, she didn't even graduate high school. My father did, but he wasn't really interested in my education. So, there were things that I did when I was a kid. They give you five dollars if you, you know, like, do all your homework for that week or they look at your report card and, you know, \"As and Bs, okay, well, you know, you don't get in trouble\" or things like that. But it wasn't really, college wasn't really pushed. For instance, I never heard the name of any college from any of my family, my mom's side or my dad's side, because they were divorced right. So, that's opposed to the White households that I lived in and, you know, then you're always hearing about University of Michigan and, you know, we're going to go to a college game this weekend or this person is coming from University of Nebraska and you know, here is what he's doing. So, it's, those things are pushed on you, you know, every week, every other day, you know, it's part of the culture. You're expected to graduate from high school and then go on to college and that's very obvious whereas in the, I even lived in a Mexican household and it just wasn't there. The parents usually didn't go to college themselves and it's more like you have a range of different possibilities. You can go to college, if you're smart or you can work down the street, that's where your father worked. Or, you can just live your own life and make your own choices. Those are the options that are available and that are persistent in minority cultures. So, I think, we, if you want to send more kids to college, it should be an expectation that you're go to college from the family, rather than just be a choice and do whatever you want to do.", "It's really interesting that, for the STEM field, there are fewer females than men. I was just talking to my friend the other day and we were just saying, \"At least when I was in school, girls actually did better than guys in math and science. I mean, they're the ones who are always submitting their homework, you know, always got the best grades, maybe guys, kind of, just, like, sit back and don't really, like, pay much attention.\" So, you think that girls would be in abundance in STEM but it turns out to be the opposite. After you get into college, it switches. Girls are mostly humanities and guys are mostly, you know, technically oriented and I think it has to do with just the mindset of girls, I guess. Maybe because so many guys are in the technical roles, then maybe girls get to college and think, \"Well, you know, those technical jobs are for guys. So, let me go ahead and, you know, do something humanities oriented, because it's like that already.\" So, I think if we just, like, reset, if we, like, kick everyone out of college and then all of a sudden, you know, we have a fresh batch of people in and, you know, we don't tell people who's running NASA, who's running Microsoft, you know, it's all a secret. Then, I think maybe it would be about half-half, you know, there'd be half as many girls at MIT as guys but because, you know, maybe they step foot on MIT and say, \"Okay, well, you know, like what jobs do you have? Oh well, I'm looking at electrical engineering. Oh, 70% guys. Alright, well maybe that's a guy thing, a guy profession\" and it shouldn't be that way because, obviously girls are just as smart, if not more smart than guys coming out of high school.", "Depending on the type of job that you go into, a STEM degree can take you anywhere you want to go. So if you talk about salary, engineering is one of the highest paid professions in the career industry. You can be a chemical engineer, petroleum engineer, and those are some of the highest paid professions that you can have and you don't even need a college degree for them. If you're talking about traveling, then just like any job depends on which job you wanna go into, but chances are you're probably gonna be in one building doing your engineering thing just like everybody else. There's a humanities guy over there, there's an english literature guy over there and you're doing your engineering field. However, the difference is, the place that you're at, you could be working with your hands a lot. So whereas if you're in a humanities place you're either typing on the computer most the time or you're writing something most of the time, with a mechanical engineering degree you could be working on a robot, you could be walking around it, opening it up screwing some screws and using the controller to make it move around. If you're an electrical engineer can be in this room but you're opening up the panel, you're checking the voltage, you're looking at your oscilloscope to get the right readings, you're changing a circuit board. So I think if your question is where will an engineering degree take me as far as what I do, then engineering opens up a lot of hands on and mental work as opposed to a humanities careers.", "There might be a situation that you decide that you can't really afford college at the time or it's not an option for you for some reason. That was my case. When I was a few months after high school, I tried the college thing, I went for a semester I got an F in the class because I was working two eight hour jobs and I didn't have a car. So I just decided to drop out, and for another year I was bouncing around different jobs it was really hard. It felt like I was lily padding from workplace to workplace. I tried to join the military before and I wasn't accepted because my eyesight was bad. So I tried again and fortunately I was accepted. The difference was for me, once I joined the military I realized that they gave me a place to sleep they gave me free food all of my conveniences were taken care of. The only thing that I had to do was study, then after my study period was over then work. So the military might be an option for some of you. Also if you have a friend that can give you a decent paying job, you might wanna do that for a year or two while you save up some money so that when you do go to college you can really focus on it the way that you should instead of just trying to go by it slightly. So consider another job if college isn't the right thing for you right now.", "College is quite a unique experience. Everybody should try it if they can. For me, how college matter to me, it allowed me to really gain credentials for a job that otherwise I wouldn't. So I'm going to be going to an internship with NASA pretty soon and I see that the jobs that NASA requires, they need a college degree for it. So if you don't have a degree then you can't get into their program. However, other computer science jobs that I'm considering, they don't require anything at all. So you could be walking straight out of high school and you can have that job. The only thing they require is \"Can you program this? Yes or no?\" And if you can whether you have an MIT degree or the you just have a GED from your local high school. As long as you can do the job then you can do it. So it's really important to understand the types of jobs that you want. Realize that some of them need a sheet of paper that says that you can do the job, and some of them just are mostly based on experience in your own life. For me, I joined the Navy, I got this certificate from the military, which isn't a college class and then after I got out, then I could have this really high paying job without going to college myself. There are many people who say college isn't that important. However, what they're failing to realize is that when you go to college you're in a group of a lot of people similar to you, similar intelligence to you, going to the same classes as you, and being in that group really pushes you to try your best for four years. And at the end of that, then you get a sheet of paper, yes, and that allows you to, it opens more jobs for you, yes, but that entire experience is the college experience that many people have that you'll be glad that you had. It's the motivation from teachers, from your fellow peers, it's the late night study sessions, and all of that really makes you mature as a person. Not everybody needs it, but if you think that you have enough money and you have the time, and you want a job that requires that sheet of paper, the degree, then I'd say college is the right choice for you.", "So just like the name says STEM, science technology engineering and math, your math classes and your science classes are the best indicators of whether you fit in. You might not be using the math, for instance calculus all the time, and you might not be using the complex calculus or the science that you see in your job. However there's a logic that's associated with it. There's a logic between doing the homework assignment seeing the question, knowing the answer, having seen the way to solve the problem before, and you have this new question and you have to like solve it a certain way. So that is very, very general. I just mention the math problem to you, but programming has the same thing, trying to figure out a new mechanical solution to a mechanical problem has the same line of thinking. So it's not just numbers, but it's the way that you solve problems, and if you got As, maybe even Bs in those classes, then you might be interested in STEM classes later, or STEM jobs later. If you are just so so in those classes, I would suggest that you try to take them over again, you do some personal learning on your own, and if you just isn't clicking with you then STEM might not be the best option for you.", "Many of my math classes, I took them all right up through difference equations, and I'm glad that I took all of those classes, differential equations like wrapped everything up. It's like, \"Ah, this is what we've been studying our whole entire lives since elementary school for, I finally get it.\" But I haven't used any of it at all. Yes you have to know a little bit of chemistry when you see like the nuclear power gauge like move up and down and stuff. You kind of know like where the calculus is in that, but I I never use it I just know it's there and all that effort just to understand why a gauge like moves up and down like acceleration and stuff like it's, yeah there are other things I could have learned to help me you know. But math but I'm not gonna tell kids not to learn math so. But I never used it, you're never gonna use it yeah. You might use it sometimes you know, not all this stuff you're gonna learn.", "The things that interested me the most and influenced me the most when I close my college, well there are many things. So I went to three different colleges. I went to Pasadena City College, that's in the Los Angeles area. I went to University of California, Berkeley it's up near San Francisco, and I went to USC, that's also near the Los Angeles area. One big thing was the landscape. All three of those places were absolutely beautiful, Berkeley is kind of up on a hill, USC has beautiful pristine buildings, and my community college, it looked like a university. It was right beside Caltech, California Institute of Technology and you can tell that they're right beside each other because I couldn't tell the difference that it was a community college so. The people around is another big thing that's very important. So I like diversity. All three of my universities you walk around and you know all different shapes, sizes, and colors. Right now where I'm at in Japan it's not so much. So you can kind of really tell the difference and for me I just like seeing people similar to me, and different than me, and smarter than me, and people that I could trash in math you know. So I like that whole entire spectrum of people. Also I think the biggest thing for me when I decided my university was the reputation. So I tried to go to the best that I could. In fact I wasn't accepted to Berkeley the first time that I applied, and I said you know what I came from Washington all the way back to California my hometown specifically to go to this university, so once I was rejected, I went back to my university, I studied even harder, I got a 4.0 that semester, I took on another job, I did research, I did all the things, I took extra classes, I did all of the things to make me a really more mature, more intelligent person to finally get into that university, because I realize that worldwide, wherever I mentioned that university people would automatically know the process that I had to go through the schooling that I got, and it would give me you know the jobs that I needed, and maybe the math and the science and engineering and the programming that I required to do my future things. So reputation was probably the biggest thing for me when I chose the college that I did.", "If I had to do school all over again, of course I would try harder. The goal when you're at college is to get a 4.0 in as many classes as you can, and even though it doesn't really matter as long as you get the information then that's the only thing that matters, when you try to go on to get a Master's or a Ph.D, they really do look at your at your grades. They also look at your intelligence, how well you know it, if you're an expert or not. So I did waste a lot of time, I did play lots of video games, I did watch lots of Netflix, and maybe college isn't the right place to do that. You have the whole rest of your life to really enjoy things to the maximum, but college is the place to study, so of course I should relax a little bit, but I wish I would have really studied a little bit harder. So that's something that I would have changed.", "I think that the military has one of the best educational systems in all of America. I've been to a public university, private university, community college, and I think that the best education that I've ever received was from the military, and there's a reason for this. They want to make sure that the people that go through their educational system, whether it's for two weeks, whether it's for two years, you need to know your stuff very well. People's lives are gonna be at risk and you have to be able to handle multimillion dollar equipment without breaking it. After that, after your military career if you choose to do something else, people know this. So that's why sixty percent of the nuclear technologists outside are ex-Navy because they know that the Navy people know their jobs well. Regardless of what your job is, whether it's being a spy as a crytotechnologist, whether it's being the nuclear Navy, whether it's being the cook. At the end, people will know that you've done your job well, you have the education for it, and you have lots of work experience with it. So your future education looks bright with a job in military.", "If you want to study STEM and you want to study something humanities oriented like music, then those opportunities are available. What I would suggest is you should first figure out what type of job you want to do, and then try to combine the classes that you're taking and the job that you have into both of them. As an example, I wanted to do computer science education. Therefore in my classes, I took computer science as a major and education as a minor. I'm really glad I got to see both of those parts of my undergraduate university. When I'm doing computer science, it's very math oriented, science oriented, lots of homework every night. The education part was very writing intensive, talking and debating, and I like both of them. The reason I chose those majors is because I knew what my future job was going to be. So if your job is very technically oriented, then I suggest that you stick with an engineering major and really focus hard at that. But if that's not your cup of tea, kind of like me, then that's when should try to focus, that's when you have the opportunity to do both of them.", "The typical education level that you can experience in the military, it really depends on well number one whether you go enlisted or officer. Starting with the officers because they're easy, in order to be an officer you automatically have to have a degree. There are some officers who don't, but ninety-nine percent of them, they start off with a degree. You can become a lieutenant and even higher, there are many captains who don't have advanced degrees. However, to get very high, you are generally expected to get a Master's at least. That's around the O5/O6-ish level because they like to see education. Going to enlisted people, you don't need any degree for the whole entire time that you're in. However, education is looked upon highly and if you do have a degree your chances for promotion to be honest, are a lot higher. Up to my rate, E7, it's really not looked on as being a requirement. However, from my rate and above, that's E7 and above, so that's E7, E8, and E9, they really spur on the education. So education in any way, if you've taken vocational classes, that's a checkmark. If you have your degree while you're in the military, that's another big check mark too. So any education at all, whether it's from a traditional college, whether it's your own personal learning and you took CLEP (College Level Examination Program) classes or online classes, anything will set you apart from the others.", "The personal education that I've done really set me up to be successful in my future career. Number one it gave me the knowledge that I needed. Yes I could have, so for computer science I could've taken a book and learned it on my own, and I did do that. I could have opened up my computer and took online classes, and I did do that, but there really is a different style of learning that you go through when you're listening from a lecture and then you have other teammates, other peers that you're working on to solve a big group project. So for instance, I'm taking game development at the University of Southern California and we made our own game. Now it would have been very, very difficult for me to do that all on my own. The artwork that's involved, the production that's involved, the design that's involved, the programming. Just by myself, I think it would have been, for the game that I created, it's a really big one, it would be too much for me to do by myself. What I needed was a group of ten other people, or twenty other people, sometimes even thirty other people, to all come together to create this one lasting project that I can call my own that was in a safe environment like a community college class. So that would have been very very difficult to do my own, and that's how my college helped prepare me for my future job.", "GPA your grade point average, for 90% of jobs, doesn't matter at all. They just care if you, the fact that you graduated is more than enough. Whether you got a C or B or an A, chances are, most of the stuff that you learned in college, you're not going to be using anyways and employers know that. They just want to know if you can have a structured regimen that you follow from beginning to completion, along with other people to succeed in the class and if you'd done that, then good enough. However, some jobs do require you to be an expert in your field and although it's not the perfect indication, your grade point average is a high indicator of that success. 3.8s, 3.9s, 4.0s are the things that some of the places are looking for. Google, they take the top. Facebook, Twitter, at least for programmers, they take the top. However, those jobs are only 5%. For the vast majority of the time, GPA doesn't matter.", "If you plan on going to college and you need to take out a big loan to do it, my suggestion is, make sure that your future job prospects align with the amount of money that you're taking. If you're going to be an engineer and engineers make, you know, decent amounts of money depending on what type of job you get, then going to an expensive private university for four years might be worth it. That four year university could be the opportunity to get that high paying job. There are many high paying humanities jobs out there. For many people, the jobs aren't as salary intensive as engineering jobs. So, if that's the case for you, then taking out a big student loan could affect you so far into the future that it might not be worth it. My suggestion for you in that case would be to think about other opportunities to pay for your education during that time such as scholarships, such as working part-time, such as going to summer school where the classes are cheaper, ways to cut down on the total cost. Or even going to community college, that's another way to, kind of, cut the cost in half.", "College, at least for me, was so different than high school. I's like apples and oranges. As a list, number one, the time that you're going is a lot different. In high school, it's eight hours, it's kind of, like, a full-time job. In college, your classes, my classes were sporadic, they're all over the places. Monday, I would have a three hour class. Tuesday I'd have no classes. Wednesday and Thursday, I'd have a two hour in the morning and two hour at night. So, there's a lot more freedom. However, you might realize, \"Hey, you know what? You go to school less in college. It's quite the opposite. You actually study more in school, in college.\" So, that three hour class that I had on Monday, it's going to have six hours of homework, of things that I have to do, of reading, of getting together with group mates, of going to the lecture and asking questions and, which leads me to the second point, that no one is going to babysit you. In high school, the professor says, \"You didn't do your homework. Well, why not?\" Then, if you don't do it, like, five or six times in a row, they might talk to your parents or they might give you some kind of meaningful feedback. In college, they just give you a grade. Yes, there are people that care about you. Yes, if you go to them, then they will be open with you about what you should and shouldn't learn. However, if you don't want to learn and you want to take your F, then, no one there will stop you. In fact, they don't really pay attention until you finally take your final test and you get that F. So, it's all up to you. So, the hours are different. The amount of time that you have to spend in college is a lot more and no one's going to babysit you. Those the two ways that high school is different than college.", "I got my undergraduate degree in computer science from the University of California at Berkeley, and also I had an education minor.", "I chose to get an education minor because I thought it was really interesting trying to teach people throughout my career in the navy and at school, and I thought that maybe my future job would have something to do with in the education field being having my own business or being a professor or a teacher of some sort.", "If you want to be successful in your education, if you want to be a good student, this is what I found personally for myself. It's, you have to know your weaknesses, you have to know what you're lacking in. If you're in a math class, you know multivariable calculus and you get a D on a test, then you gotta say, \"Okay, well, where did I mess up? I didn't study enough I should've opened the book earlier.\" If you get another D, then that's the time that you need to start asking for help, you need to start going to the professor, going to your teaching assistants or research assistants and, trying to get, suck up as much information as you can to not make the same mistake. So once you find your own flaw, you need to 'pound it out' and get back on the right track.", "If you're a high school student and you really don't know what comes next, let's say you're senior or a junior, then I would suggest that now would be the time to start really becoming serious, becoming motivated. Yes, you can have like a kind of shady freshman year and so-so sophomore year, but if people start to see that you become serious and that you started to really focus on your work, they're gonna give you the benefit of the doubt, and you can apply to many places and become accepted just based on your trend of upward movement.", "Getting accepted to a good college shouldn't be the end-all and be-all. From what I understand if you are one of the smartest guys in your class then it doesn't really matter where you go unless you go to the top, super top places like Google or Facebook or Twitter something like that. But for ninety five percent of the places if you're one of the top students in your class then you can go to the local state school and you can be just fine. That said if you wanted, if your heart is set on going to a very prestigious school, then yes, grades matter and yes, SAT scores matter, but I think the thing that pushes everybody over the top is what you do outside, what you do outside of those walls that define your high school. So if you're a computer science major then make a program and sell a game. If you're a mechanical engineer then make a drone and fly it to local parks. If you're an aeronautics engineer get your pilot's license, you know, do something that shows that you can do something that's more than just books and studying and listen to a professor and doing your homework on time. Do something that shows that you have a passion for what you're trying to study and then those professors at the university will see that and they'll listen to you.", "If you're planning on joining the military then there are some things that can start you on the right path. One can be the Junior ROTC program, the Junior Reserve Officer Training Corps program that, it's kinda like a little military within the high school. They allow you to learn about marching and formations. They give you some books to read and they tell you about the military structure. So it's really helping you along the way and you know trying to learn about what jobs there are talking to military members . There's also the air cadets and I think in some cases the Boy Scouts can actually, and Girl Scouts as well, can show you some things about like discipline and listening to others. Their structure is I think very similar to the military as well, so these are things that kind of prepare you mentally and physically for a future military service.", "If you think you're not smart enough to go to college, then that's a full stop. There's a college for everyone. If you want to go to college, if you think that that's the path that you want to take, then there are community colleges that can help you get on that path, that can help you learn how to study how to do homework and they're not so expensive. There are state colleges that have different programs, certificates, degrees. So yeah there's a place for you at some college. You might not have the grades, the SAT scores, the GPA, the study habits to be successful at a very difficult college, but there are colleges out there that can put you on the right path, or easy colleges that you can kind of just breeze through if you really do need a degree for some reason.", "As far as studying abroad goes, I'm a STEM major and it was one of the best experiences of my life. I went to Japan when I was in undergrad, and I went to Japan again when I was a gradute student. I also went to Mexico when I was in community college, and those three moments stick out like sore thumbs when I think about my college careers. That being said, so Mexico helped me because it was on my way to being a transfer student. But did going to Japan help me with my Berkeley career? Well, when I went there none of the classes counted towards completion of my degree, so people would say, well no, what a waste of time right? But number one the classes that I took were computer science based. Well one was science and technology in Japan and the other was a C++ class and coding concepts and you know none of those had anything to do with like making me closer to graduation, but they improve myself as a person. But more than that, college is not just about getting that degree and the fastest way there, it's about developing yourself as a person, and even if I went to Japan just to study flowers and do bonsai cutting, I'm pretty sure that that situation would make me a better person later on down the route. You might remember Steve Jobs, he was the CEO of Apple, and he said that taking caligraphy classes helped him so much later on in his future career as a computer science businessman. So I think studying abroad is one of those experiences that you can have that really develops you as a person.", "STEM can really differ across the world in many different ways. In America engineering, at least for the schools that I went to and the area that I'm familiar with, which is the lower class urban area of California and Alabama and Michigan. Right, they don't really focus so much on engineering as a cultural experience. They say it's really difficult and it's pretty much for the the top twenty or ten percent of the students. You have to be smart to do it. That's not so much the case let's say in Japan and China where all students are expected to have a very very thorough understanding of mathematics and science. Even to get into college you should be, you should have pretty high SAT scores, or their version of the SAT, so you consider that to even go to a good college. Not only that it's taught from when they're really young to really older that just you know fill in your weak points, whereas in America they say well if you're not good at it well there are other things to do why don't you try music right. So I guess we have a little more freedom about what we can do whereas STEM is really expected in other countries.", "During my academic career I guess I made a lot of different choices that like put me on a different path. So for instance, when I was young I really wanted to be a linguist. I wanted to know five different languages by the time I was twenty five. I wanted to speak fluently and travel in my jet around the world and I don't think engineers really do that so much, so when I joined the military to become a nuclear technologist, I realized that I wasn't doing something that I was passionate for, I was doing something that was challenging instead and that still worked out, I still enjoyed it. I still enjoyed doing the Navy for that, but I had to kind of change my mind set for that. After I got out of the military, then I had this eight years of being a nuclear technologist I could become like Homer Simpson, make lots of money and I had so much experience that I could have a high paying job, a high position job out in the real world. However after studying what computer science is and finding my passion in that, I kind of gave up that nuclear technology course and I studied engineering and computer science which is kind of like starting from fresh. So the two choices that I made, number one from humanities to engineering over to nuclear technology and then after that from nuclear technology to computer science those are really distinct choices and it is what it is I'm happy with my decisions.", "The military is kinda like a microcosm of the real world. When you start to join the military, the first couple of, your first major experience is going to be obviously boot camp. Then after that you're going to go to your A school. And, at least for me, for what I've experienced with my college, there's no difference. You get your housing paid for, and you get to wear a cool uniform, but otherwise it's very very similar to college. Yeah, the college experience, you're gonna work more, way more, in the military then a regular college. But you're still opening books, you're still studying, you're still talking to your friends, still talking to your professor, and you don't worry about a normal nine to five job, so much, that I could be sweating and sweeping and stuff. At the end of that, then you start a nine to five job with the military. So if the question is how is the military different then college. college is four years of intensive study, military is they just give you the basic information, really quick really pass in two weeks to two years, and then they send you off into the world.", "College is great in so many ways and I have so many great memories. Some of my favorites are number one, I remember when I was in my introductory C++ class, we made this game where you start like four beads at the bottom and you have to like figure out the right ones by the time you get to the top. I remember I was really really into that game I was practicing day and night, I'd barely eat, you know eating pizza while programming. I was you know taking a break with my girlfriend watching a Netflix movie and then go back to that programming. You know staying up till midnight you know she gets up in the in the middle of the night like \"Hey, are you still programming?\" It's like yep, you know still going all the way up until the morning, really being challenged. And I remember thinking before I start this I had no idea what to do and by the end of it I felt like I really finished my first game and it was really exciting and I was really good at, it was janky you know like there were lots of problems and lots of bugs you know bugs that I had to figure out. But it was my first quality work, it was the first homework assignment that I ever really completed that I was proud of that I could show someone that someone could actually play. That's something that came from me, you know. So I think having that entire experience was one of my best college memories you know. Of course you know with my girlfriend like being there you know, bouncing off her so it was really good. Those times were really good.", "How much you study in college directly affects how well you do, unless you're a genius and unless this stuff really comes easy to you. Then you're supposed to put in the amount of effort that you're supposed to, right? For a four unit class, you're supposed to put in four hours for every unit that you take. So a four unit class means that's sixteen hours of work. An eight unit class is supposed to be thirty two hours of work, at least for graduate school. So in general, for undergraduate, you're supposed to put in, regardless of what your unit state, if you're a full time student, you're supposed to put in 40 hours of standard work. Sometimes I did less, and my grades show that. Sometimes I did a lot more, and my grades still showed me that I was still an average student. But the point is that the more you work, the better you're supposed to do.", "I first became interested in computer science when I was in community college. I did eight years in the Navy as an active duty Electrician's Mate and I learned a lot about engineering, and I thought I was going to go to college to do electrical engineering. However, some of the classes that you learn with electrical engineering are computer science, and I went to a research internship. It wasn't an internship it was just research for UC Berkeley, and I thought I was going to do electrical engineering, but they had so many cool computer science topics and professors and little things around campus that really empowered me to kind of consider computer science as a career. So when I went back home, when I was done with the research and I went back home, I really focused on my computer science classes and I just realized, hey you know out of all the classes that I am learning, math, science, English, the computer science classes were some of the most fun, and I just thought you know, if I want to make my own business, if I was doing electrical engineering I'd have to go to radio shack, I'd have to buy resistors, I'd have to spend lots of money, I'd have to like spend lots of time. But with computer science, you have your own business right in front of you if you just open up your laptop. You can have a million dollar idea just opening your laptop and typing on some keys. So that sold me.", "When you think about your future career computer science could be one of the funnest things that you can do. I know for me I took some English classes in college and math classes and lots of other classes. And the one that I actually wanted to do homework for, the one that I finished the homework assignment and I wanted to keep working on it afterwards despite what the you know, despite my grade, despite you know like whether I did good on it or not, and despite whether I'd be graded on it or not, it was computer science. That's one of the only ones that affected me like that. If you want to maybe make your own business with your laptop based on things that are in your mind, things that you're coming up with on the fly, then computer science would be a good choice. If you want to be in the music industry and work on like different sounds and processes and, I guess computer science has a has a big deal with music as well and movies as well. My job for my major at University of Southern California is game development, and as it turns out, games are actually more, turn out more profit than movies nowadays. So if you like games, then computer science could be the way to go as well.", "Getting tattoos is a really common thing in the military. I personally don't have any but you can see everything from a little heart on the shoulder to, you know, a big you know flag on the back of people. So, you know it was just never for me", "So, my job as an EMC, Electrician's Mate is to fix pumps, to do preventive maintenance, to work on voltage regulators, to have lots of training as well. But the Navy also provides you with releases from your job. If you do the same job the whole entire time, you might get kind of frustrated, so I actually worked in the supply department which is where, for instance, there is the veins in the ship and there's like painting that needs to be done, there's lots of cleaning that has to be done. Some people work in the tech pubs library, which means that there's books for everybody on the ship that has to do their job. So you can work there for a while. So, basically for about six months to a year, you work in your main job and then they kind of give you a break even though you're on the same ship and then you have that cycle. So, you're always doing something different.", "My favorite coding language has to be C# so far. If you get into computer science, all of your instructors are going to say, \"You can learn any language. It doesn't matter which one it is. They're all the same\", which is, you know, it's true in a sense. So, C# for me, has been the easiest language to learn. Yes, all computer science languages are very very similar but some are easier to learn than others and it's because I like that for purpose. I think everything, from cars to airplanes, everything that's been created has a curve where it should be easier, the later it is in its cycle. So, when computers first came around, everybody was working with vacuum tubes, you know, physical things. Then, it became assembly language, then it became machine language, then it became A, then B, then C, then C#, then Python and Java. So, the later languages I think are based on the ones before and they said, \"Hey, how can we make this easier?\" and it just got better and better and better. So, for me, C#, it sounds like someone's talking, it sounds like, by sound I mean, you look at the code and it says \"If Bob is\". Anyways, it's really easy to read once you're reading the code and earlier versions I think are not as user-friendly. So, C# is the language for me.", "I've been, I've been involved with lots of computer science projects one that I'm currently with is my start up making a virtual reality little a character and it's going to be shipped off to PlayStation and it's really cool to work with my friends, but the the project that I'm most proud of is probably the big major project that I did for my masters at University of Southern California it's called Advance Games Design, that's the class I was in, and the project was called 'Recall'. You have this virtual reality headset on and you walk around this crazy space trying to remember things as they appear while you're walking and the fact that you're in a virtual reality room kinda helps you kinda like relate what it is you saw with what you're trying to remember, it uses the method of loci.", "If you're going to be in engineering then chances are you gonna be on the higher end of the salary spectrum so you shouldn't really let money be the goal, be the, be the reason that you choose a field however from what I understand I think petroleum engineers probably make the most money followed by chemical engineers, computer science is pretty high up there I think last time I saw we were like third on the list or something followed by electric electronics engineers, electrical engineers, mechanics but no matter what you're, if, if you've been in for several years you're probably looking at $100,000 per year or more regardless of whatever engineering field you start with.", "For me, I'm really excited to be in a technical field because I kind of see what's on the new horizon and I see things like, you can chop off your finger and have a new, a new, finger be replaced with bioengineering or maybe a robotic one with prosthetic limbs. Personally I really like the fact that maybe five years ten years from now we'll all be in a virtual world we'll be able to put on some glasses or put on some contacts or whatever form it takes and be living in a new computerized world. We'll be able to like make buildings and you know meet people all within, you know, from your seat at home all based on computer technology so I think it's really exciting.", "This project is pretty simple, all you have to do is ask me any question that's on your mind about the military about STEM careers and I'll try to answer it to the best of my ability.", "A joke right, okay, here's one, \"How does NASA organize their parties?.... they planet!\"", "Seeing myself through someone else's eyes is pretty cool. It's kind like looking through a mirror and I've never, other than staring at the mirror you know like doing my eyebrows and stuff, I never really liked looked at myself before especially heard myself talking. They actually say that when you hear yourself speak it's very different and I think that's true so it's been pretty cool to see what I would be like as another person I wish to ask myself questions some time.", "Currently when I'm not doing all the work that I'm doing, I spend my time playing video games. I play online video games. The game I'm playing right now is called Guild Wars 2, it's a role playing game fight dragons and demons and stuff. I mean it's really cool, sucks up all my time sucks up all my thoughts, but I also like talking about future in technology. When I'm watching my YouTube videos, I'm always watching about gravity and quantum mechanics and a few Ted Talks as well.", "I'm an interactive mentor here to answer all of your questions, I was developed by computer scientists who have a really strong interest in seeing you succeed.", "We're both human, but what you're seeing right now is a virtual avatar.", "Yeah, I'm still here!", "I'm real... if you think I'm real.", "Unfortunately I don't have a watch on, so I'm pretty sure the time is somewhere around here.", "Here's a song that I learned while I was in Japan, it goes like this, \"ue o muite arukou, namida ga kobore nai you ni, omoidasu haru no hi, hitoribotchi no yoru\".", "You're using me to learn STEM, engineering, and more about the Navy.", "You can really ask about anything. I'm here to be your mentor. You can ask me about STEM, you can ask me about my own personal life, about my life in the military, about my life as a computer science major. Anything you want!", "Some of the biggest regrets that I have really revolve around my college career. So one of the biggest ones that's effecting me now is the fact that I don't know Japanese while I'm living in Japan. I remember being in my Japanese class and having all these Kanji homework assignments and you know opening your book and reading and practicing and there was a time that I kinda just wanted to relax and enjoy my summer and I didn't practice and because I didn't practice during that intensive time with people who really wanted to see me succeed, who had all the tools, who had all the the toys and the stickers and everything that's helped me succeed, worksheets, and I just didn't do that and now I'm suffering for it. Now I can't communicate with the people around me. Another one is programming, there are so many opportunities to go talk to really smart people at Berkeley, who had the time and the knowledge and the care and the money to sit down and really give me that tutoring one-on-one session, but I didn't go to those things and now I'm suffering for it. Now I'm not the best computer science programer around because I didn't take advantage of those resources. There are others, but mainly it's that I didn't try harder the student.", "There was a time in my life that I really thought I could take on the role of being a professor, but the more I thought about it, the more I realized that even though I like teaching and it's one of the things I'm most proud of and it's one of the things that I do best, it's not my calling. I love training people and I think the way that I can do that is probably by doing it online. By having my own business, putting everything that I want to say on Youtube or on some kind of video and handing it out to millions of people rather than just the four hundred people in my auditorium. So I think I want to take that extra challenge of becoming a worldwide professor, as in not being a university professor or college professor, but just training people in my own particular way.", "I had a good opportunity to meet a really smart Chinese person when I was working as a, when I was education abroad here in Japan. So, I finished and I went to USC to start my master's and he finished and he went back to China to start his start-up. I had to ask him a few questions for the games I was making at USC and he was asking how to design a virtual reality program that he was making for me and we found out that we work pretty well together, you know, we both thought we were pretty smart, we both thought like, we work well together, we made each other laugh, so he said, \"Hey, why don't you join my start-up?\" So, I was there as a founding member and the games that we're making, we've made many in fact. One is that we used a Kinect to be combined with a Leap Motion controller and you can move around the play area in this kind of like virtual reality world, fighting dragons. Another game that I made was made with the VIVE controller and where you shoot zombies. The current game that we're making is supposed to be really really popular. It's basically a cross between Super Mario and Legend of Zelda, where you just walk in this world going up and up, trying to fight this monster at the top. It's really cool and it's a, people say it's a lot of fun.", "When I started to go to school, I wanted to be able to speak five languages by the time I was 27. I was 21 at that time. So, that's why I wanted to join the military, to go to their world famous language schools and learn to speak French, which I knew a little bit of, German, which I knew a little bit of, Spanish which I knew a little bit of and my English. Since then, I've also learned Japanese. So, the reason that I'm in Japan right now, is so that I can actually learn the language fully, because I didn't know that many languages up until now. So, I decided, \"Hey, come here, live for a long time and learn it, you know, intensively for a year.\"", "With nuclear energy, maybe because I have a bias because I went through the program, but what's really pushed upon us is that it's very safe. It's one of the safest ways to make energy that we have. Now there is a concern about nuclear waste and of course you know we have nuclear waste at the end of an aircraft carrier's life cycle, but it's controlled in a certain spot and we put in the middle of the ground as opposed, so let's say charcoal which produces fumes in the air as opposed to sunlight which doesn't provide the energy for the surface area that it has to produce as much as the nuclear power that is. As opposed to wind which requires these big things in far off places. So nuclear technology can be built anywhere in a safe manner, and in fact the Navy has a history of zero incidents of nuclear failures in the Navy's history, so we're really proud of that. I think that nuclear technology should be the way to go for our future energy needs; however, I do understand people's hesitation with taking on nuclear power, especially with the thing that happened in Japan-the great Japanese earthquake in 2001. So it's been a big problem to try to pick up all of the all the pieces there. They still have problems with it, even though it has been you know like eight years later. However that took a huge natural disaster to cause a problem that day, so whether it's charcoal whether it's sunlight you know no matter what, when you have a big earthquake like that then that is going to happen but otherwise nuclear power is one of the safest ways to make energy that I know of, and that's what we are taught.", "In Michigan, it's the place that I stayed had a diverse amount of people but it was mostly crime ridden in some places. I've seen lots of things that you see on movies. For instance, drug use, some violence here and there. I've seen more graphic things like prostitution, homeless shelter and things like that. But those are things that I think maybe turned me into wanting to help my society a little bit more. Those are negative things. These are things that kind of pushed me to want to make the world a better place because I saw them. So, even though Michigan was, the part that I grew up in, Flint, isn't the, you know, ideal city, it is a good place to grow up and develop your character.", "The Naval Postgraduate School is basically the Navy's main school for officers who probably came from the Naval Academy or maybe ROTC, that are advanced in their career enough maybe after four years or six years, to go back to graduate school to get an advanced degre. So they allow Master's courses and things from security to operations management, basically lots of war things. I was thinking about going there myself to get a degree in modeling virtual environments and simulation, it's a computer science field but there are things like applied math, things that keep our Navy in tip top shape for the people that are really controlling things at that level.", "The Naval Postgraduate School is in the beautiful city of Monterrey, California.", "I'm currently at the University of Southern California and I'm getting my Masters degree in Computer Science with specialization in game development.", "I'm a firm believer in listening to the smartest people around me, and as a kid, everybody always says you know education is the future, if you wanna be someone special in the world, then education is a good place to start. So that's one of the reasons that I chose to go to college and eventually grad school is because even though I know that education is uniquely important to be very successful in life, I think it's given me a really big head start. I don't think I would be, you know, half of where I am now without going to school.", "There's a big difference between undergraduate and graduate schools. Undergraduate school is where you get your basic theory about your main topic, your main major. So for instance, if I'm computer science, then they're going to give me a broad general spectrum of what computer science is. Your graduate school, it depends on whether you go to Master's or Ph.D. Masters' courses, they vary. I'm in a Master's course that has only classes and it doesn't have any research oriented work. However, most Master's students are, they have some kind of strong research element, component to them, that's as opposed to undergraduate school. Ph.D is strictly and specifically for doing research. So, at the bottom you have, not bottom, but at the lower end of the spectrum, you have undergraduate where you get your basic theory, you have your Master's which can be on the path to a Ph.D or it can be vocational, and you have your Ph.D which is very academic and strictly for research.", "If you're thinking about becoming a computer scientist yourself, I would have to say that the first thing you should do is probably look online to find out about what different types of jobs there are and what it is they do. With a little bit of experience, with a little bit of browsing around on Google, you can kinda get an idea about it. But it they don't really tell you exactly what they do, so the next person would be probably someone in the field obviously. If you can find a NASA computer scientist then go for it you know, but any university student who's your junior, senior level, they have your basic programming skills they have your basic idea of what computer theory involves. So just asking a couple questions you know, whether it's been hard for them, whether anybody with a with a normal high school degree can kinda do this work, whether the job that they're doing is really really complex. It ranges so they might not be the guide you the best, but they can give you an idea of like kind of where you fit in, and whether it's a career that you want to try yourself.", "The best places that you can go if you still have more questions, #1, would be your friends because they have the willingness to take the time to talk to you if they're interested in your future careers. Also, there are tons of reliable websites that you can find and probably the best source of information would be from the professionals who work in the career, so if you can find a military person, go find them. If you can find an electrical engineer, please go find them.", "The people that you should talk to are the people that are closest to you who are very who work the similar career that you want to work as. So for instance, if you're a mechanical engineer if you know an electrical engineer that's fine if you know a mechanical engineer of course that's fine as well but anybody that's in the STEM field should know a little bit about the other professions and should be able to give you some kind of advice.", "So, from the day that you join the Navy, you're going to find that you have similar past to people that are in your same field. So, you know, there are people who are very motivated and want to become the Master Chief of the Navy. You have some people who, maybe were criminals before and joined the military to prevent going to jail, to be given a shot for normal life before they winded up in a bad place. So, you have the whole gamut of people and different career paths, different intelligence, different motivations for being in the military. So, in general, people of a similar quality tend to hang out with the same people. So, people who like to drink all the time, you'll find that they're, you know, have this one house that they always go to, over and over. People that are very very motivated study all the time. You'll find that they probably share a house with people who want to become an officer. So, you also find that that's very apparent in the ports that you go to. So, for me, I didn't want to. I wasn't a drinker at that time. Not, not very much. So I'd go into port and I try to tap people like, \"Hey, do you want to go see some place fun?\", \"Do you want to go climb a mountain or visit a castle? So, once we do that, then there's very limited chance of, that we'd find problems. Some of the people who, like, are really, you know, really eager to have fun, the very first place that they go to is the bar and people similar to them are there and you can get lots of people like that, then probably, you can find yourself into trouble. So, as long as you're aware of that, as long as you're not somebody that drinks all the time and you know, wants to get me in trouble who's just trying to, like, visit ports and once I'm, even though I don't want to drink all the time, I have to realize that if I visit people that are drinking all the time, then I might get in trouble as well. Like, as long as you can kind of, you're aware of your specific sphere, then you'll have a much better time in the military.", "Balancing military work and school is challenging, but it can be done. I was on active duty for eight years, and during that time there wasn't that much opportunity to be a full time student. I did take part time classes during work, but sometimes work was really long, especially when we were fighting the war. So I took one class each semester for over two breaks in the summer, and they were really good, they were really fun, and I got A's in both classes. It was English and calculus, and you find little spots in your day to fill it in. When I got out of the active duty service, I was a full time student, and I was doing Navy part time as a reservist, and then it's much more manageable. Reserve work is only Saturday and Sunday, otherwise they don't really, they give you lots of freedom to you know, really focus on your schoolwork. So reserve is a lot easier for that.", "Japan, for me, has been one of the most awesome experiences of my life. This is the third time that I have come here. The first was with the military, I want to Sasebo which is at the very bottom of Japan kind of like a country version of Japan, but I did go to a big city, Fukuoka, and it was really big, really huge they have amazing stores. The electronics store that I went to it was, it had like ten floors and one of the floors is like Best Buy in America. Best Buy is America's most most most, it has the most electronic stuff that America can provide and it's on one big you know humongus floor but Japan has eight of those guys like if you want a camera at Best Buy well here's a stand you know you can see below there's fifty cameras, oh cool. No no, you haven't seen cameras until you go to Japan where they have an entire section of a floor devoted to cameras. You want a laptop okay at the you know Best Buy has this there's the Apple section there's like you know twenty, twenty laptops over there you know. Japan is the place so. As far as the food goes, I switch over. When I'm in America I love ice cream, when I'm in Japan it switches over to ramen. Ramen is the best delicious food that has every went into my body it's so good. There was one time I ate ramen every single day. Also anime is, it's abundant over here so I don't really watch anime here. It's amazing that I watch anime more in America than here, cause it's kind of kid like here, but you see it all, on all places like whenever you are walking down the street you can see like a cartoon figure and all the pop characters you know, they have places like na-na-na-na you have to, you have to go visit it, it's so funny. Just being in this different culture, it's way different than America, and I'm digging it.", "Right now, I'm in Japan to better develop myself as a person. There are a lot of things in Japan that I really like and that I really missed cause I used to be here before. So I'm here now, number one, to teach English to students. I teach them pretty simple English. It's to middle school kids and elementary school kids, so the English that I'm teaching is not very difficult. However I'm developing myself as a good teacher. I'm learning some skills that you know I wouldn't have learned otherwise just by tutoring, just by talking one-on-one back in the States. Number two, I'm experiencing the food and the culture and the life and the language of Japan, and I needed that because, I guess, going to school all the time, studying computer science, you kinda get drained. So this is kinda like my break to experience someting new, something worldwide and Japan is really great for that. Number three, the payment here is pretty, pretty decent. It's not, you know, outstanding but as a student, you know, year after year after year USC is pretty expensive, so I actually came here and I've been saving up a little bit of money. It's going to help me, so I don't have to worry about that so much when I go back. Number four, I'm here because I really wanted to focus on, you know, give a lot more effort to my startup. I'm a part of a virtual reality startup that's trying to produce their first game. And if I'm in USC maybe I really have to focus on my studies, so I wanted to take a break so I can really get my hands dirty with my startup. And we're doing really well with it. So there's many reasons why I'm in Japan, but the best reason is probably because I love this place.", "It might be pretty difficult to pay for your education if you're just doing it out of your own pocket. One way is to suck the money from your parents if they have that kind of cash. Another way is loans and I'm doing the loan thing now and it's not so great. But it is an option, especially if you have, like, a STEM related career where you know you're going to make that money back in a fast way. If you have a humanities job and you go to an expensive university, then you could be paying that money back for a long time. So, maybe loans aren't the best way to pay for your own education. The best way I recommend is scholarships and scholarships, I've had a few scholarships myself and they've been super great. You think of a few different lines to write for their questions, it could be a page or two pages, maybe something that you've done out in the community, maybe it's something from your past that they recognizing you for and you get free money, you get free cash and that's helped me out a lot. The first time I went to Japan during education abroad, I got a scholarship and I really needed that money and it came through. You can also join the military like I did, I got fifty thousand dollars for joining the nuclear field and that paid for all of my undergraduate and a little bit of my Master's course.", "The most difficult part about learning what computer science is and getting into it is getting past the first block that you have, that I had thinking that it's difficult, thinking that computer science is something for other people. Think about, thinking that it's for smart people, for math people, or for people that got 4.0's in school you know. It's not you know, you have a wide range just like any other job out there, so once you get past that then you have to realize the book that you're reading maybe is written by computer scientists themselves you know. So there could be a time when you have to close the book and go you know prep yourself a little bit more you know, find some material online, find some easy to understand topics that can kind of prep you to go back to the more difficult book that you're reading in your hands. So yeah the material can be hard sometimes, the projects that we have can be you know really demanding, but with enough time you know, they say seven years you become an expert. Ten thousand hours you become an expert so you put in that time, then you will learn computer science.", "The things that I like to do most, well, right now that I'm in Japan, I love eating ramen, that's number one on my list. I love it. Ice cream is pretty good too. So, eating. Going to Yakitori, Yakiniku, these are, like, little barbecue places that, you know, you grow the food there. So, eating is pretty high on the list. Because in Japan, they don't have all of the things that I'm used to in America, then I kind of, just kind of hang out by myself, go to bars, obviously talking with friends and I play video games a lot while I'm here. So, that's, kind of like, the way that I pass my time. Back in the states, I like to play basketball and I like to shoot archery, that's one of the things that I love to do and study, it's something that's I spend most my time with but actually enjoy. It's enjoyable because my major is making games. So, making games is something, it's, kind of, fun. Yes, I'm studying, yes, it's my future career but I think I will be doing this even if I wasn't getting a degree or anything just because it's fun.", "Computer science is broken up into basically two different forms. The first one is computer science itself, which is everything that's associated with the laptop that's in front of you. That includes the theory that's behind it, the abstractions that are associated with thinking about the way that you know, computers should work. That involves the electronics that are behind it, you open up the computer and you can see the mother board, you can see the resistors, you can see the current that's traveling through it. So that's the hardware portion, that's the thing that's on the screen that deals with web design that deals with the way that the colors look, also graphics. That's how the light comes from the computer and hits your eyes. There's the user experience part which is when you have buttons all over the screen, and maybe this button shouldn't be like here, maybe people want it bigger or smaller, maybe they want it on the other side screen. Maybe they think that it's boring, but if you change it in a certain way so that it's more fun. So that's, all of that combined is computer science. But what most people think about when they think of computer science is actually the coding part. Coding is what happens when you have your laptop open, you open up a program and you start pushing buttons on your computer screen to write lines of code so that when you compile it, you press play, it does something for you. So for instance you can make a game, you compile the game and all of a sudden you can play the game. Or you can make, you can start coding and then when you press play, you have Microsoft Word based on the code that you wrote. So that's what most people think about when they think of computer science, they think of the program that's associated with it, but computer science is a very broad range.", "Yes sir.", "Yes.", "Yes, ma'am. Yes, ma'am.", "Always.", "", "Often.", "I do.", "I hope so.", "", "Now.", "I don't.", "I see. You didn't ask me anything there.", "You got to ask me something to get a response.", "I'm stored in this machine. I can wait for your questions all day.", "Good morning.", "Good afternoon.", "Good evening.", "The.", "No.", "Hello.", "It's nice to meet you.", "Perhaps.", "Of course.", "Sometimes.", "Excuse me.", "I have no idea.", "I don't think so.", "I have no idea.", "I'm not sure.", "Yeah, I can't hear you.", "I don't understand.", "It would help if you could keep the questions short. And so.", "I can't predict the future.", "I don't want to speculate about the.", "This changes pretty quickly. So what I tell you today might not be true tomorrow. So what I recommend is that you talk to someone local who might be able to tell you more information.", "I don't have an answer.", "I don't know what that is.", "I don't know who that is.", "I'm not gonna talk about that.", "I'm not here to talk about that.", "I don't have enough information to talk about that.", "I don't have an answer to that.", "Yeah, that's a great question. But unfortunately I don't have an answer for that.", "That's a great question. I wish I thought of that.", "Unfortunately, I was never asked that question.", "You might have to ask me something else.", "That's a great question. But unfortunately I don't have an answer right now.", "I'm not sure. I have an answer for that question.", "That's a great question. But unfortunately I don't have an answer right now.", "I don't really have an opinion on that.", "Can you please refrain from the use of profanity?", "No matter what you've heard about having a mouth, like a sailor, it will hurt your career.", "What do you want to talk about?", "What would you like to ask me?", "What do you want to know?", "What do you want to know about me?", "I may have said this before.", "I might have covered this already.", "I've already answered that question. Please ask me something else.", "I've answered that question before you can ask me something else.", "I've answered that question a while ago. Let's move on.", "Can you repeat that?", "Can you rephrase the question?", "I'm sorry.", "I'm sorry to hear that.", "Yeah, that's an interesting question. But I'm here to talk about STEM Crews and the Navy.", "What do you want to know about STEM and an A?", "You could ask me about my education.", "You could ask me about my job in the Navy.", "You could ask me about my background.", "Go ahead, ask me who gave me the best advice about my career.", "I did a lot of technical training in the Navy. So you can ask me about what skills I learned.", "You can ask me about the traveling that I did in the Navy.", "I've made a lot of mistakes in my life so you can ask me about any of the failures that I've had.", "I've had a lot of mistakes in my life and I've learned a lot from them. You can ask about anything and I'll try to be as honest as I can.", "I was in the Navy and now I'm back in college getting my master's degree. You can ask about either of them.", "I worked on nuclear reactors in the Navy, but it's different every day. So you can ask about what I did as a nuke.", "When you work for the Navy. As long as I did you get to have lots of stories. Some of them are funny. Some of them are interesting. Feel free to ask about any of them.", "Good careers are about solving what's important. You can ask me about anything that I think is important.", "A lot of people ask me about money and military salaries. You can ask me about those things if you want.", "A lot of people ask me about war and exercise and entertainment. You can ask me if you want to.", "Thank you.", "I.", "I went through something similar."] From 8c297b52f31d26279012e8d55c2e486787f30063 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Mon, 15 May 2023 18:42:34 -0700 Subject: [PATCH 31/34] cleanup --- server/transformer/word2vec_transformer.py | 7 ------- shared/word2vec_download.py | 1 - shared/word2vec_slim_download.py | 1 - 3 files changed, 9 deletions(-) diff --git a/server/transformer/word2vec_transformer.py b/server/transformer/word2vec_transformer.py index 4fedca5..0077ba5 100644 --- a/server/transformer/word2vec_transformer.py +++ b/server/transformer/word2vec_transformer.py @@ -9,7 +9,6 @@ from gensim.models import KeyedVectors from gensim.models.keyedvectors import Word2VecKeyedVectors from numpy import ndarray -from datetime import datetime WORD2VEC_MODELS: Dict[str, Word2VecKeyedVectors] = {} @@ -18,7 +17,6 @@ def find_or_load_word2vec(file_path: str) -> Word2VecKeyedVectors: - print(f"{datetime.now()} loading {file_path}", flush=True) abs_path = path.abspath(file_path) if abs_path not in WORD2VEC_MODELS: WORD2VEC_MODELS[abs_path] = KeyedVectors.load(file_path) @@ -34,17 +32,12 @@ class Word2VecTransformer: w2v_slim_model: Word2VecKeyedVectors def __init__(self, shared_root: str): - print(f"{datetime.now()} before word2vec.bin", flush=True) self.w2v_model = find_or_load_word2vec( path.abspath(path.join(shared_root, "word_2_vec_saved_keyed_vectors")) ) - print(f"{datetime.now()} after word2vec.bin", flush=True) - print(f"{datetime.now()} before word2vec_slim.bin", flush=True) - self.w2v_slim_model = find_or_load_word2vec( path.abspath(path.join(shared_root, "word_2_vec_slim_saved_keyed_vectors")) ) - print(f"{datetime.now()} after word2vec_slim.bin", flush=True) def get_feature_vectors(self, words: List[str], model: str) -> Dict[str, ndarray]: result: Dict[str, ndarray] = dict() diff --git a/shared/word2vec_download.py b/shared/word2vec_download.py index f5a0291..e939c66 100644 --- a/shared/word2vec_download.py +++ b/shared/word2vec_download.py @@ -17,7 +17,6 @@ def load_and_save_word2vec_keyed_vectors(wor2vec_vectors_path: str, path_to_file: str): - print(f"{datetime.now()} loading {path_to_file}", flush=True) abs_path = os.path.abspath(path_to_file) model_keyed_vectors: Word2VecKeyedVectors = KeyedVectors.load_word2vec_format( abs_path, binary=True diff --git a/shared/word2vec_slim_download.py b/shared/word2vec_slim_download.py index ee22b72..85dc7da 100644 --- a/shared/word2vec_slim_download.py +++ b/shared/word2vec_slim_download.py @@ -16,7 +16,6 @@ def load_and_save_word2vec_keyed_vectors(wor2vec_vectors_path: str, path_to_file: str): - print(f"{datetime.now()} loading {path_to_file}", flush=True) abs_path = os.path.abspath(path_to_file) model_keyed_vectors: Word2VecKeyedVectors = KeyedVectors.load_word2vec_format( abs_path, binary=True From 619c49f4b7c0c49a84750875af1abeacde0fe03d Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Tue, 16 May 2023 14:29:53 -0700 Subject: [PATCH 32/34] add json body acceptance for w2v --- server/api/blueprints/encode.py | 2 -- server/api/blueprints/word2vec.py | 15 +++++++++++---- tests/test_api_w2v.py | 15 ++++++++++++++- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/server/api/blueprints/encode.py b/server/api/blueprints/encode.py index 109e87a..b1a5f21 100644 --- a/server/api/blueprints/encode.py +++ b/server/api/blueprints/encode.py @@ -43,7 +43,6 @@ def encode(): def multiple_encode(): if not request.content_type.lower().startswith("application/json"): return (jsonify({"error": ["invalid content type, only json accepted"]}), 400) - logging.info(request.data) if "sentences" not in request.json: return (jsonify({"sentences": ["required field"]}), 400) sentences = request.json["sentences"] @@ -77,7 +76,6 @@ def cos_sim_weight(): """ if not request.content_type.lower().startswith("application/json"): return (jsonify({"error": ["invalid content type, only json accepted"]}), 400) - logging.info(request.data) if "a" not in request.json or "b" not in request.json: return (jsonify({"a and b sentences": ["required field"]}), 400) diff --git a/server/api/blueprints/word2vec.py b/server/api/blueprints/word2vec.py index 44b7e4b..bedcbb3 100644 --- a/server/api/blueprints/word2vec.py +++ b/server/api/blueprints/word2vec.py @@ -16,12 +16,19 @@ @w2v_blueprint.route("", methods=["GET", "POST"]) @authenticate def encode(): - if "words" not in request.args: + if request.get_json(silent=True) is not None and "words" in request.json: + words = request.json["words"].strip().split(" ") + elif "words" in request.args: + words = request.args["words"].strip().split(" ") + else: return (jsonify({"words": ["required field"]}), 400) - if "model" not in request.args: + + if request.get_json(silent=True) is not None and "model" in request.json: + model = request.json["model"].strip().split(" ") + elif "words" in request.args: + model = request.args["model"].strip().split(" ") + else: return (jsonify({"model": ["required field"]}), 400) - words = request.args["words"].strip().split(" ") - model = request.args["model"].strip() result = w2v_transformer.get_feature_vectors(words, model) return (jsonify(result), 200) diff --git a/tests/test_api_w2v.py b/tests/test_api_w2v.py index f5f2266..1428a6f 100644 --- a/tests/test_api_w2v.py +++ b/tests/test_api_w2v.py @@ -22,7 +22,7 @@ def test_returns_400_response_when_query_missing(client): "model", [("word2vec"), ("word2vec_slim")], ) -def test_hello_world(model: str, client): +def test_hello_world_query_param(model: str, client): res = client.post( f"/v1/w2v?words=hello+world&model={model}", headers={"Authorization": "bearer dummykey"}, @@ -30,6 +30,19 @@ def test_hello_world(model: str, client): assert res.status_code == 200 +@pytest.mark.parametrize( + "model", + [("word2vec"), ("word2vec_slim")], +) +def test_hello_world_json_body(model: str, client): + res = client.post( + "/v1/w2v", + json={"words": "hello world", "model": model}, + headers={"Authorization": "bearer dummykey"}, + ) + assert res.status_code == 200 + + @pytest.mark.parametrize( "model", [("word2vec"), ("word2vec_slim")], From 254946e1aa23000623d523281a9cb91fd67041ef Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Tue, 16 May 2023 15:00:49 -0700 Subject: [PATCH 33/34] model name no split --- server/api/blueprints/word2vec.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/api/blueprints/word2vec.py b/server/api/blueprints/word2vec.py index bedcbb3..cc9d3bb 100644 --- a/server/api/blueprints/word2vec.py +++ b/server/api/blueprints/word2vec.py @@ -24,9 +24,9 @@ def encode(): return (jsonify({"words": ["required field"]}), 400) if request.get_json(silent=True) is not None and "model" in request.json: - model = request.json["model"].strip().split(" ") - elif "words" in request.args: - model = request.args["model"].strip().split(" ") + model = request.json["model"].strip() + elif "model" in request.args: + model = request.args["model"].strip() else: return (jsonify({"model": ["required field"]}), 400) result = w2v_transformer.get_feature_vectors(words, model) From 2fd00ae56e6fc528eb9b42b60fd305d24f427d56 Mon Sep 17 00:00:00 2001 From: aaronshiel Date: Wed, 24 May 2023 15:03:57 -0700 Subject: [PATCH 34/34] merge main + public subnet for ec2 instances --- .../aws/terraform/modules/beanstalk/main.tf | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) mode change 100644 => 100755 infrastructure/aws/terraform/modules/beanstalk/main.tf diff --git a/infrastructure/aws/terraform/modules/beanstalk/main.tf b/infrastructure/aws/terraform/modules/beanstalk/main.tf old mode 100644 new mode 100755 index 06645c6..e6579ea --- a/infrastructure/aws/terraform/modules/beanstalk/main.tf +++ b/infrastructure/aws/terraform/modules/beanstalk/main.tf @@ -12,7 +12,7 @@ locals { } module "vpc" { - source = "git::https://github.com/cloudposse/terraform-aws-vpc.git?ref=tags/0.25.0" + source = "git::https://github.com/cloudposse/terraform-aws-vpc.git?ref=tags/1.2.0" namespace = var.eb_env_namespace stage = var.eb_env_stage name = var.eb_env_name @@ -20,10 +20,12 @@ module "vpc" { tags = var.eb_env_tags delimiter = var.eb_env_delimiter cidr_block = var.vpc_cidr_block + internet_gateway_enabled = true + ipv6_egress_only_internet_gateway_enabled = true } module "subnets" { - source = "git::https://github.com/cloudposse/terraform-aws-dynamic-subnets.git?ref=tags/0.39.3" + source = "git::https://github.com/cloudposse/terraform-aws-dynamic-subnets.git?ref=tags/2.1.0" availability_zones = var.aws_availability_zones namespace = var.eb_env_namespace stage = var.eb_env_stage @@ -32,10 +34,17 @@ module "subnets" { tags = var.eb_env_tags delimiter = var.eb_env_delimiter vpc_id = module.vpc.vpc_id - igw_id = module.vpc.igw_id - cidr_block = module.vpc.vpc_cidr_block - nat_gateway_enabled = true + igw_id = [module.vpc.igw_id] + nat_gateway_enabled = false nat_instance_enabled = false + private_route_table_enabled = true + private_dns64_nat64_enabled = false + private_assign_ipv6_address_on_creation = true + public_assign_ipv6_address_on_creation = true + ipv4_cidr_block = [module.vpc.vpc_cidr_block] + ipv6_enabled = true + ipv6_cidr_block = [module.vpc.vpc_ipv6_cidr_block] + ipv6_egress_only_igw_id = [module.vpc.ipv6_egress_only_igw_id] } module "elastic_beanstalk_application" { @@ -51,6 +60,8 @@ module "elastic_beanstalk_application" { ### +# IMPORTANT NOTE: After deployment, you must manually change the IP address type of the load balancer to dualstack. +# This is a new feature that is not yet supported in terraform. # the main elastic beanstalk env ### module "elastic_beanstalk_environment" { @@ -84,6 +95,8 @@ module "elastic_beanstalk_environment" { health_streaming_delete_on_terminate = var.eb_env_health_streaming_delete_on_terminate health_streaming_retention_in_days = var.eb_env_health_streaming_retention_in_days + associate_public_ip_address = true + instance_type = var.eb_env_instance_type root_volume_size = var.eb_env_root_volume_size root_volume_type = var.eb_env_root_volume_type @@ -100,7 +113,7 @@ module "elastic_beanstalk_environment" { vpc_id = module.vpc.vpc_id loadbalancer_subnets = module.subnets.public_subnet_ids - application_subnets = module.subnets.private_subnet_ids + application_subnets = module.subnets.public_subnet_ids allowed_security_groups = [ module.vpc.vpc_default_security_group_id ] @@ -391,4 +404,4 @@ resource "aws_cloudwatch_metric_alarm" "response_time_p90" { dimensions = { LoadBalancer = regex(".+loadbalancer/(.*)$", module.elastic_beanstalk_environment.load_balancers[0])[0] } -} \ No newline at end of file +}