2020 Predictions

I have learned, grown, and failed a lot this year. If folks would like me to write about that I would be happy to. For this post, instead of reflecting on this past year, I wanted to share 10 predictions I have for the upcoming year(s).

  1. People will focus on building stronger relationships with fewer people
  2. There will be less owning and more sharing
  3. Augmented reality will hit a tipping point
  4. There will be a boom in silvertech (technology for seniors)
  5. PCP(primary care physicians) will utilize telemedicine more in order to be able to accept new patients.
  6. Career “sprinting” will become more common… ex: a cycle of people working hard for 2 years, and then taking a 3 month break
  7. Deepfakes will become more prominent in popculture/politics
  8. Companies will create their own virtual celebrities to be their influencers
  9. Companies will provide consumers with more privacy/security transparency
  10. With the paradigms shift in gender, new technology will emerge to support new gender norms
Cheers to a happy & healthy 2020 filled with risks (and hopefully reward)🎉

What are your predictions?

A Concept More Primitive Than The Cavemen

The title is a lie.

This concept, however, is a primitive concept in Java. Go ahead and grab a cup of Java, before we dive into the concept of primitive data types.

Boolean, char, byte, short, int, long, float, and double are all primitive data types in Java. These are all words that Java knows. These values are stored in the stack, as opposed to the heap. Variables that are on the stack are accessible directly from memory, and can run very fast. Objects are on the heap, and take more time to access.

Every primitive type in Java has a wrapper class.

  • short has Short
  • int has Integer
  • long has Long
  • boolean has Boolean
  • char has Character
  • float has Float
  • double has Double
  • byte has Byte

The wrappers have methods attached to them that the primitive types do not have. These include…

Image from tutorialspoint.com
Image from tutorialspoint.com
Image from tutorialspoint.com

Wrapper classes are primitives are also stored differently in memory. The wrapper classes are stored on the stack as a reference to an object on the heap.

class PrimitivePost
{
public static void main(String args[])
{
//declearing a boolean, this returns true or false
boolean t = true;
// declaring character
char a = ‘G’;
// declaring byte
byte b = 4;
// declaring short
short s = 56;
// declaring int 
int i=89;
//declaring a long
long l = 244843984;
// declaring a float — for float use ‘f’ as suffix
float f = 4.7333434f;

// declaring a double — default fraction value is double in java
double d = 4.355453532;


System.out.println(“boolean: “ + t);
System.out.println(“char: “ + a);
System.out.println(“byte: “ + b);
System.out.println(“short: “ + s);
System.out.println(“int: “ + i);
System.out.println(“long: “ + l);
System.out.println(“float: “ + f);
System.out.println(“double: “ + d);
}
}

Revolutionizing Education

During summer break, I like to use online classes to keep my programming skills up to par.

I am a strong believer that if you don’t use your skills, you lose your skills.

I am able to learn effectively in a classroom setting, and use online classes as a supplement. Many students, however, are unable to thrive in a typical brick and mortar classroom.

Over winter break I redesigned a website for an online school, Greenways Academy. While working with their team I realized how beneficial online education is. There are many kids that would not get their high school diploma if there weren’t online alternatives.

Kids that benefit from online education are not limited to students that are traveling the world, and competitive athletes. Many students with social anxieties and learning disabilities benefit from an online education.

With online classes, you are also not limited. I would have thought that online school would only offer core classes, but they provide a plethora of interesting and unique online classes — classes that were not offered to me in a brick and mortar setting.

I recently transferred college, because I wanted a more personalized education. At my previous school I was a number, at my new school I am a student. Online education can give these benefits to their students.

People often discuss the drawbacks of technology. While I do believe that technology can be controversial, I know that it is also helpful and amazing. Some technology is so integrated into our everyday lives that we overlook how helpful it can be. Online education, to me, is one of the amazing ways that technology benefits us.

You Want to be a Computer Scientist, Now What?

system.out.println("Become a Computer Scientist");

When we were all born none of us knew how to speak. Now we can sit and talk about our ideas without thinking about each word that we are saying and its definition. Speaking to us has become second nature.

