Today I did my executive summary for my business idea.
My business idea consist of creating a mobile app and website which acts as an online aggregator or freelancing app/website focusing primarily on personal care. I wrote my mission, competitive advantages, product, management, and financial consideration. This can be found in my assignments.
I also learned about hiring employees. It all starts with being a good leader and figuring out how to manage employees and figuring out how to solve a situation if a problem ever occurs with an employee. Also it crucial to know the liability of the business due to an employee not working as intended, that way I know when to fire them.
All businesses need funding and financial management. For startups, I learned not to gold plate in the beginning and keep it lean.
This starts with a MVP(minimally viable product). A MVP is a product or service with enough features to attract early customers and validate a product/service in the development cycle. This is for the purpose of allowing the version of the product/service to collect maximum amount of validated learning about customers with the least amount of effort. This also helps in releasing a product to the market as quickly as possible, test ideas with real users before committing to a large budget to the product's full development, learn what resonates with the company's target and what does not. The MVP should still align with the business objects and allow problems to be identified for future developmental actions.
With the MVP, also comes with financing. Someone must be putting their money in the bucket. This maybe investors such as "angel investors" or "venture capitalists." Most will expect big profits on their end which means finding a way to connect with them is crucial as they themselves are putting in a big risk too. Spending money is just as important. Being cheap is not always the answer, nor is spending more for the unknown future. Spending as much as your business operation needed is key. This can range from the business operations itself, benefits for the employees, and etc.
Getting sales and getting clients takes good communications. To win a client over, let them talk, let them know what kind of benefits they are seeing, and learn to know when to be quiet. If the deal is successful, be quiet, there is no reason to say more. Talking more might just expose a mistake that the client might not like and they're in a position to more likely get away from the propositions. Most people, unless they hobbyists on the field of the business, does not care about features. They care about the benefit. Therefore, tell people the benefits they will get. Another key thing is to market the product/service well. Showing a clean photo rather than a very bad photo with bad lighting is more likely to give a better impression of what a customer is looking into.
There was so much to branding than I thought there will be. My expectations were to just create pictures and give it a name. Turns out there are a lot of obstacles that comes with just creating these "pictures and names."
When it comes to naming a business or acquiring a domain name. It is not as easy as coming up with something and thinking there will be laws around it. There is actually a competitive natural involved. When coming up with a business name it is crucial to research whether the desired name is already taken. The main reason is to avoid legal trouble with trademarks and other infringements. And it does not always mean using Google is the end all be all. Sources like social media, checking on official patients, and other official entity website is good practice before calling a name onto a business. There will also be times where a very powerful company can come and bully smaller businesses with lawsuits just to acquire a business name or domain name.
Slogans are used to let customers or the target audience to receive a catchphrase and expecting them to remember it so they can become customers to a business's product or service. Slogans are meant to represent what the company or business does. Some good tips is to be consistent with it, make it timeless, keep it short, and keep it simple. For instance, Verizon used to say "Can you hear me now?" but now that phones have evolved towards more to texting, apps, face to face communications, and etc. Their slogan no longer plays a strong role in current times although still relatable.
Mission Statements are meant to declare an action statement for the purpose of a business. It has to mention how it serves the customers. Mission statements also focuses on employees and why their company is different. This keeps employees focused on goals and inspires them to do better. Most mission statements should have elements of value, inspiration, plausibility, and specificity. To write one it should be short, concise, made for the long term, and not limiting. Mission statements can be changed from time to time.
I learned about styling with logos as well as how to proceed in making a logo. A logo is needed for a business to gather first impressions, and remind customers of their business. What makes a good logo is its uniqueness, distinctiveness, it is memorable, it works any size, works any where, versatile, is not cliche, not complicated, does not need to be trendy, and not made but settling for low quality due to saving a few bucks. There is a process to it which takes brainstorming, inspiration, looking at other competition's logos, choosing a design style, paying attention to colors, picking the right typography, and communicating with the designer. Just like picking a domain name and business name, picking a logo also requires legal care. Have to make sure the designer is reputable and the logo is not going to get me sued. I don't have money for a lawyer. I'll be crushed.
A company email, company business card, and business website is a must these days. I learned to use Wix, its similar to Wordpress but Wix focuses on business. A company email is used for connecting with customers or future businesses. A business card is used for networking, this is definitely a must.
Knowing my target market and customers is crucial as mentioned. However, knowing a business's value proposition is even more crucial. The thing is that the product/service need to offer a benefit or relief to a pain. Without this there is no value in a business. We must also consider how the value is being analyzed due to other competitors being around. This value also needs to be stated how it differentiates from other competitions whether it is a direct competition or indirect competition.
Even though a good start up or business may go well. A person should always think of an exit strategy whether its an IPO, acquisition, or management buyout. This is good thinking as it will train a business to be more prepared for future problems.
I learned to write a business plan and executive summary. Most business plan consist of an executive summary, product and services, market analysis summary, strategy summary, management summary, financial plan and many more. An executive summary requires the company's mission, information about the company's owners, outline of your business model, competition, what sets you apart, sales strategies, company's current financial status goal, projections, an implementation plan, and the reader's action.
As for the legal entity, I learned that different businesses have different benefits due to liabilities and other procedures. Some mentioned ones were sole proprietor, partnership, C-corp, B-corp, and LLC. It is always best practice to register an EIN with the IRS.
Started off with learning that an executive summary is often good to propose a start up or business rather than showing a business model nowadays. Mentioning the strongest key points and leaving the weakest at the end is a good idea.
However, before a person or a group decides to start a business they need to research on the potential of their business. Is the business idea done by others else already? Are the goals realistic? What problems are being solved? How does it put some sort of happiness? These are good questions to answers when starting a business.
"Give me one pencil, and I'll snap it with my hand. Give me a box of pencils, and I'll snap my own hands." Together is stronger. There must be a team at some point. I was told to share my ideas with friends and those who are interested in the same types of field. Although I would say to share a business idea with people with some level of trust. Chances are the idea I have is not as unique as I think. Someone probably has already thought of it and attempted it. It is crucial to ask for feedbacks. With these feedbacks a person know their parameters.
Of all the things I said above, nothing really matters unless there are two things: profit and customers. There is no business if there is no profit. A business must have some sort of profit model whether it is production, rental, leasing, commission, and etc. And to get these profits, a business must understand their customers. They must know what kind of customers they are dealing with and how do they use value propositions to keep customers from buying the business products or services.
I found a big issue with the AI assignment and continued with the entrepreneurship unit.
Today was more about hard skills, soft skills, leadership, and a look into other entrepreneurs life.
I learned that communication and interhuman interactions are key when working in a role of leadership as well as being in a job. Soft skills such as being able to communicate and compose oneself is key. I learned that in leadership, taking action regardless of how others would do it is a good indicator of good leadership. Soft skills such as giving a speech, or having a conversation is important. In the MIT video of "How to Speak" I was given very specific things to do such as starting out with a promise, how to stop, and different ways to bring out what I want to say by considering the time, the place, the props, and the visualizations I bring to the audiences. I was given videos on looking into many entrepreneurs' life. Some do it traditionally and one did it as a side hustle. They showed their life throughout their day, how their scheduling work, how they manage their jobs, and different advices were given.
As for the AI assignment, apparently I found out that my program/code ran the spreadsheet not the way I intended. The person who upload the spreadsheet decided to add commas for year 2019 and year 2020 which ended up giving me NaN values when I tried to program with python to read the file. I found out because of the commas, it gave me NaN values, and all I had to do was overwrite the commas, execute the code again and it gave me back the values I needed. I am now coming up with a plan on how to propose Techie Youth as a good alternative for youth who wants to be financially self-sufficient. Apparently, each year applicants had a >40% of not being accepted. One of them, year 2020, was 66%. So while SYEP becomes a coin flip of being accepted or not to learn certain skills, Techie Youth can provide certain skills for any youth.
Here is the updated data/stats I found:
Total Applicants for Each Year
Total 2017 Applicants: 19611
Total 2018 Applicants: 21631
Total 2019 Applicants: 18717
Total 2020 Applicants: 16488
Average Applicants of All Years: 19111.75
Total Enrolled for Each Year
Total 2017 Accepted/Enrolled: 10278
Total 2018 Accepted/Enrolled: 10548
Total 2019 Accepted/Enrolled: 10643
Total 2020 Accepted/Enrolled: 5497
Total Applicants Not Accepted for Each Year
Total 2017 Not Accepted: 9333
Total 2018 Not Accepted: 11083
Total 2019 Not Accepted: 8074
Total 2020 Not Accepted: 10991
Percentage of Applicants NOT ACCEPTED for Each Year
Percentage of 2017 Applicants NOT ACCEPTED: 47.59063790729692%
Percentage of 2018 Applicants NOT ACCEPTED: 51.236651102584254%
Percentage of 2019 Applicants NOT ACCEPTED: 43.13725490196079%
Percentage of 2020 Applicants NOT ACCEPTED: 66.66060164968461%
Max Value, Min Value, Mean Value for Applicants Each Year and Their Associated Boroughs, Respectively
Year 2017
Max Value: 7064, Brooklyn
2nd Max: 5369, Bronx
3rd Max: 4813, Manhattan
4th Max: 1710, Queens
Min Value: 655, Staten Island
Mean Value: 3922.2
Year 2018
Max Value: 7658, Brooklyn
2nd Max: 6075, Bronx
3rd Max: 5315, Manhattan
4th Max: 1833, Queens
Min Value: 750, Staten Island
Mean Value: 4326.2
Year 2019
Max Value: 6606,Brooklyn
2nd Max: 4943, Bronx
3rd Max: 4687, Manhattan
4th Max: 1669, Queens
Min Value: 813, Staten Island
Mean Value: 3743.4
Year 2020
Max Value: 5617, Brooklyn
2nd Max: 4322, Bronx
3rd Max: 4249, Manhattan
4th Max: 1572, Queens
Min Value: 728, Staten Island
Mean Value: 3297.6
I continued to work on my AI assignment today. I got a box and whisker plot going. I did find out that chances are, there will not be any histograms to be made and any scattering plots to be made. The variables given were just not closely related due to the skewed data. I can try to make the scattering plot happen but as long as I keep it time vs applicants. But it will still be awkward due to the lack of data on year 2019 and year 2020. As for the algorithm, I am trying to debug the program. The issue is the algorithm and k cross method being used will not accept any data that was not available. However, I was able to reason to myself that I have everything I actually need. The the total amount of applicants, the number enrolled, the number not accepted, percentages, maxs, and minx are all I need to state why Techie Youth provides an alternative and better way than the SYEP program itself.
I dived into the entrepreneurship unit. Learned many things about leadership and how to compose myself as a leader and how people in this world will take opportunities on others. As for the start up part, I learned that there are different markets such as SME, more for local markets and IDE, global markets. And the "6 myths" about entrepreneurs which was that they were the smartest, have individualism, born not made, high risk takers, charismatic, and undisciplined. Which were not true. I was explained that which a passion it can lead to entrepreneurship whether its a new technology or its a new idea. To carry these out, one must have knowledge, capability, connections, financial assets, name recognition, past work experience, a passion, and a commitment. For a person to enter a certain market itself they are expected to be well funded, ready access, have compelling value, have a whole product, deals with competition, has leverage, and has personal alignment. Next came the idea of innovation which I was given an equation that Innovation = Invention * Commercialization. There are different varieties of innovation such as technology, process, business modes, position, and many others. There are also different categories of innovation such as disruptive, incremental, and lateral. However regardless of what idea a person has, what technology a person has, what innovation a person has, if the cash flow ain't there, there is no start up, there is no business. There must be some sort of paying customer.
I have finished my website and was finally able to deploy after 30 minutes of finding out why my website was not showing my content! I was not able to look into the Entrepreneurship unit today because I was working on the AI assignment. I will probably look into that Entrepreneurship unit tomorrow.
For the AI assignment, the data was a bit "confusing" and was kind of skewed. The data is about the number of NYCHA residents who applied, enrolled, and etc. into SYEP. The reason it was confusing is because they put an "average" by adding the numbers from each borough. I added my own "total applicants" , "not accepted", and etc. Yesterday, I was stuck computing and making a simple bar chart because I found out the datatypes of the data were in strings value and not in int, float, double, etc. Fixed that right away and now I was able to compute! I made some basic statistical computations such as min, max, and mean. I also made a bar chart, and I have no idea how I am going to make histograms, normal distributions, scattering plots and other charts. The data is just not enough, it doesn't really repeat itself much and it was only a total of 4 years of 5 boroughs. Most importantly, I am not sure how I am going to use algorithms for this. Chances are I probably won't have to use it because the data I have already shows a solution to my problem. I will probably "try to stretch it" as much as possible with more graphs. But the data is just so skewed. I'll do my best though.
I will be able to claim that there is a positive amount of applicants that were not accepted in year 2017, and year 2018. And because of this I can also state that Techie Youth can be a solution to this because unlike SYEP who goes by some lottery system, any youth can sign up for Techie Youth. I can also claim that maybe because of COVID-19 and the inability to sign up for SYEP, Techie Youth can be available since the E-earn program is online.
Anyways, here is what I found out :D
Please see an updated version on my daily blog for Friday, August 5th
I looked in the AI assignment today and turns out it is going to be a bit more difficult than expected. I decided to use some DYCD data that shows SYEP participants, enrollment, applicants, financial counseling, and college readiness. What I am trying to do is figure out "Does the youth want to be financially self-sufficient?" As this is one of the causes for Techie Youth! However, I got stuck putting out the charts. Describing the data was also a disaster as I had to clean up the data a bit cause some of the rows should not had belong there. My main issue is when I get to the part of using algorithms. I am not sure if I can even use an algorithm for this to begin with however, once I get the charts going I should be able to make a prediction and back it up with the charts and data.
As for the website assignment, my project is having an issue getting deployed. I checked for anything else to code, I like the way it was and continue on deploying the website. For some reason, Git is not uploading all my files into the Github repository. I am trying to fix this. Not sure what is going on exactly, might take a while.
I am now taking interest in the Entrepreneurship unit, it seems like starting something is fun and I can't wait to see what I can do with that unit.
Today was about styling my website assignment!
I had to get used to the ChakraUI library so it took me some time to figure out which function was going to be a liability for the parent element and child element. I got stuck in "hydration" issues and the way to implement certain elements. But I got it done! :D
I am basically finished. I got all my links working, the navigation bar is working as well. I made sure there was less clicking/tapping and more scrolling. Overall, I would say I need to work more on my design skill. I end up not making it tech-like because I liked the way the website is already. As for the styling I added some color gradients, a border, some highlights, and many more. Moving the content around was the hard part.
Now all I have to do is check if there is anything I want to add or if there are any issues with the website. If everything is going well, I will deploy the website and since I am using Next.js, I am going to use Vercel.
After this website assignment, I will be moving onto the AI assignment which I am still deciding what kinds of data I would like to use. I still have a long way to go with this since I am not really used to TensorFlow even though I used it once in the provided project given. I will most likely choose data on how youth can get into tech easier, any homelessness data, or anything else I can find that I have not seen yet.
Today was more about doing my web development assignment, discovering NYC based resources, and fixing any bugs/errors in my program.
The programming part today was easy. Finding NYC based resources on the other hand was difficult. There were so few. Thankfully Techie Youth exist :D
Anyways, I decided to use Next.js which is a react framework and chakra-ui which is a library to build or design react applications. Both work well together and if I'm feeling a bit extra, I might add framer motion to it.
My plan as for building the website itself is to first do the basic layout(done), any basic elements(almost done), adding the backlinks resources I found(done), adding backlinks(almost done), and adding a brief description(almost done). I also decided to make my footer a "donation and other resource" area. Of course there will be a direct link to Techie Youth's donation page. Next will be the design, styling, and mobile friendly part of the website.
As for the design, I'm probably gonna make it "tech-like", "arcade-like", or my own basic design because the last thing I need is to put a random background image found on Google, put it on my website, deploy it, and get sued for copyright violations :D
As for the AI assignment, I will probably finish up all the basic stuff first on the web development assignment, and then move on to the AI assignment as I manage to design the website since I'm not much of a designer.
Happy Friday!
Started off with a beginner's project in artificial intelligence.
This project was about exploring data and using algorithms to examine the physical measurements of the sepals and petals of the iris flowers. First step was to import any libraries such as scikit, numpy, and etc. From there required loading the dataset, summarizing the dataset, and visualizing the dataset. A good tip I learned from the visualization part is that when a scatter plot shows data being distributed diagonally, there is a good chance the data is high correlation and predictable relationship. I was expose to many other plots such as histograms and box and whisker plots. Next comes the algorithms and predictions where the "k-fold cross validation" technique was used. The algorithms ran were: logistic regressions, linear discriminant analysis, k-nearest neighbors, classification and regression trees, gaussian naive bayes, support vector machines. From there I explored the accuracy and percentage errors of my evaluations.
There was a deep learning program project that I was working on. However, I was having issues installing TensorFlow onto my terminal, so I will have to see what went wrong.
Despite everything that was given in this AI unit, I still have a lot to learn or get better at. Especially reading charts, statistical analysis (KNN, Gaussian Distribution, and etc.), other algorithms, and other tools for AI.
From there I read and explore through the AI business section which I have to say, I do not think I am starting one anytime soon. However it did help me to narrow on which sector in AI I would be interested in whether it was NLP, robotics, Big data, IoT, neural analytics.
Since I am basically done with all the contents from the Web Development and AI units. From now, I willing be focusing more on the assignments. I will do the web development first. I have already made a plan and planned the layout. I mentioned I will find as many NYC based resources as possible however I will also be including anything online as well.
I have came up with an idea with my web development assignment. I am coming up with a schedule/plan on how I will proceed with the Data Analytics, and Artificial Intelligence part. However first I should explain what I learned at Techie Youth today.
Today I learned the Java Programming Language. Java like many of the other programming languages that was provided in the web development unit is a high level programming language. I will first explain how it is similar to other programming languages.
Like most other programming languages, Java does have different types of variables, primitive types, strings, arrays, mathematical operators/expressions, inputs, outputs, logical operators, if statements, switch statements, for loops, while loops, class, functions.
What makes Java distinguishable is I noticed unlike Python, JavaScript, and the others, Java required lots of function based programming. As a recall, functions is just a block of code that makes the program perform a certain task. Depending on the function itself, a programmer may want a return type or a void. The Java program must contain at least one function. That one function is usually a main() function. That one function must also be part of a class. Therefore, in any Java program there must be at least one class and at least one function in order to run some tasks.
After finishing some quizzes, I am done with all the contents(articles, videos, and guides) in the web development.
For my web development assignment, I am planning to create a blog/resource page using HTML, CSS, JavaScript, and etc. And since it needs to be about one of the causes of Techie Youth, it will most likely be about tech and resources available in New York. Of course, it will have a link to Techie Youth :D
As for my plan, I will be working on the AI or Data Analyst sections. They both relate each other at some sense
Now I am learning some AI. In most AI system the procedures are to: understand the problem, hypothesis generation, get data, data exploration, feature engineering, model training, model evaluation, and model testing. I went through a housing prices project which guided me how to see data and use python to arrange data and make plots. From histograms, and other charts, I was taught to analyze certain things given in a chart such as outliers, missing values, and etc. From there I also learned to fix any data if it was skewed and using algorithmns.
Today I decided to look into PHP Programming Language. PHP has always been a language around web development.
PHP is a server side scripting language for web development and integrates well with HTML. First I learned start with a PHP server and program with a PHP file. Many PHP, or at least shown in the tutorial, was done inside the body tag element. Next I learned to use a php tag which looks like:
<?php
echo("Hello World");
?>
The echo statement/command is used to output things on to a website. It can output many things such as strings, HTML elements, variables, and other sort of values.
What makes PHP distinguishable from other programming language is its way of creating a new variable. A variable is also known to be containers for storing information. To create a PHP variable, a $ is always used such as $characterName, $userName, and so on.
As an example for the things mentioned:
$phrase = "Giraffe Academy"
echo $phrase[0];
A [0] is used to indicate index 0 character so a echo $phrase[0], which the echo statement is used to output a value, will output the letter G.
PHP has similar program abilities that can be found in other programming languages although typed differently such as array, associated array, functions, returns, if statements, switch statements, while loop, for loop, classes, objects, inheritance, constructors, There are also many functions built into PHP such as str_replace(), substr(), and etc.
What was new that I learned and that was different in other programming language was that in PHP the URL parameters can be used to change variables in the website.
There are serval ways the URL parameters play as roles in PHP such as certain methods. There are ways to create an action and some of the methods mentioned in the tutorial is the "get method" and "post method"
$_GET will help get a certain information while $_POST will get information more securely which can hide any variables or information in the URL parameters.
I also learned how to include HTML files and include PHP files in a php tag which can allow a programmer to create HTML or PHP files and can be used to recall into a website. As an example:
<?php
include "header.html"
?>
<?php
include "somefile.php"
?>
Doing this can be helpful if a section of a website contains a high number of lines of code or it can be helpful to section out certain elements as a file to organize the program better.
Overall, the PHP programming language, although similar, was a bit more unique than the other languages when it comes to coding certain things.
Today I finished the Python part in the web development unit.
I learned more about library, modules, packages, and directories. All which are useful to recall preprogrammed functions, variables, and libraries which can be used.
In the Automation with Python, the video taught how to automated excel sheets by selecting the columns and rows followed by "for loops" to change and create a new file. This section of the video also taught how importing certain libraries can make code much more neat and save time.
Next up is the Machine Learning Project. I was introduced to library and software such as Numpy(used for multidimensional arrays), Panda(data analysis library), MatPlotLib(creating graphs), Scikit-learn(machine learning library, provides algorithmns), and Jupyter(to write code and inspect data due to its visualizations benefits), and Kaggle(site for data and projects).
These are the steps Machine Learning Project mentioned:
Step 1: Import the Data
Step 2: Clean the Data
Step 3: Split the Data into Training/Test Sets
Step 4: Create a Model
Step 5: Train the Model
Step 6: Make Predictions
Step 7: Evaluate and Improve
After that, I was taught how to use Django, a web framework usable with Python. I learned how to set up the development and use templates to create the website which also surprising was able to use HTML elements.
Finally I move on to the "Hello Processing Java Game" part which I learned how to program static drawing and animation using Java functions. I was taught basic programming understanding as taught before from other videos such as how lines of code run from top to bottom and conditional statements. What I did not know was when I was taught how animation is basically relooping itself and redrawing itself.
Today started with finishing up about database.
Starting off with Outer Joins, the process is similar to Inner Join. However, rather than finding rows that are connected to each other in some sort of way, Outer Joins return all of the rows form the tables whether or not they have an associated entity.
There are generally four kinds of joins: left join, right join, full join, and self join. Left join is joining "other table(s)" to the "left table." Right join is joining anything from the "other table(s)" to the "right table." Whether its a left or right join will yield a different generated table. Full join is a combination of left and right join. Self join is basically taking a table and joining itself by taking two attributes, associating themselves to each other and creating a new table.
That concludes the end of the technicality of databases, at least for that video.
Moving on to Python. Python is a high level programming language itself. It has many things that can be found in other programming languages such as: variables, strings, math operations, logical operations, if statements, while loops, for loops, nested loops, lists, return statements, classes, comments, and many more.
However, I will say the readability in Python seems more "readable" due to different ways of programming certain statements. For example the if statements used colon followed with an argument. Lots of programming language would really focus on creating a parameter when coding out a if statement. Same goes with for loops. For example, "for item in [1,2,3,4]" followed by more lines of code would be how a for loop is generally programmed in Python. In other programming languages, it will require more thoughts on the parameters such as for(i=1; i<100 ; i++). There is so many more different ways that Python does things.
I noticed a automation and a machine learning section in the video soon. Can't wait to check it out!
Alright almost done with the 8 hour Database Design video. Things got more technical and more interesting.
It started off learning and reviewing learned keys and new keys such as simple key, composite key, and compound key. Simple keys consist of one column. Composite consists two or more column. Compound is a key wit multiple columns and they are all keys themselves which makes good use of intermediary tables.
I also learned about foreign key constraints using MySQL keywords which helps to maintain referential integrity
Off next is an introduction to Entity Relationship Modeling. This section is basically about teaching methods to draw database structures with standard forms. Some may call it EER(Enhanced Entity Relationship) Model, ERD(Enhanced Relationship Diagram), or ER (Enhanced Relationship) Model.
Something to notes is any work of structuring data itself can be technically defined as a DDL(Data Definition Language).
We have to keep two things in mind when it comes to drawing database structures: Cardinality and Modality.
Cardinality is about relationships between row of one table to another row(s) of another table.
Modality is about whether or not a child is required and whether or not if a NULL value is accepted.
Different Ways to Represent Cardinality:
One to One (1:1) : |--------|
One to Many (1:N) : |---------<-
Different Ways to Represent Modality(*circle means it accepts NULL values):
ACCEPTS NULLs: []-|------O-|-[]
ACCEPTS NULLs: []-|------O-<-[]
DOES NOT ACCEPT NULLs: []-|------||-[]
DOES NOT ACCEPT NULLs: []-|------|-<-[]
After that I learned about Database Normalization which is a process itself to go through database plan and correcting things that may cause data integrity problems. One way to to manage this is go through a checklist of normal forms to build a well designed data base.
Priorities Requirements: 1NF > 2NF > 3NF. Should not skip, meaning a person designing a database should not move onto 3NF if 2NF and 1NF was not done nor should moving on to 2NF be attempted if 1NF is not done.
1NF(First Normal Form)
2NF(Second Normal Form)
3NF(Third Normal Form)
Because a database can end up large in size, the use of index can be helpful in searching and speeding up joins. There are generally three kinds of indexes:
Clustered Index: reorganizes data and can only have one clustered index.
Non-clustered index: data is not actually in the index and only points towards how to find the index. Multiple non-clustered index can occur.
Composite Index: index of two or more columns
Finally, I was given an introduction to Joins.
Note that when moving on to Joins, it is more about DML(Data Manipulation Language) rather than DDL since using Joins is more about representing data rather than structuring them.
Joins is about taking multiple tables and generating a new table to make it more readable and user friendly.
A type of join is Inner Join which is done by creating a newly generated table by taking connected rows from one table and another table. However, when dealing with 3 or more tables, it is recommended to group 2 tables up at a time, then find their connected rows to generate new tables. With those new tables, it generates a final inner join table.
Who knew designing data can be this technical?
Today I continued the 8 hour video from FreeCodeCamp about Database Design taught by Caleb Curry.
It continued with reviewing about database terms such as Data, databases, relation database, DBMS, and RDBMS. Caleb mentioned there are different categories of data integrity such as entity integrity, referential integrity domain integrity. Entity integrity is a unique integrity of the entity. Referential integrity is refencing some data to a user's unique id. Domain integrity is the range of what is stored in a database.
Now comes what the video was meant for which is designing a database. Today was more about relationships and keys. Before getting into relationships between data, a good general understanding of tables, nulls, and keys should be mentioned.
Tables in database has rows and columns. The row can be called the entity or record while the columns can be called the attributes. However in many databases, there are multiple tables and knowing how to utilize them is important. A very important concept to understand is the parent table and child table. The parent tables share attributes to child tables while child tables inherit attributes from parent tables.
A Null is an empty data where there is no data within a table's slot.
Keys are to keep certain data unique.
There are different kinds of keys:
Notice how making certain tables, rows, and columns "unique" plays a big role in relational databases. Now that certain keys and tables are explained, it is easier to understand how designing relationships can be done.
There are three kinds of relationships when designing a database:
As a general thing it is also best practice to have the least amount of Null in your database as Null is a waste of space in the database itself.
Today I learned more about relational database with Mosh Hamedani and FreeCodeCamp.
Unlike other open source databases, MySQL is used for relational database and other sorts. In MySQL there are keywords where naming convention is important. Keywords or words that has a function should be all capitalized while others are lowercase. With MySQL it can be used to move data around and querying them. It is also important to make the program readable by separating lines of code. Certain ways to would be to use the SELECT statement/clause, WHERE clause, AND/OR/NOT/AS operators, ORDER BY, JOIN, and many others. For example, a person using MySQL may want to combine attributes of certain entities by creating a new column or row. From there, ordering the data in a certain way can help a data viewer to see what users using a website or application is doing and then use that data explanation to apply for future uses. It is important to check how relational database are combine as certain attributes can cause misleading representation of data.
Design a RDBMS(Relational Database Management System) is important due to security. With the entities and attributes along with it are inserted into a database, it is crucial to keep data integrity in check. Using relational database allows a person to use it represent and explain what is going on within the data. A person using a RDBMS can use the relational database to see new insights, transactions, and see how a user uses a website or application.
This week started off by learning more about databases, programming languages, and open sources.
In the database unit, I went through SQL and NoSQL, such as MongoDB, which are interface languages to interact with relational databases. From learning how to put ids, labeling tables, and querying the tables from a desired order, I learned that not only inputting data and representing the tables involved is just as crucial. I also learned different commands to output different data and even manage how data is moved in a database.
JavaScript, is a very common programming language in web development or is used in many forms of software applications. It always begin by importing and exporting JS files. From there the language itself provides common things in various of other programming languages such as variables, primitive types, dynamic types, objects, arrays, and functions. One good way to see if the application is going as planned is to used console.log(). JavaScript comes with its own rules and has its own ways to write functions and other values.
Node.js is a open source back end environment which allows a programmers to grab or build modules. Certain modules comes with its own labels such as OS modules, path modules, file system modules, event modules, and http modules.
<html>
<head>
<title> HTML, CSS, and Process of Web Development - at Techie Youth </title>
</head>
<body>
<h1> Learning about HTML and CSS </h1>
<br>
<p>
In today's journey, I learned that many sites, especially when it comes to individual development, uses HTML and CSS. Unlike last week about learning WordPress, some web developers use HTML, CSS, and JavaScript which requires programming or coding. <br>
The reason to acquire for such skill is due to the idea of more ways to create a website. By no means is using WordPress, Wix, and other services not a way to create a website but these services limits what a person can put in their website due to the limit amount of plugins or customizations. <br>
HTML is a markup language which assists a programmer on structuring a web page and its content. HTML tags are used in way to indicate a specification on the web page. For instances, <html> would be a root element which is required for almost any HTML document, <head> would be an element to add metadata, <body> to display a certain content for user to see, and so much more. <br>
CSS is a style sheet language which allows a programmer or designer to design their webpage. This is important as design is more and more appreciated and known for more web traffic and better user experience. Understanding concepts such as layouts, how to use CSS properties are important to allow a web page to output a display accordingly. In modern days, creating a responsive website is more than ever a requirement as more and more people in this world as using their mobile devices as mean to explore the internet. A fun fact I learn is that around ~52% of web traffic is mobile. <br>
The process of Web Development requires understanding not what to learn but how to learn, where to learn, when to learn, who to learn it from. No matter what tutorial or assistance is used, its up to the programmers themselves to carry their programming skills ahead. Knowing how to sell your skills to potential employers also requires understanding within itself.
</p>
</body>
</html>
I started learning some hats there were in web development. To begin with web development expands greater than programming a website itself. It requires many other IT skills and technical skills. From project management to data management each hat requires more than knowing how to do front end development. With front end, backend, data, and system administration this suits into DevOps which is a role itself to make sure everything works efficiently when doing a project in a team.
WordPress is a business that offers services to anyone who would like to make a website. However, people who use their services does not really have to program. Everything is built in and the only thing require is for the user themselves to build the website to their liking. This means they are not responsible for making several files of PHP, HTML, CSS, JavaScript, and etc. Everything built in to WordPress is programmed in PHP and all the user has to do is click or type to their preferences to design their website.
Today I learned more about the management of structures of data and files.
During the website administration part, I learned there are several ways to host a website. Whether it is a shared hosting, reseller hosting, VPS hosting, dedicated hosting, cloud hosting, and many more, to each to their own preferences. I also learned the technical part of hosting a website including security. One of the thing that interested me the most is the SSL(Secure Socket Layer) procedure. It explains how SSL allows the browsers and web servers to communicate with each other with encryption. However, although SSL and HTTPS is a good indicator that a browser and a web server is maintaining encryption, it does not mean the website itself is safe. Basically the browser and webserver trade keys with each other while encrypting and decrypting information. Another interesting concept is DNS. Domain Name System uses a name of a website rather than a IP address to be enter in a web browser. The process of this may require many server directory such as a resolver, root servers, TLD servers, and authoritative name servers.
Version Control is mostly about tracking files and other data to allow users to go back to a previous file at an older date or update an old file. These files are stored in a repository and can be access with exception of administrative validation. There are different ways to do this such as using Git or SVN.
Databases such as SQL are for users to store their data and recall data.
After learning about algorithms yesterday, I learned about how AI implements algorithms. Whether its artificial intelligence, machine learning, or data science, these fields runs on data. Therefore if the data collected is at a high quantity and high quality, it will make these mentioned fields more efficient. The reason behind this is because these fields run based on statistics and probability. Whether is Bayesians network or other sorts of graph/charts, they all rely on big data. However, data collection is only the beginning. The next steps are to utilize these data and implement algorithms or functions in ways where a computer can process the information. In the case of artificial intelligence, the data will be used not only to explain a statistical matter but it will generate new paths for the program to reroute itself. There are so many algorithms and math based concepts but the main thing is to program them out. For example a Probabilistic Graphical Model(PGM) is used to combine probability distributions as a chart between variables. Maximizing or even normalization of a given statistic outcome is used to determine correctness or high percentage of efficiency. With all these implementations, a program that is specifically using concepts of big data, machine learning, deep learning, artificial intelligence allows itself to "learn." For instance, a "traditional" robot is used for operations after it has predefined all other variables. However, uncertainty is a obstacle itself so if the "traditional" robot runs into an unexpected event, it will not know how to reroute itself. Today's "modern" robots implements many sensors and programs in such ways where they can reroute themselves thanks to the applications of big data, machine learning, and AI.
In the web development unit, I learned that you can get jobs that "never existed." As an explanation, there are companies out there where their management team has not released a job position yet. Due to this, if an applicant were to apply, chances are they can get referred to the jobs that has not been posted. I learned that keeping your website mobile friendly is a good rule of thumb in today's world as ~52% of website traffic are mobile. I took in the idea that less clicking is better for a portfolio website at least and tips on how to design a website.
After a exploring some electives unit out of curiosity, it has come to my surprise there are many people out there that would pay for certain types of services and products. I found that the IT side, web development, and any algorithmic based units were more interesting for me. However, finding a specialization(s) is an issue for as I still have not chosen a side to deeply engrain myself to.
Therefore, I am planning to test and find out if I can do the Web Development, AI, and Analyst assignments from their respective units.
I started with the AI unit since algorithms are part of the learning and can also be applied to the other areas. Algorithms are built to find the fastest or most efficient paths. There are many ways to structure such algorithms and analyzing the problem is a great way to approach a problem.
AI was always a broad term to me. I learned there are generally six types of specializations in this field. Each of these specializations has contributed to the world such as commute estimation, self driving cars, image recognition, and speech recognition, finance, health, social networking, and much more. The programming part mimics a brain where an input, a function, and an output is similar to the neurons built into humans and other animals.
Today was full with understanding about myself and different ways to travel.
Emotions comes and goes as almost every humans experiences. The catch is what to do with these emotions. Many people in the world usually let their emotions lead their actions. This understanding can be a double edge sword or it can also be used to one's own way. When dealing with negative events whether it is someone trying to hold you down or a people themselves getting caught up in their uncertainty, I learned that understanding why someone does what they do and how to access the situation is way more important than holding on to a negative experience and not letting go. Doing this helps a person to continue to what matters to them more in the long run as time is spent more on important priorities.
Getting a mentorship is not getting a person to train you from the bottom. It is to already be prepared to what work is to be done and let the mentor(s) know that you can help out while also hearing out their experiences in the relative field. Knowing how to find a mentor itself is a process too. A person finding a mentor must show interest in the mentor and the mentor's work itself to develop a mentorship relation.
I learned a person can travel while working. Some people in this world does remote work, finding internet access as they travel to earn enough to keep traveling. While content creators such as Youtubers rely on their viewers to generate enough money by providing their audiences the content they appreciate.
This Thursday on July 7th, I learned how to be a baller, how to control time, and become a super human.
During the financial management section, I learned that spending on necessities and luxury goods or luxury services are different things. From here, learning that things depreciate is a good sign to buy a used product rather than buying it new. There are also ways to spend money such as investing them in businesses, stocks, currency, and real estate. I also learned the difference of liquidity. I also learn that investing your money early can benefit me.
Time management was the most interesting part. How a person allocates their time is huge. Certain aspect such as quality time spending and prioritizing certain task is important when knowing how to spend time. Getting rid of nonproductive actions will definitely save time. Using money to spend to save time such as buying a dishwasher will actually benefit me.
In the Health and productivity part, I learned that physical well being and mental well being plays a part in productivity. Keeping these health aspect in check can reduce the amount of obstacles or distractions that can disturb with your main goals.
Today I learned how to build a connection to scam people....Not really.
It started with learning about remote job environments. To begin with, being in a remote job differs than being in an office job. For one reason, the social interaction is not as present due to the reality that a remote job worker is not always in person. Therefore, to make the "sense of presence" to occur, the the remote job work holds many responsibilities such as: connecting through virtual meetings, following up with their managers, creating small talks before meetings, creating connections during breaks, offering to help coworkers, and many more.
However, getting the job or running a business comes with the laws of the jungle itself. The real world will always have "good" people, "bad" people, people in the middle, and people themselves who generally every sort of behaviors. This includes scammers! Certain indicators I have learned is that they go after people in desperations, exaggerates their "services", and make a "too good to be true as long as you sign up in the next 10 seconds."
The value of networking should be on everyone's list. People must network in order to create and be part of the circle they wish to be in. However, knowing how to do it is another thing to learn. Certain things I learned is to build a connection before I even decide to go ask about professional matters, knowing how to go up, why to go up and when to go up.
After a reckless night of constant bombarding fireworks, I woke up as my phone alarms 7:30. I signed up for the E-Earn program and started on the "Prerequisite Units." In the "Intro to Earning Money Online" unit, I learned more than remote working.
One of the topics I learned was financial literacy. Although getting a checking account was something I have educated myself in the past, I discover that starting one's own business or services require many more steps. Whether its getting a payment service provider, a true merchant account, or custom integrations, I learned the benefits and risk that comes with these different paths. Certain benefits would be how time efficient it would be to use Square, Paypal, Zelle, and serval other companies' services for business transaction between customers. I learned there are risk involved and other cautions to take before using these services such as making sure a business is listing exactly what king of products or services they are selling or else their account may freeze.
Another topic is job interviewing. Here I learned how to sell and negotiate with employers or employees. I learned its best not to give out the first number when negotiating a price or a salary. I learned several ways to sell my work, my experience, and my own conductance to make a great interview happen.
Other topics would be using social media and looking into my own public image as a way to connect with future employers or customers. These can also be used as a precaution to make sure I am not putting anything "too negative" because that may impact future opportunities.
These teachings have been very informative!