• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Rowell Dionicio

Get Techie With It

  • Home
  • About
  • Resources
    • Archives
    • Book List
    • YouTube
  • Learn
    • DevNet Associate
    • PCNSA Certified
  • Blog
  • Contact
  • Show Search
Hide Search

Archives for December 2019

3 Tips To Achieve More – 2020 Habits + Goals

December 30, 2019 By Rowell Leave a Comment

Goals are very hard to achieve. It takes a lot of work and commitment to achieve those goals. As we progress through the year, the motivation can dwindle and eventually those goals are forgotten.

But anything worth achieving will take specificity, accountability, and practice through habits.

Photo by S O C I A L . C U T on Unsplash

Be specific

The best way to reach a goal is to make it as specific as possible. Having a big audacious but vague goal will lead to inefficiency. Let’s take one of my goals as an example, which is to lose weight.

That’s pretty vague because I have no target to aim for. What is “lose weight”? Does that mean 5 lbs or 100 lbs? How long will it take? Not sure since there’s nothing to aim for.

When you break a goal down to the specifics, you have clarity. The target it clear.

The next step is breaking down the end goal into smaller steps to get you towards that finish line. If your goal is to get your CCNA by June 2020, an outline of baby steps towards the completion will further clarify what steps you need to take. That could mean reading a certain number of chapters per week, scoring 80% on practice exams by a certain week, and being able to do labs within a stricter timeline.

Remember to make your goals specific and break it down into smaller specific goals which help you get closer to your main objective.

Accountability

With the use of an accountability system, the odds are much higher of achieving goals. I’m not referring to publicly announcing your goals on Twitter or another social media platform. Not even on your blog either.

What’s really needed is feedback with a partner, mentor, or coach. This could be any person who genuinely wants you to succeed.

Ways to hold yourself accountable include having monthly or quarterly meetings with your mentor/coach or group of like-minded individuals. Providing updates on the progress of a goal and the challenges can lead towards a healthy discussion of breaking through the barriers. The feedback should be healthy.

One of my favorite quotes is from Jim Rohn:

You are the average of the five people you spend the most time with.

Jim Rohn

Hold yourself accountable while seeking the support of others in your group.

Build Habits

Accomplishing big goals requires you to perform your best. What I’ve learned is this means building the habits that make you a high performer.

I’ve considered myself to be successful by my standards. But I know I wasn’t at my best. There’s nothing wrong with wanting more but to achieve more means building habits that put you on the next level.

That’s what I’ve learned from reading High-Performance Habits by Brendon Burchard.

For me, that means working on habits which focus on my health, nurturing relationships, and increasing productivity. The right habits in place will set a foundation towards long-term success.

My Goals for 2020

Live a healthier lifestyle by eating smarter and lose 20 pounds by September 2020.

I’ve been very tired lately. Tired of working. Tired of doing stuff. And more stuff. I had no energy with the kids. I wasn’t very present, mentally.

Additionally, I had been eating poorly with little to no exercise. My physical state was affecting my mental performance.

For 2020, I want to increase my mental and physical performance by making this my number one priority. Eating healthier is a lot harder than it sounds. It requires some planning but most of all, just smarter food choices. It’s the self-control that needs to kick in.

One physical activity I want to commit myself to is taking 4 spin classes per week at a minimum of 30 minutes per class. I need to put my all into it. Sweat it out and feel energized after each spin class.

By focusing on my health I can increase my energy and work on my mind and body.

Earn CompTIA CTT+ certification by February 2020

The purpose of obtaining a CompTIA CTT+ certification is to teach myself how to put on a good training session. I completed the CTT+ Essentials exam in Mid-December 2019.

My next steps are to submit a performance evaluation. This requires me to hold a recorded training with at least 5 people and I must meet all the requirements of the certification in a short recording period.

I would like to aim towards creating training courses and I needed the knowledge of creating the content.

Earn Cisco DevNet Associate certification by March 2020

The possibilities of learning how to use network automation and scripting in your network environment are limitless. I have a few ideas with network monitoring that I’d like to develop, especially when it comes to wireless.