Learning to Program

The process of learning to program is similar to speaking. One day you learn how to create a variable, the next day you are learning about loops and how to make your program recrsive.

You learn everything bit by bit — not all at once.

After you learn the different aspect of what to put into a program, and have written a couple dozen yourself, putting all of the pieces together will become second nature. For instance, adding items to a list in java looks like this:

List<String> myList = new LinkedList<String>();
myList.add("Hello");
myList.add("reader");

I naturally put the “.” inbetween myList and add, but I often forget to think about what that “.” is doing. This is because adding to my lists has started to become second nature to me.

This is a reason why part of computer science is self teaching. Think about breathing. We just kind of do it. Okay, now thinking about trying to describe to someone how to breathe. Its rather diffucult to describe to someone how to do something that is second nature to you. Your teachers trying to describe concepts to you can feel like this. That’s why finding online resources and practice is key to learning how to program.

Concepts in Computer Science

Part of becoming a computer scientist is learning the different concepts within the field.

For instance, I currently do not think that in my post grad life I will be using artificial intelligence(AI). That said, I should still be able to discuss those topics. If I was working on a project with someone and they suggested we approach the problem using AI, I should be able to say why or why not I think it’s a good idea.

This concept is similar to being a baker. Say I am a professional baker, but I only ever want to bake brownies. Don’t you think it’s still important that I know how a cupcake is made, especially if I am going to consider myself a professional baker? Maybe I should even know how to make a basic cupcake.

This concept of being versed in multiple areas of the disipline is especially important when you’re dealing with a field like computer science. Computer science is not like engineering where you need to be licensed to practice. In computer science you can be completely self taught and still be successful in the field. Being well versed in your options is necessary when making important decisions that computer scientists have to make.

Sorting Algorithms Conceptually

If you’re interested in computer science, or just different ways to sort a list of numbers, knowing some basic sorting algorithms will be very helpful for you. OR you may be interested in folk dancing… then this is also the post for you, because all of the different types of sorting titles are linked to a video where it is explained through folk dancing!

First you should know what an array is. An array is a data structure that holds a group of elements that are all the same data type (all letters, all numbers, etc.). If this concept throws you off, every time I say array, just replace it in your head with the word list(like a grocery list). I will be sorting number arrays.

WE WILL BE SORTING FROM SMALLEST TO LARGEST IN EVERY EXAMPLE

Selection sort

*for the drawings* The blue arrow is pointing to what we are looking at, and the red arrow is what we are comparing it to. There are brackets around the numbers to show that this is an array.

  1. You point to the first element in the array, and then the second element, and compare the two. Because the blue number is larger than the red number we incrament(increaste by one) and turn the current red number into the new blue number. The old blue number is no longer being pointed to.
  2. We keep comparing 2 elements in the array, and stop pointing to the larger number of the two. We then keep comparing the smaller number to the next elements in the array until we prove that it is the smallest, and then it is put at the front of the array where it will stay.
  3. Keep going through the process for the length of the array, incrementing(increasing by 1)the position that you put the current smallest number in. The last few elements don’t take too long because they have fewer things to be compared with.

Bubble Sort

*for the drawings* The blue arrow is pointing to what we are looking at, and the red arrow is what we are comparing it to. There are brackets around the numbers to show that this is an array.

  1. Point to the first element and compare it to the second element in the array.
  2. If the first is smaller, increment what element in the array your blue number is. If the your blue number is larger than your red number you swap the elements. Then we compare the next two elements(so on and so forth).
  3. The array will not be sorted after this.
  4. Once you have parsed through the end of the array, then go through the array again and do the same thing. At each pass, we aren’t finding the largest element, but putting it one position closer to where its final position is.
  5. If you pass through the array and do not make a swap, that is how you know that you have finished and your array is sorted.

Merge Sort

