Sunday, October 22, 2023

Decision Making: Make One

 Decision making "is simply the process of making a CHOICE".

Sounds easy right? But as you may have already experienced, the WHAT, WHICH, WHY, HOW, [or even WHERE, WHEN] of the CHOICE may as well be decision-making processes in themselves.

So, you will tend to agree with me when I say that decision making is a SERIES of making choices.

Wait, wouldn't that be a cyclical loop? Probably and depending on the situation, that is the state where we sometimes are unable to make a decision.

Top results from a quick search will tell you that there are 7 Steps of Decision Making and there are 12 Strategies you can use. Many more in the search results will lead you into details of how to employ the tested ways and means of how to go about the decision-making process.

In the 7 Steps of Decision Making, evaluation of the decision can entirely be a decision-making process: decide whether the action taken is the best alternative for the decision. Each of the steps can easily become complex.

I offer a SIMPLE METHOD:

Step 1: State the decision in a question

The question should be:

  1. answerable by YES or NO
  2. stated in the positive form by which the answer YES will favor the decision
Step 2: Decide between YES and NO.

IF the answer is NO, then you're DONE with the process. No need to do anything. 
IF the answer is YES, you can continue to the next step.

If you are unable to answer or if you do not believe that you can answer the question, revise the question and refer back to Step 1.

Step 3: Ask: "Will you able to do anything favoring this decision?" and back to Step 2.

Proceed to next step if you already answered yes to this question.

Step 4: Just DO

If you reached this part of the process, congratulations! You made a decision and you should be ready to do something about it.

Thursday, April 21, 2022

Watching videos faster? YES you can!

 

It's been a while that I have been trying to learn how to watch videos faster. I was told about reading faster and I think I can read faster that I used to.

When I started adjusting the speed of videos that I watch, I was cautioned that I may not be able to enjoy watching normal-speed ones. My reasoning? I'd like to keep my brain busy and keep it awake while keeping the momentum of being interested. Further, I can control the depth and versions of imaginations, at which at times, takes away from the video itself. In short, I'd like to absorb the content faster. The only way is to be faster.

Curious? Take a look at readings and opinions about watching faster by starting here: https://www.google.com/search?q=watching+faster

Don't you think you should?

Even faster though is to try the following:

1. Open a video (or on Youtube) you want and play it at normal speed as you used to.

2. After 2 minutes, adjust it to 1.25x and try to keep up with understanding the content. 

3. After 3 or 5 minutes or when you are comfortable, adjust to faster speeds

The rule is: only adjust to faster speed when you are able to comprehend/understand the content. Start with your normal speed and adjust incrementally while still comprehending the content. This, like all skills, takes practice.

Good luck!

Infrastructure as Code (IaC) Session 1: Basics

 What is Infrastructure as  Code?