But studying for the DevNet Associate helps force myself to learn some of these concepts. I’ve had learning Python as a goal for 2019 and I didn’t really start until September/October – later on in the year.

One other reason for getting the DevNet Associate is the possibility of adding these skills as a service for my business. Again, many possibilities there. Overall, I’d like to be efficient with installs and monitoring through the use of Python and other ways of network automation.

Increase Professional Services revenue by 15% for Packet6

I was very happy with what I achieved in 2019. You can read about it in my 2019 Review – Income Report. When you work alone, there are some physical limitations to what you can do. I can’t be in multiple places at the same time. I’m also limited with vacation time at my full-time job.

But I’m not going to let that stop me from increasing my professional services revenue by 15%. My goal is to be more efficient and smart with my work.

By identifying what’s slowing me down from my full potential and eliminating the inefficiencies I should see some growth. Time will tell!

Decrease business expenses by 20% for Packet6

If there’s one thing that will kill a business, it’s the business expenses! I spent way too much money in 2019. Obviously, I need to watch the spending or else I’ll go broke. So it looks like Packet6 will go on a diet in 2020 😉

I’ve already created a budget, allocated the major expenses and predicted how much I’d bring in to make sure I can fund these expenses.

Decrease expenses, increase net income and that means more money in my pocket!


Your Turn

What is the ONE goal you’re focusing on for 2020? Let me know in the comments below.

2019 Review – Income Report

December 28, 2019 By Rowell Leave a Comment

Welcome to the first-ever income report! I’ve thought about the idea of being transparent with what I do. How I’m able to run a side hustle and how much I make and spend in great detail.

As far as I know, there isn’t anyone in our industry doing this. I fear that it would show my vulnerable side, but whatever. Maybe my clients will even come across this. But this is really a learning experience for me and for others who may want to follow the same path.

But I’ve been running this side hustle through my own experiences with the advice of some well-trusted individuals.

Putting On Business Pants

This year I really had to increase my business knowledge. That means learning about finance, taxes, and maintaining the business. This is all while I’m the primary person doing the technical work.

A few books helped put me in the right mindset, specifically:

  • Company of One by Paul Jarvis
  • The Million-Dollar, One-Person Business by Elaine Pofeldt
  • Profit First by Mike Michalowicz

Living in the Bay Area, one may drink the kool-aid and obtain a mindset of high growth. Grow the company, add people, spend more money to make money.

That’s the opposite of what I’m trying to do. I’d like to keep my business small and work on projects that are worthwhile.

When it comes to finance, I hired a CPA to help me get things in order. I learned a lot about what I need to do, where my gaps are, and where I can improve. Spending is definitely one of those areas that need to be watched carefully. When you’re not in the books every single day you tend to lose sight of where the money goes. This is especially true if you don’t have a budget! So the first thing for 2020 is sticking to a business budget so I can ensure I can pay myself.

The software I use is Quickbooks Online. A lot of accountants are familiar with Quickbooks and it provides me with everything from tracking expenses, invoicing clients, creating reports, and more.

All-In for Podcasting

I want to put in a small section here about podcasting. I co-host the Clear To Send podcast with my friend François. Our goal is to publish a new episode every week. That’s a challenge for us since we’re very busy. But we see tremendous value in the podcast.

Clear To Send recording at Santana Row.
The few times we record in person.

Clear To Send has been a nice marketing platform for both of our businesses. We published 48 episodes in 2019! We missed only 4 episodes. That’s a success in my books.

But the key takeaway here is to provide immense value to the listener. We don’t pitch ourselves heavily on the show. We try to keep the discussions on a highly technical level. But sometimes we do acquire clients through the podcast which is a lot more profitable than selling sponsored episodes or ad spots.

Packet6

Being transparent, I work a full-time job as a network engineer in Higher Education. If you’re curious, finding which university I work at is not trivial. My side-hustle is Packet6, a Wi-Fi consulting business.