*for the drawings* The blue arrow is pointing to what we are looking at, and the red arrow is what we are comparing it to. There are brackets around the numbers to show that this is an array.

  1. You start this sorting process by splitting the array into two arrays. Make them equal sizes if possible.
  2. Once you split the original array, then split the individual sides until they are broken down into arrays with one element in them. An array with one element is technically already sorted. Then you merge it (compare and put in order) with the closest singular array.
  3. Then repeat until we have one of the original sides sorted. We repeat this processes for the other side.
  4. You then merge the two sorted and split arrays by comparing the first elements and putting the smaller of the two into a new ,third, array. You increment(increase by one) through the two sorted arrays as you add elements into the new array. You compare as you go until there are no more elements in either of the two sorted arrays.
  5. *If the two elements are equal to each other you write a special line of code saying which side to take from in this condition.

Quick Sort

*for the drawings* The red arrow is symbolic of your pivot number, and the blue arrow is the number you are currently comparing to the pivot number. There are brackets around the numbers to show that this is an array.

  1. You have your unsorted (shuffled) array, and then randomly select a number in your array to be your “pivot” number.
  2. Now you split the array into three new arrays. The first array is everything that is smaller than the pivot number, the second array is the pivot itself, and the third array is everything larger than the pivot number.
  3. Then you sort the first array by doing quick sort again (randomly picking a pivot number, and then splitting the array into everything larger and smaller than the pivot) and keep going until the smaller than the pivot array and larger than the pivot array only contain one number.
  4. You then make a new array, and stick your original first array, that is now sorted, in front of your original pivot, and sort the third array(the same way as the first) and stick it after the pivot. Since the pivot is only one number is it technically already sorted.
  5. We now have a sorted array.

Let me know in the comments if this helped you better understand sorting algorithms!

👏Claps on this post are very appreciated 👏

Stacks and Queues Made Simple

I thought that today I would write about 2 types of data structures-stacks and queues. You may want to learn about these if you have ever wondered why medium posts new articles at the top of your page, and old ones at the bottom.

A data structure is a fancy way of saying how we organize and store data

I decided to write about this because I think it is interesting and important to know how you have access to data, and I picked stacks and queues because, well, to put it simply I am the most comfortable with these two. Knowing these will make you a more competent computer user in general.

Stack of pancakes

A Stack is also referred to as FILO; or first in, last out. This is used when you hit the back button on your browser.A non-technical example of this data structure is when you empty the dish washer and put your plates away, you stack them up and then when you need a plate you take from the top of the stack.

Queue of people at coffee shop

A Queue is referred to as FIFO; or first in, first out.This is used when you are sending multiple documents to be printed at one time.A non-technical example is when you are waiting in a line at Starbucks, the first person in line is the first person to be serviced.

Let me know if this post was helpful in the comments, and if you would like to see more technical posts like this from me!

Can you think of different examples of Stacks and Queues that are used on the internet?

Wozniak’s Happiness Algorithm

Today, I skipped all of my classes to see Steve “The Woz” Wozniak speak.

Having seen my share of speakers before, I was expecting him to be very average, but didn’t want to miss out on the oppurtunity of seeing him.

To my surprise, his passion and energy were palpable.

One of the most important things he talked about was how to live a good life. This is a concept that many philosophers have explored. In particular, Aristotle called this concept arete.

According to Wozniak, happiness was the key to a good life. Happiness is better than success and achievement.

Now we are all wondering, how do we achieve happiness? Well, Steve Wozniak gave me an algorithm which I will now share with you.

Remember, that this algorithm was created by one of the most brilliant engineers to ever exist so try and follow along…

Happiness = Smiles — Frowns

*He later mentioned that necessities(housing, water, food), entertainment, and friends are all things that you need as well.

Out of the whole talk that he gave he spat out a lot of insight, but I thought that this was the most important. His emphasis on it led me to believe that he thinks that this is the most important thing as well.

Don’t look back.

Don’t argue.

You never have to convince anyone other than yourself.

  • Steve Wozniak

Twitter Tips #tweeting

This summer at my internship I had the oppurtunity to run the companies’ Twitter page, and as a programmer I was excited for this challenge. Previous to this I had only tweeted from my own Twitter accounts, but knew that I loved twitter and thought I was #blessed when it came to my tweeting skills. I ended up growing our twitter following by over 300% as well as increasing our user interaction with our tweets.