Prepare Workspace

  1. Install
    1. Terraform: (https://learn.hashicorp.com/tutorials/terraform/install-cli?in=terraform/azure-get-started)
    2. Azure CLI: open PowerShell as administrator
      $ Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; rm .\AzureCLI.msi
    3. Visual Studio Code
      1. Terraform by HashiCorp
      2. Azure Terraform by Microsoft
      3. Azure Cloudshell (Powershell)
      4. Azure CLI tools
  2. Activate Azure Account
Create or open a project folder. Open the folder in VSCode. Create a file named main.tf.
Open a powershell terminal and issue:
$ az login
Paste the following to the main.tf file:
provider "azurerm" {
  features {}
}

resource "azurerm_resource_group" "aingelrg1" {
  name     = "Session1"
  location = "southeastasia"
}

On the terminal, follow through each of the commands
$ terraform init
Initialize terraform and check dependencies

$ terraform plan
Simulate what needs to happen in Azure

$ terraform apply
Execute the instruction in Azure. You need to type "yes" to confirm the execution.

$ terraform show

$ terraform destroy
Delete from Azure

You can checkout some samples at the following Git Repos:
https://github.com/hashicorp/terraform-provider-azurerm/tree/main/examples
https://github.com/aingelc12ell/jaira-terraform-azure/



Wednesday, March 31, 2021

The Programmer

CCTO: https://www.youtube.com/watch?v=FuaQ1QhJOkc

 It’s time to get serious about improving your programming skills. Let’s do it!

1. Remind yourself how much you have to learn

The first step in learning something is recognizing that you don’t know it. That sounds obvious, but experienced programmers remember how long it took to overcome this personal assumption.

2. Stop trying to prove yourself right

Novice software developers (and too many experienced ones) look at their code to admire its wonderfulness. They write tests to prove that their code works instead of trying to make it fail. Truly great programmers actively look for where they’re wrong—because they know that eventually, users will find the defects they missed.

3. “The code works” isn’t where you stop; it’s where you start

Great programmers know that the first iteration is just the first iteration. It works— congratulations!—but you aren’t done. Now, make it better.

Part of that process is defining what “better” means. Is it valuable to make it faster? Easier to document? More reusable? More reliable? The answer varies with each application, but the process doesn’t.

4. Write it three times

First, you write the software to prove to yourself (or a client) that the solution is possible.

The second time, you make it work.

The third time, you make it work right.

5. Read code. Read lots of code

When you read others’ code, you see how someone else solved a programming problem. But don’t treat it as literature; think of it as a lesson and a challenge. To get better, ask yourself:

6. Write code, and not just as assignments

Working on personal programming projects has many advantages. For one, it gives you a way to learn tools and technologies that aren’t available at your current job, but which make you more marketable for the next one. Whether you contribute to an open source project or take on pro-bono work for a local community organization, you’ll gain tech skills and self-confidence. (Plus, your personal projects demonstrate to would-be employers that you’re a self-starter who never stops learning.)

7. Work one-on-one with other developers any way you can

When you contribute to an open source project, pay attention to the feedback you get from users and from other developers. What commonalities do you see in their criticism?

You might be lucky enough to find a personal mentor whom you can trust to guide you in everything from coding techniques to career decisions. Don’t waste these opportunities.


Friday, December 15, 2017

Value...

"To be self-reflective is to explore the various external influences affecting consciousness.." 

What do people value?
How is the value of one person measured?
How is your value perceived by others: those whom you value specially?

In perspective, "value" is subjective. It is defined by whoever sees it. The phrase: "The beauty is in the eyes of the beholder" illustrates the value -- which in this case is beauty.

To a person, our value can only be seen by the benefits we can show, offer, and promise. Personally, I had been subconsciously testing people how I am valued. Many of which really, can only be seen when the "benefits" are packaged to their "standard" -- their way of appreciation.

Each individual seeks some form of value to others -- hence the conscious self-reflection and aim for self-improvement. We try to please them by saying the kind words; showing grace and compassion; etc.; whenever we are prompted. We put ourselves out of our own comfort to understand, console, and, make our way for them -- sympathy and empathy.

However, such value can be short lived. Whatever shown can be forgotten, ignored, and can be seen negatively to the extreme. Any mistakes done along the way may outweigh whatever kindness, sympathy, understanding, and anything provided -- volunteered or grant to a request.

In love, the default is that you value the person -- that what love is. In loving the person, you see what is good and try to help out to overcome anything bad. Clearly, you both want to be valued -- both to see the value in each other: the promise of togetherness, understanding, and support. Initially, when in love, the value can be overrated. As time goes by, the value of each other, for each other, should increase in order to sustain love. If love is just the relationship, the value is put together in just one side of the value of the relationship. Love goes beyond the relationship and should endure so to make the relationship, the feeling, the view of value in each other.

To love is to give and aim to improve the value of each other. This can be achieved by knowing each other and consciously aim and work to improve each other -- compensate the failure of one, and uplift the success of the other. 

Clearly, to value a person is to have a reason and purpose with the person. Time is the least valuable resource to a person with purpose. He can spare time to achieve a better perspective -- the achievement and the realization of the value of the goal. Take for instance a patient hunter for his price catch.

How should I value you? Understand my reason, and focus on the value of its purpose. Forget the means and ways, put the goal ahead of any trials.

See the value.

Saturday, March 18, 2017

Mistakes do not stop me


I am very sure I'll be committing mistakes, it will not stop me.

Mistakes are consequences of doing, they should not prevent anyone to move further. If you acknowledge a mistake before it happens, you will have the presence of mind to avoid it. If not, it's an accident.

No matter, a mistake, as a result of an action, should also not be taken lightly. Be responsible by acknowledging it, internalize by knowing why and how it happened, and learn from it. Any repairs or actions related to it should be proactive moves such that you are committing to strive at least to avoid another in the future.

Further, mistakes makes us human. Do not aim for it, try to avoid it, and just keep moving forward. There is no justice for mistakes than the lessons it offers after if it happens or not.

Endure through mistakes and no mistakes will be greater than the success you will soon harvest.

Persist and never cease to strive and be better.

Thursday, February 2, 2017

Measuring the performance of a software developer

Sometime last year, I was asked to evaluate and identify the best programmer from a number of graduating IT students. The projects have been preselected by the faculty members. The criteria for the selection is not specifically defined. They trusted me, being in software development for sometime, that I will be able to gauge who will be awarded of the contested award given to graduates of the Information Technology bachelor's degree.

To provide me with some insights on how to go about the evaluation, I had to ask some of the faculty members who identified me to be the "judge". One of them presented that the best programmer should be the one who used a well-known development framework in their projects. Another argues that someone who developed their own framework is the better programmer -- having "invented" his own framework.

Another faculty favors the programmer who had developed the most number and more complex system features will determine the best programmer. Another expounds to include the scope of the system -- the system solves a wide variety of problems.

All the projects started at about the same time. Each project are developed by about two to five individuals. From each team, one stands out to be the project leader -- most often, the developer-lead of the team. The cohesiveness of the development efforts vary from each team with the complexity of the individualism among the members. Some instances, from among the team, only one is doing the programming, while the rest will do something else - financial support, documentation, etc.

The determination of the best programmer ignores the collective effort of the team. Be it that the system is developed by one person or by the whole team, the selection dictates the completeness of the presented system. Technical expertise as a baseline criteria was also not considered.

I pity those good developers, idealistic, all-knowing, but are unable to produce a near-complete product by the due date.

In my selection, I had to consider, the development journey of the system by the developers concerned. The best programmer should be someone who delivered the finished product by applying the lessons learned in their earlier years. Having the best project, having used or developed their own framework, are factors in the selection. The measure of performance is the extent of effectively applying what was learned.