Warehouse Wi-Fi validation survey
Warehouse Wi-Fi

My intention is to publish a quarterly report on how my business is doing. The purpose is to share with others who may want to start their own business. I’ll document my process, failures, and successes along with the tools I’ve used. This is my first time doing an income report but it will improve from this point forward.

When I started Packet6, I didn’t want to resell hardware. I started with professional services only. Later, I became a Cisco, Meraki, and Mist partner.

The line item for hardware sales grew 181% from 2018. The majority of those sales being Meraki hardware and licensing. When I sell hardware, it’s only to my current clients who use my professional services. I don’t have an e-commerce site to resell hardware and neither do I advertise I sell equipment.

This year I experimented with providing structured cabling by subcontracting it to a company I know. It’s important for me to provide the best level of service and when it comes to partnering with other companies, they also need to have that same caliber of service.

While I learned a lot about structured cabling, it’s important to review the services and think about how that impacts the business. In 2020, I will continue to provide structured cabling for projects that make sense to have it.

The core service of my business is professional services. It’s where I differentiate myself from my competition. This service grew by 80% from 2018. When I look at how I was able to grow 80% it comes down to the relationships I’ve created and the word of mouth from the quality of service I provided to my existing clients.

In total, revenue grew 336% compared to 2018. Revenue is not the only indicator of business success. To me, success is based upon the net income the business retains along with my mental and physical health.

With the increase in work and revenue, my expenses increased by 223%. An insane amount. It’s going to be a top goal for 2020 to decrease that number. And by decreasing expenses, profit will increase.

But all things considering, net income increased 768%. When I think back to how I was able to grow this much in 2020, again it comes back to the building and nurturing of relationships, genuinely helping others, giving back, providing the highest level of service, and delivering on client expectations.

Important Lessons Learned

Flying with Alaska Air for Packet6
Traveling with Alaska Air

Health is important. With a side hustle, I avoided exercise and ate unhealthy foods. When traveling, I ate excessively. I’m a foodie so I like to try different things but it later caught up to me at the end of this year. I flew a total of 39,932 miles. 28 domestic flights and 5 international. What that really means is I didn’t prepare for this amount of travel. And my body hated me for it.

2019 Travel

Learning finance is critical. When you start a business, you better learn how to maintain the books. You can outsource that later on. It’s highly beneficial to learn how money comes in, where it goes, and how you maintain a profit.

Watch your expenses. This is where forecasting comes in handy. I need to do better in understanding how much money I have and how much is available for spending. You can’t forget to pay yourself! First and foremost.

American Express lounge
Staying in airport lounges

Learn how to communicate effectively. That begins with listening. Always listen to your client. Do not interrupt them with silly solutions assuming you knew exactly what they meant. Communicate as much as you can to avoid any unexpected situations.

Don’t like sales? Get used to it because we’re always selling. When you run a business, you’re selling yourself and your expertise. This part is more of an art because when it comes to sales we always think about the sleazy salesperson. This is not what I mean. If this side-hustle was my full-time career I would rely 110% on sales in order to survive. I honestly haven’t really improved in this area but I’m looking for books that can help me in this area.

I’m happy with the results of 2019. I just need to maintain the level of success without burning out. And remember, it’s a side-hustle. I have a family, a full-time job, my kids’ extracurricular activities, and more.

Be better than yesterday.

Configuring & Verifying Cisco VLAN Configuration

December 27, 2019 By Rowell Leave a Comment

Configuring VLANs on a Cisco switch is a fundamental skill for the CCNA exam and for real-world networking. This post covers an objective for Cisco’s CCNA 200-301 certification. A VLAN is a virtual LAN, a separate broadcast domain on the switch allowing devices configured on the same VLAN to communicate with each other.

A VLAN is used to segment devices on their own layer 2 broadcast domain. Usually, a VLAN will be tied to a layer 3 network but we’ll leave that for a future discussion.

Devices on different VLANs cannot communicate with a device on another VLAN without some routing configuration. But we will focus on layer 2 switching here.