I’m going to share a few of my tips…

1. Follow people who follow accounts similar to yours, or that have a related hashtag to your field in their twitter bio.

a. If they don’t follow back within a month I would unfollow them, because you don’t always want to be following significantly more people than follow you

2. Interact with accounts’ tweets. Someone may not be following you, but interacting with their tweets can help you get that follow.

3. Engage with other brands. Mutual brand boosting is helpful to both companies involved, this also increases who your tweets are being seen by.

4. Tweet about those silly holidays. When it’s national cat day tie that into your company(even a picture of someone at the company with a cat works), but use those trending hashtags in the post.

5. Interesting articles with a brief summary always to well. Those tweets do even when there is a picture and not the link to the article.

6. 80% work, 20% fun. A company’s twitter should be 80% about the company and related topics, and the other 20% should be fun things such as #MondayMotivation

7. Vary the times in the day you tweet. You can even set up systems to send out tweets at certain days and times. Make sure to tweet on the weekend

People Vs. Users: Which Would Should We Use?

http://contemporary-home-computing.org/turing-complete-user/#fn-tron

In the article linked above it discusses the difference between using the word user and using the word people. I had not realized that the difference in these two words is significant.

At first, I was stuck on the idea that using the word user could be dehumanizing/depersonalizing. I also liked the point that experiences were for people and interfaces were for the users. These two ideas had me originally thinking that people was a better word to be using.

After discussing it with others I now think that user is better than people. The word user shows awareness that you are using a technology which is important when technology is being more and more integrated into our everyday lives. Users are there to use the code because they are too busy doing something else to write the hope — BUT they still have their own agency from the computer.

Perhaps the best word to use is not users or people; but an in between word. I am not sure what this word would be. The only industries that call people users are the tech and drug industries. The tech companies don’t want people to stop using what they provide, they want the people to be addicted to it.

Girls In Tech Conference

Earlier in the summer I went to the Girls in Tech catalyst conference. At the conference I decided to take notes of a few things the speakers said that really resonated with me. Today I will be sharing some of these notes.

Because of how I took the notes I’ll be putting the main takeaways in bullet points. I hope some of these ideas inspire you!

· Balancing your mind and your heart, doing good=feeling good

· Think bigger, ask for more

· Showing up, are you present, are you purposeful, what’s your mindset

· You always have choices

· Always be yourself regardless of your job title

· Don’t use acronyms when you talk, they slow down the learning process

· What comes naturally to you does count as a skill

· Being interested in what you do helps you stay focused and balanced

· Wake up early, sit down and write about what you love, what you’re good at, what you hate, what you want to be, what you want to do, what you want the story of your life to be

· Ask what you can do better

· Ask mentors what you would do if you were me

· If all the seats are taken pull up a folding chair

· Be a good story teller

· Our mindset it broken, we think in a winners take all mindset

· Don’t focus on what you want to be, focus on why

· Make the most of what you can’t control

· You don’t have to have a STEM degree to be a woman in tech

· Hardships make the good times worth it

· Have the discipline to say no

· Figure out how to pivot and be resilient

· Take credit for what you do, speak up and talk about your work

· Work for someone you respect

· Don’t be afraid to fail

· Don’t just network when you need something

· Think about things beyond just solving the problems

· Know what motivates your subordinates

· You don’t have to explain why you can’t go to or do something

· Not about failing fast, but learning fast

· Breaking problems into smaller problems

· Byproduct of joy is success

· If you don’t understand something from someone, ask someone else to explain it to you

· Don’t optimize your own time when asking for help

· At 20 your constantly worried about what others think, at 40 you don’t give a damn what anyone thinks of you, at 60 you realize nobody was think about you

· Hear no, and ask questions to find out why it’s a no

· Lean into and love the hard stuff

· Not what do you want, but what are you trying to solve

· Can you have it all? What the hell is all.. you define what it is

· Define the moment or let it define you