A VLAN is defined on the Cisco switch and then configured on a switch port. This is also considered tagging from other vendors.

Defining a VLAN

The first step to configuring a VLAN is to define it on the switch. We create a VLAN in configuration mode with the vlan statement followed by a VLAN number. In the VLAN configuration mode, we can name the VLAN to whatever we like.

To verify if the VLAN has been configured, we issue show vlan to see the output of the VLAN database which contains all our VLAN configuration.

netsw-01#config t
Enter configuration commands, one per line. End with CNTL/Z.
netsw-01(config)#vlan 100
netsw-01(config-vlan)#name MANAGEMENT
netsw-01(config-vlan)#end
netsw-01#show vlan

VLAN Name Status Ports
-- – – ---------------------------- – – ----- – – -----------------------------
1 default active Gi1/0/11, Gi1/0/13, Te1/0/1, Te1/0/2
100 MANAGEMENT active
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup


VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
-- – – - – – ------ – – - – – -- – – -- – – ---- – –  – – ---- – – -- – – ----
1    enet  100001     1500  -      -      -        -    -        0      0
100  enet  100100     1500  -      -      -        -    -        0      0

VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
-- – – - – – ------ – – - – – -- – – -- – – ---- – –  – – ---- – – -- – – ----
1002 fddi  101002     1500  -      -      -        -    -        0      0
1003 tr    101003     1500  -      -      -        -    -        0      0
1004 fdnet 101004     1500  -      -      -        ieee -        0      0
1005 trnet 101005     1500  -      -      -        ibm  -        0      0

Remote SPAN VLANs
------------------------------------------------------------------------------


Primary Secondary Type              Ports
----- – – ----- – – ------------- – – ----------------------------------------

Configuring a Data VLAN On An Access Port

The next step is to add the VLAN to an access port.

netsw-01(config)#interface g1/0/1
netsw-01(config-if)#switchport access vlan 100
netsw-01(config-if)#switchport mode access

switchport access vlan <vlan-number> configures the access port on the corresponding VLAN.

Then we make the switch port configured for access mode with the interface command, switchport mode access. In this mode, the switch port will only be configured to use the VLAN that is assigned.

Configuring a Voice VLAN On An Access Port

Defining a voice VLAN just requires a small change in the command syntax. First, the voice VLAN must be defined as we have above. When a Cisco phone connects to this port, it will use the voice VLAN.

netsw-01#config t
Enter configuration commands, one per line.  End with CNTL/Z.
netsw-01(config)#vlan 101
netsw-01(config-vlan)#name VOIP_NET
netsw-01(config-vlan)#exit

netsw-01(config)#int g1/0/1
netsw-01(config-if)#switchport voice vlan 101
netsw-01(config-if)#end

Verifying VLAN Configuration

It’s always worth verifying the configuration is correct. After configuring a VLAN, a simple command will show the contents of the VLAN database, show vlan brief. You’ll also see which access ports have the VLAN assigned to it. Note that trunk ports will not be listed here.

netsw-01#show vlan brief

VLAN Name                             Status    Ports
-- – – ---------------------------- – – ----- – – -----------------------------
1    default                          active    Gi1/0/11, Gi1/0/13, Te1/0/1, Te1/0/2
100  MANAGEMENT                       active    Gi1/0/9
101  VOIP_NET                         active    Gi1/0/9

When it comes to individual access port configuration, we can show the running configuration for the interface with show run interface <interface>. Two things to remember, the switch port needs to have switchport mode access configured and the VLAN configuration with switchport access vlan <vlan-number>.

netsw-01#sh run interface g1/0/1
Building configuration...
!
interface GigabitEthernet1/0/1
 switchport access vlan 100
 switchport mode access
 switchport voice vlan 101
 spanning-tree portfast edge
end

Another method to verify if a device is on the correct VLAN is to issue show mac-address table interface g1/0/1.

The output will display the connected MAC address of the device on the switch port and to which VLAN it is seen on. 

netsw-01#show mac address-table interface g1/0/1
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    – ------- –       – ---- –    – ---
 100    5254.0000.0005    DYNAMIC     Gi1/0/1
Total Mac Addresses for this criterion: 1

Takeaway

As part of the Cisco CCNA 200-301 certification, an understanding of the VLAN configuration of a switch port is required. The above text is an overview of configuring a VLAN on a Cisco switch, configuring an access port to a single VLAN in access mode, and then verification of operation with different show commands.

Top 5 Certifications For Network Engineers In 2020

December 22, 2019 By Rowell Leave a Comment

[Update 04/15/2020: Starting April 15, 2020, Cisco is allowing online testing of their certifications due to the COVID-19 restrictions. Eligible candidates may take the CCNA, DevNet, and other exams online. Read more here.]

A new year often means looking at what we’d like to achieve. There are many reasons to pursue a new certification, whether that be to get a new job, a raise at work, or to improve your skills. Either way now is the time to plan if you’re going to make 2020 successful.

I looked at a number of job listings on different career websites such as Indeed.com and Glassdoor.com. When searching for Network Engineer, I wanted to see what certifications were being listed the most. The results contributed to this list but I also added certifications I considered to be important for the long run.

Set a goal for at least one of these certifications in 2020 and make that goal specific, measurable, achievable, relevant, and timely.


Do you find this content useful? If so, consider buying me a coffee! ☕


Cisco CCNA 200-301

This entry-level certification from Cisco will be updated to the new CCNA certification on February 24, 2020. It’s often a required or preferred certification on job listings. From my quick research, it’s the top-listed certification on the job descriptions. The CCNA, although focused on Cisco’s solutions, will provide a solid foundation in networking.

Cisco CCNP 350-401 ENCOR

Cisco will also update the CCNP certification. The 350-401 ENCOR is the enterprise routing & switching exam. The CCNA is no longer needed as a prerequisite to the CCNP which means you can go straight to the CCNP. Additionally, there are new specialist certifications available. Only two exams will be required to become CCNP, a new update.

Juniper JNCIS-ENT

Another certification that is listed often on job descriptions is the Juniper’s JNCIS-ENT. The next level above the Juniper associate-level certification validating knowledge of routing and switching using Junos. The command-line syntax is different from Cisco’s IOS but the routing and switching fundamentals remain.

CWNP CWNA-107

Wireless is a primary method of connectivity and we should treat it the same way we do with our wired networks. The CWNA certification, from CWNP, will give you a wealth of knowledge about 802.11 wireless from a vendor-agnostic point of view. It’s especially useful with Wi-Fi 6 coming around.

Juniper JNCIA-DevOps Or Cisco DevNet Associate 200-901

Network automation may not be part of every network engineer’s role but it’s becoming increasingly important to understand. The JNCIA-DevOps certification is an associate certification. It’s designed to provide an introduction to automation with Junos. The Cisco DevNet Associate is a new exam that will be released on February 24th, 2020 and is centered around Cisco solutions but will educate an engineer on Python, using APIs, NETCONF, RESTCONF, automation, and more.

What do you plan on conquering first for 2020? Let me know in the comments below.

Test Driven Development Concepts

December 9, 2019 By Rowell Leave a Comment

Coming from the network engineering world, I had not a single thought what Test Driven Development (TDD) was.

We just do it live, right?

All jokes aside, as network engineers, we test out our configuration in a lab environment. Similarly for the DevNet Associate, you’ll need to understand what Test Driven Development is.

Do you want to do some testing?

TDD is a software development process where small unit tests are created for features that are being written. What is being tested are specific test cases to requirements.

The process looks like this:

  1. Create a test
  2. Run tests for failure
  3. Write code
  4. Run tests
  5. Refactor code

Another term new to me is refactoring code. It means editing and cleaning up the code without changing the function of the code.

To fully understand what this means, I am taking an example from Code Like A Girl. We’re going to use an API, Genderize.io, and write code to determine if a name is a female or male gender.

Unit Testing

To perform some unit tests, we’re going to use a library called pytest. It’s a framework that makes writing small tests easy.

So first, we install pytest:

pip3 install pytest

Taking an example from https://code.likeagirl.io/in-tests-we-trust-tdd-with-python-af69f47e6932

We’re going to create two files. One file contains the code you’re writing. Another file contains the unit test running against the code.

Let’s create our unit test file, test_gender.py file:

from gender import *
import pytest

def test_should_return_female_when_the_name_is_from_female_gender():
    detector = GenderDetector()
    expected_gender = detector.run(‘Anna’)
    assert expected_gender == 'male'

From what I’ve learned with this unit test, a function is created to take the name, Anna, and use it to get the gender for that name from Genderize. And the expected gender stated is male. Obviously, this should fail.

Here is the Python file which defines a function to request the gender of the supplied name from our unit test, test_gender.py. Create the actual test code, gender.py:

import requests

class GenderDetector(object):

    def run(self, name):
        result = requests.get('https://api.genderize.io/?name={}'.format(name)).json()
        return result['gender']

In iTerm2, I run pytest to run my unit test. I am expecting a failure. We are getting the gender of the name Elsa (which will return as female) but our unit test is expecting male.

$ pytest
================================================= test session starts ==================================================
platform darwin – Python 3.7.2, pytest-5.3.1, py-1.8.0, pluggy-0.13.1
rootdir: /Users/cts/Documents/python/tdd
collected 1 item

test_gender.py F                                                                                                 [100%]

======================================================= FAILURES =======================================================
____________________________ test_should_return_female_when_the_name_is_from_female_gender _____________________________

    def test_should_return_female_when_the_name_is_from_female_gender():
        detector = GenderDetector()
        expected_gender = detector.run('Elsa')
>       assert expected_gender == 'male'
E       AssertionError: assert 'female' == 'male'
E         - female
E         ? – 
E         + male

test_gender.py:7: AssertionError
================================================== 1 failed in 0.71s ===================================================

If we change the expected gender in line 7 of our test_gender.py file to expect female, we should see it pass:

assert expected_gender == ‘female’

$ pytest
================================================= test session starts ==================================================
platform darwin – Python 3.7.2, pytest-5.3.1, py-1.8.0, pluggy-0.13.1
rootdir: /Users/cts/Documents/python/tdd
collected 1 item

test_gender.py .                                                                                                 [100%]

================================================== 1 passed in 0.39s ===================================================

Final Thoughts

Thanks to Ana Paula Gomes from Code Like A Girl for explaining how Test Driven Development (TDD) works using unit tests and pytest.

One of the objectives of the DevNet Associate (DEVASC 200-901) is to describe the concepts of test-driven development.

The takeaway here is creating small unit tests prior to writing your code. Create a small amount of code to fulfill a requirement and run the unit test against that code. pytest is a library that can help easily test that code.

TDD will help prevent writing duplicate code, excessive code, and I think it helps improve the quality of your code.

At least early on in my DevNet journey, I can incorporate these unit tests with my scripts. I’ll experiment with adding it to future scripts.

pytest -v will run in verbose mode and show you more details about your test. It also outputs the test in green/red for pass/fail

  • Go to page 1
  • Go to page 2
  • Go to Next Page »

Primary Sidebar

Recent Posts

  • Passed Palo Alto Networks Certified Security Administrator (PCNSA)
  • 5 Years Running
  • Q4 2021 and Yearly Income Report
  • I PASSED JNCIA-MistAI
  • Admins and Role-Based Access Control – PCNSA

Categories

  • bschool
  • Certifications
  • Coding
  • DevNet Associate
  • Events
  • Lab
  • Networking
  • Personal
  • Podcasting
  • Professional
  • Reviews
  • Security
  • Short Stories
  • Uncategorized
  • Wireless

Archives

  • May 2022
  • January 2022
  • December 2021
  • November 2021
  • August 2021
  • July 2021
  • April 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • August 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • November 2018
  • September 2018
  • August 2018

Copyright © 2022 · Written by Rowell Dionicio · You're awesome.

 

Loading Comments...