Log of what of Kevin Cao has learned at Techie Youth

Thu. Aug. 18, 2022

Selling your product.

Before selling your product, you have to factor in many things in order to determine if you will be profitable or not. For example, if the cost per item for something you are going to sell is $10 and competitors are selling it for $12-$13, it might look like you are on to something, but you aren't. You still have to factor in costs like shipping and advertising. Even if the end cost is around the same as your competitors, think about your margins and if it's really worth the risk for the amount of profit you will be obtaining.

One way to earn some money is starting an ebay business where you can flip items. You can go to stores like Goodwill and grab items for cheap. Then you can list them on ebay for double the price. Make sure you are earning enough to where ebay's transaction fees aren't eating up the majority of your profits. Also make sure that the items will sell and not just take up inventory space.

For any business, what you ultimately want are sales. However, the costs of selling these items could be more expensive than what is needed to produce them. For example, setting up a website costs money and advertising is expensive. If your website isn't generating enough sales, you would be losing money. McDonalds does this with their burgers. They spend so much on marketing and advertising so their $3 burgers are actually losing them money. However what they want is for you to buy their fries and a soda as well. This is where they earn their money.

This is a sales funnel and for websites, it's a click funnel. Click Funnel is very expensive so there are many better DIY options. You can just create a wordpress website with a nice theme and utilize specific strategies for the consumer to click on/buy your products.

Wed. Aug. 17, 2022

Creating Digital Art with Various Tools

An alternative to Adobe Illustrator for drawing vector images is Inkscape. It's free and it has wide support. I learned how to create line art/logos with it. First you can create some shapes, and then combine them together. There is a useful cut tools that lets you split every line/curve at intersection points. This is super useful for something like lines and circles. You can have multiple lines and then spread them equally using a feature that Inkscape has. Then, you can use the intersect tool to cut out the lines that extrude from the circle.

Selling art online is very simple to get into, and can be done even if you aren't a artsy type. There are many ways to sell art in general, and it doesn't necessary have to be yours. You can try to market other people's art and get a commission, or you can sell your own art. You should also consider open vs limited editions which just means that someone can print and sell an unlimited number of your art. Limited means that there are only a certain number of prints. However this also means that there is going to be a resell market.

Digital art doesn't have to stay digital and you can try to print it, either using a at-home printer or using a printing company. You should also frame your art and package it nicely to let the user feel that your art is very high end. Doing this will build your brand and other people will start to know you and come back for your products. Your brand should have a specific goal/story and it shouldn't include random pieces. What direction do you want your brand to go in? Collaborations are also very important, but make sure to not lose sight of what your style it.

In order to get your art out into the world, a website to exhibit it is very common. Selling it on ecommerce sites like Etsy is also very common. You can also work with galleries and use social media.

A great tool for editing photos and images is Adobe Photoshop. It is the most well know image editor, and for a great reason. It's features are abundant and there are so many tutorials for it. It might be daunting at first, but once you get used to it, Photoshop is a vital tool. However, I do prefer paint.net for it's simplicity and clean UI. It has most of the features I use.

Tue. Aug. 16, 2022

Laser Cutting and Adobe Illustrator

One way of creating objects is laser cutting. Just like the name suggests, it uses a high powered laser to cut through something. It's very versatile, but the downfall of this compared to something like 3D printing, is that the machine required for it is very expensive. The same applies for the material, but you are cutting out material, instead of building something with the bare minimum.

To get a good laser cutting result, it is best to use vector images. Also test out your printer first to see how accurate it can cut. Some objects and lines are too hard to cut out, or the material stability is very bad when it's very thin. To minimize the cost of printing/cutting, make sure that the design doesn't take too long to print and the material is used well. For example, use the same sheet of metal to print multiple of one design. Put the designs close to one another so there is very little material waste. The thickness of the material will determine how long it will take for the laser to cut through it. Each material also has different behaviors when it interacts with the laser. For something like wood, the edges might turn darker because it's getting burned. Make sure to choose the right material and don't use anything that can release toxic fumes or burn easily.

Adobe Illustrator is a very easy way to create vector images. A simply way is to draw something on paper, and then import that into AI and trace over it. Creating shapes is easy and in order to create something with perfect dimensions (i.e. circle) you can hold down the shift button. For something like a box, you can curve the corners. For lines, you can also make them curve.

Color is very important in Illustrator and there are many color formats. Some sample ones are RGB and CMYK. Even though most printers use CMYK, you might want to create the design in RGB and let the printer auto convert. You can also search up gradients that look nice and apply them.

Mon. Aug. 15, 2022

AutoCAD and Solidworks

Compared to Blender, AutoCAD and SolidWorks are pretty different. This is because Blender is mainly for creating 3D models that can be used in animations, games, etc. On the other hand AutoCAD and SolidWorks are more for engineering and mechanical purposes.

AutoCAD is mainly used for 2D drawings. It is great for drafting purposes and is is more theoretical oriented. It is also catered to architects and mechanical/electrical engineers. SolidWorks is parametric and it's mainly 3D modeling and catered to mechanical engineers to build parts that are meant to be machined. It has simulation features that are photo-realistic.

Both software are extremely expensive, but AutoCAD is cheaper. However, both offer some type of discount for students. For solid works, it still cost a few hundred rather than thousands yearly, while AutoCAD has a free version for students and teachers.

From what I've seen so far, AutoCAD looks pretty easy to use. Creating certain objects start with a schematic and choosing which side to work from. It's really fun to decipher which is the best way to tackle the problem. To create some objects, it might be better to start from the top view, or for another, it might be better to start from the front view. After creating a basic outline with lines, you can join it together to make one continuous line. Then, you can extrude it to give it depth. Then you can filet any edges and cut out extraneous pieces.

The workflow for SolidWorks for basic objects is very similar to AutoCAD. However, I find the menus and toolbars more complex and confusing. One thing I did like about SolidWorks over AutoCAD was how realistic the object looked.

Fri. Aug. 12, 2022

Guide to using Blender

If you want something that is more powerful than Tinkercad, you can use blender. It is a widely used app that is mainly for 3D animation, but also works for creating models. Although you do have to install this program unlike Tinkercad which is a webapp, it's a small install size.

To begin, the main setup screen allows you to choose what keybinds you want. There is new blender, old blender, and industry standard which is good if you are used to Autodesk Maya and equivalent's shortcuts.

The default project includes a camera and a box. To delete those objects, there are 3 main ways. You can use select the object, go under the object tab and then click delete. Another way is to right click on the object in scene collection and deleting it from there. The last way is to press 'x' which brings up a menu to let you delete it or you can also use the delete button.

The most basic thing is learning how to change your view. This seemingly easy task is actually very confusing as there are too many options. An easy way is to use the numpad to move your viewing angles around. You can also drag your mouse on the compass in the top right which will also allow you to change the angle. This also allows you to snap onto a specific axis. My favorite way however is by using the middle mouse button (scroll wheel). When you hold it down, you can drag your mouse and change the angle. All of this so far was only for the angles, but to move along one plane/axis, you can also use numpad shortcuts or shift+holding down scroll wheel.

Adding an object can be done in the top bar, or you can use Shift-A to add whatever object you want. Then you can move it using the 'g' key or by selecting the move icon. When moving the object, since the monitor is a 2d plane, it moves with that plane. This means that if you are not at a right angle, it will be moving in a slanted way. To solve this problem, when moving you can specify an axis to move ('x', 'y', 'z'). You can set it to ignore one axis by adding 'shift' before the axis.

One very basic yet important part of 3D modelling is combining basic shapes to create more complex ones. For example, to create a snowman, you would need man spheres to create the main body. After putting the spheres together, it would be very useful to combine it. This can be done using booleans and using the combine feature. Booleans can also be used as 'difference' which allows you to cut an object out. For example I might want a round cutout for a sphere in a box, so I can put a sphere there. To create the object, I would put the sphere on top of the box and then use a boolean to cut whatever space the sphere is taking up.

Thu. Aug. 11, 2022

My experience with Flutter and intro to Computer Designed Objects

Installing flutter was pretty easy, but getting it to work with Android Studio and it's sdk was a bit more difficult. One of the issues I ran into was how Android Studio was installing the android-sdk in one directory, while Flutter automatically installed it into another directory. This can be fixed by editing Flutter's config and setting the path to the correct directory. Another fix that can work is to just move the android-sdk into the default directory Flutter looks at.

The android emulator was pretty cool and it worked very smoothly. The only problem that I ran into was how there wasn't enough storage space for the phone. I was under the impression that it would automatically allocate more space as it was needed, but there is a setting in the device manager to allocate the phone storage.

Aside from those two minor hiccups, it went pretty smoothly. The hot-reload that refreshes your phone whenever a change is made is very useful. The IDE is also packed with code snippets and error checking.


There are so many things that you can model and create on the computer. With the invention of 3D printing, it's more accessible than ever.

However, to create a business out of it, you first have to determine what objects you want to sell. There has to be a market to it and there shouldn't be too many competitors. Then you have to determine the business plan. Will it stay a small business, or will it scale and expand to one where you are mass producing with factories. If so, tooling costs will have to be factored in. They can cost up to millions so make sure there is enough volume. Then, after the tooling costs, the material cost per unit has to be calculated. The net profit per unit also needs to be calculated. Make sure your margins are good enough so you there is a good profit/risk ratio.

To start off with creating computer designed objects, you can use Tinkercad which is owned by Autodesk. It's a very simple tool that can be used online, so there is no need for you to install anything. The basics include a grid that acts as the base. Then you can add simple shapes and change their size/location. You can lock onto one of the objects as a viewpoint. When using tools like Tinkercad, it is recommended to study the shortcuts because they will be very useful.

Wed. Aug. 10, 2022

Business Models and Implementing Google Analytics

Another cross platform development language that can be used is Google Flutter. Because it is backed by Google, it integrates nicely with its services and there is an abundance of documentation on it so it's a great choice.

For apps, there are three main business models. The first one is an app that is completely free. There is no fee to download and there is no fee to upgrade/get any additionally features. This revenue model is basically nonexistent for the tops apps because it generates virtually no revenue.

The next business model is freemium which is when the app is free to download but there are additionally features that you can purchase. Often, apps include ads for revenue, but there is usually an option to stop all of these ads with a purchase. It can also be a subscription like Spotify or Netflix. The app itself is free to use, but to actually watch Netflix or download songs, you need to pay a subscription fee.

Another well known aspect/implementation of this freemium business models is with games. Some of the most popular games like Clash of Clans, Pokemon Go has an in-app store which you can buy in-game currency. They purposely implement inconveniences like waiting a few days for a building to upgrade, or limit the amount of pokeballs you can hold so you will spend to buy convenience. Something else they do is the currency exchange is never exact. For example, spending 1 dollar does not equal 100 of whatever currency the game uses. It can be 80 or even 12. That makes it so it's hard to determine the actual value of the item and cause you to overspend just like when you are using foreign currency in another country. This disassociation of spending money is very effective.

For freemium apps, most users choose not to spend any money at all. However, the 1% that does spend money is who developers choose to target. For a game like Clash of Clans, if 1% of their hundreds of millions of players spend a bit of money, they can earn billions. People who spend a lot of these games/apps are called whales.

The last business model is premium apps. This is an app that requires you to purchase it before you can even use it. This means that there are less sales since the user has to contemplate whether they truly want it.

Google analytics is in almost every major app and there is a good reason for that. The value that it provides is so great. You can do so many things with it, like event tracking, display tracking, etc. For example, if you have a game, you can see how long they spend on each level and if they replay the game. Using this data, you can adjust the difficulty. You can also target new users to give them special offers to entice them to play. The same can be done for a returning user or a whale to get them interested in your app again. It's a really valuable tool.

Tue. Aug. 9, 2022

Native Android/iOS Development vs Cross Platform Development

There are so many android devices out in the world so creating an app that works on all devices is very difficult and hard to optimize. iOS devices are tailored by apple which only release around 2-3 phones a day. This means that iOS apps are more optimized, however, you still have to make sure that it works for every device. This is required for the guidelines for both App Store and Play Store.

For the Play Store, you will have to pay a one time fee of $25 in order to put your app up for review. Once someone reviews it within a week, the app will be up on the play store. For the App Store, there is a development fee of $100/yr for a personal account or a $300/yr fee for a team account. The app will take up to 3 days for someone to review it and its harder to get past this check relative to the google check. Some guidelines are to use their payment systems, and to not include any objective speech / hate speech.

After releasing an app, there needs to be updates to it. The question is how often and what you should update. Bi-annually might be too long a time frame without an update while a weekly update might be considered spam. The main reasons for updates are bug fixes and incorporating user feedback.

Creating apps for smart watches are also closely related to their respective parent platform. WearOS and watchOS both have similar design guidelines. It needs to be simple and intuitive. Since it's on a watch, there isn't much screen real estate so make sure that everything is absolutely needed. Get rid of the clutter and try to reduce options as much as possible. Notifications shouldn't cover the screen and touch shouldn't be the only way to control it. Voice should also be a priority. Remember that a watch is mean to be glanced at.

To code iOS apps, you would need Xcode (IDE) to code in SwiftUI. Just like Android Studio, it also has an emulator. Native coding is better optimized and easier to debug, but to release to both platforms simultaneously, cross platform development can be used. Some examples include Microsoft Xamarin, Appcelerator Titanium, Adobe PhoneGap, and React Native. Most of these apps require you to use JavaScript so if you're familiar with that language, it's a plus.

Mon. Aug. 8, 2022

Website Developer Portfolio & Intro to creating mobile apps.

Creating a website to showcase your portfolio is very important if you are trying to get a job in web development. This will allow you to showcase your previous work and let clients determine if they like your style and work. Aside from putting in your previous works, the portfolio website itself is also of importance since it's also one of your works.

Some important things to make sure of is to make it compatible for every device no matter if they are on pc, tablet, or a phone. Navigation should be clear and straight-forward. Animations do look very nice, but don't use too much or everything will just feel very slow.


Creating mobile apps is pretty similar to web development and you can earn an average of 100k in the US with an entry salary of 80k. Of course this varies depending on which state, and places outside the US usually have a lower salary.

There are three main routes for creating mobile applications. The first is IOS only. The next is Android only, and lastly is both using something like React Native to compile your source code into both OSes. IOS apps are more popular in the US, but globally, android apps have more of a presence. This means that IOS developers usually earn more than Android developers in the US. The reasons why Android is so compelling is that it's easier to get on the Play Store compared to the App Store because of their rules/guidelines. Most developers only choose one specific platform to specialize in because of how specialized the code is and it requires a lot of time and effort to code/debug in both.

To start creating android apps, the main tool you will need is Android Studio. This is a full-fledged IDE for android with has support for Java and Kotlin. When installing it, it is recommended to install an emulator regardless if you do have an android device to test it on.

Something very cool that you can do is you can view the app and move around elements. For example, you can move where a button is using the emulator/gui rather than hard coding the specific coordinates of it.

Fri. Aug. 5, 2022

Finishing up Java

To create a string in Java, you can do String msg = new String("") which is very complicated compared to other languages. However you can also set it to a string literal and do String msg = "". Strings are immutable in Java, so any method that is used to modify the string will return a new string but not actually edit the existing one. Just like Python, when you need to type certain characters you can use a backslash as an escape character.

Arrays are similar to lists in Python but to initialize them, you have to do type[] name = new type[length];. So when creating an array of ints of length 5, you will have to do int[] numbers = new int[5];. When creating arrays, each element of the array is filled with a default value. Multi-dimensional arrays are like matrixes in Python and can be initialized like [][].

Java has something called casting where you can type one type to another type. There is both implicit casting and explicit. For example, you can change an int into a float, long, double, etc. but you can't change it to a string.

To get input in Java, you have to import the Scanner module and create a new scanner. Then using that scanner, you can read user input. When using it in a loop, make sure to create the scanner outside of the loop so it doesn't take up too much memory.

A ternary operator is a ? and :. It first takes a conditino, and if its true it executes what's after the ? and if it's false, it executes what's after the :. It's just a fast way to write a simple if, else block.

Like every language, there is also a for/while loop for Java. The syntax is "for (int i = 0; i<5;i++)." It first sets a variable, then it check to see if the condition is true. It executes everything and then increments. You can also go backwards by doing int i =5; i>0; i--.

Thu. Aug. 4, 2022

Continuation on Python and intro to Java

Creating functions in Python is very simple and all you need to do if use "def name():". You can also have arguments in the function like def name(arg1, arg2). By default all functions return None so if you try to print the result of the functions, you won't get anything. You have to use a return statement to pass values.

Errors are very common when it comes to asking for user input. For example, you want an integer, but the user enters a string. Some functions that you used don't exist for integers don't exist for strings, so you can use try, except loops.

There are classes just like PHP but they work slightly different. For every function, the default parameter is self. The constructor also uses self unlike PHP which uses this. Inheritance works just like PHP and you can create sub classes.

For every file you create, that is a module. You can also import a lot of modules that come with Python by default. This is useful so it separates and organizes your code. Some very useful modules that come with Python by default are Math and Random. For modules that you want to download that someone else has created, you can use PIP to install them.

Some cool things you can do with Python is automating reading spreadsheets and paring the data, doing machine learning with python using Jupyter Notebooks and creating websites using Django that links with our previous work with HTML, CSS, and JS. Bootstrap is a CSS engine/template that lets you use their code to make something look nice. They have components like navbars, buttons, forms, etc.

Something useful I learned was that there is an option for copyright free images on google to make sure there are no copyright issues.

Java is actually pretty different than Python because of how it's run and the syntax. To run Java files, you have to first compile it using javac to turn the .java file into a .class file. Then using a Java Virtual Machine or a runtime, then the code can be run.

What I learned about Java so far is that there is boiler plate code and it takes a lot of lines to run a simple print() command compared to Python. However, if you have a good IDE like Intellij, it can autocomplete and give you a template.

When declaring a variable in Java, it has to be strongly typed and the class/type must be declared unlike Python which can automatically determine the type. I also learned that there are primitive types and reference types. Primitive types like ints, store the value/data in memory, while reference types include a pointer/address to the memory slot. This means that for reference types, if you set one variable to another, it doesn't copy it. Instead, when you change one attribute of a reference type, it affects the other variable as well. This is because both variables are pointing to the same memory address.

Wed. Aug. 3, 2022

Continuation on PHP and intro to Python

PHP also has the ability to do while and for loops like most other languages. While loops check for a condition and then runs the code until the condition turns false. There is also a do-while loop which is similar to a while loop, but it always runs it once before it checks for the condition. A while loop can terminate without executing anything. A for loop is a specific type of loop that usually iterates through things. It's faster and more streamlined compared to while loops.

You can also create your own classes in PHP with their own properties. You can give them variables and functions. For example, you can create a chef class that has the variables: name, age, experience with the functions: cook. Then using that class, you can create an instance of that (i.e. chef1). Chef1 is a cook who has the name of "John", age of 53, and experience of 25 years. He can cook. You can instantiate the different variables/properties after the creation of the object, but you can also instantiate the variables at the time of creating the object if you have a constructor in your class.

With classes, you can create sub-classes that inherit all the properties of the main class. For example, you can create a French Chef that has all the properties of a regular chef but also has the function/ability of cursing alongside cooking. You can also replace a function and override it. If cook() for a regular chef prints out "cooking an egg", if you code that same function for the French Chef, you can replace that string to "making pasta".

Python is a standalone language based on C. It's really simple and intuitive and unlike PHP, doesn't have much to do with HTML. To first install Python, just go on their website and download it. Make sure to add it to path so you can execute python commands from your terminal in any directory.

Setting variables are easy. You don't have to specify the type and it will just work. One of the most common object type is the string with many functions like .upper(), .lower() and you can also format text nicely using f strings. There is operator precedence in Python and you can also do some advanced math by importing the module.

Just like PHP, there are also conditionals and if statements. The syntax is pretty much the same, but instead of braces, you use semicolons. There are also inputs in Python, but it asks for it in the terminal instead of using a form. With these tools, you can create a simple car game using user input.

Python also has while and for loops and it's just like PHP. Nested for loops are also very useful and what is cool is that there is a break command to escape from these loops.

Lists are also like PHP with the indexing but it has a few more methods than PHP. You can search for the index of a character or string, replace something, or just clear it. However, Python also has tuples which are like special lists that you can't really modify and it barely has any functions. Tuples are often used for unpacking where you can set variables from a single tuple. For example x, y, z = (2, 3, 4). This will set x=2, y=3, z=4.

Tue. Aug. 2, 2022

JavaScript, Node.js, and PHP Basics

To run JavaScript, you don't need to download anything additional and you can start coding as long as you have a text editor. For both Node.js and PHP you will have to download them from the web in order to code/run them.

JavaScript and Node.js are very similar because Node uses JavaScript. JS is a programming language while Node is a runtime environment. JS can only be run in browsers, with each browsers having it's own implementation. It is client-side and it can edit the DOM. On the other hand, Node is mainly server side and it can be run outside of the browser. It however, can't read the DOM.

For every function of Node, there is a synchronous and asynchronous option. Synchronous means that for every task, it waits until completion before picking up a new task. Think a waiter waiting for the food from the kitchen for one order instead of using that time to serve another guest. Since Node is single-threaded, most of the time you should use the asynchronous option. Furthermore, Node also shouldn't be used for CPU-heavy tasks.

PHP is different in that it contains HTML in it's .php file instead of an .html file containing something like javascript. It's basically like writing a regular html file with the option to go into php mode with <?php?> which is essentially the same as <scripts>.

In all three of these, you can echo/print statements, create variables and execute functions, albeit with a different syntax.

For PHP, what I mainly learned today was how to interact with forms and url parameters. You can create a form, and then send that data back using a POST, GET request. If you use a GET request, the variables show up in the URL while it's hidden for POST requests. Then using that data the user inputted, you can do many cool things like a calculator or a mad libs game.

Mon. Aug. 1, 2022

Landing a job as a web designer and learning how to code

Landing a job as a web designer is very similar to trying to get a job as a video editor. Getting your first few clients will always be the hardest task and the best way to do this is to consult your friends and family first. See if they need a new website or an update to an existing website. Obviously you won't be charging them much, if at all. To get your first few clients, you have to know that you won't be earning much money. Even if your services are "free", is the business using their resources to send your pictures? Are they spending time to communicate with you? Although this might be good for a job in the future, small local businesses might not have time for that. You have to build a repertoire of clients and build your portfolio and hope that you will get referrals.

As a web designer, you know the technicalities in what goes on for a website, however your client doesn't care about that. You might say "I can help optimize SEO" or "I'm good at JS, PHP", but the client has no idea what that means. What they want is not a website, but rather a tool that helps drives their business. Your ultimate goal is to help them get more sales.

"What got you here, will not get you there." At every stage of your career, there will be a different strategy to maximize your profits and growth. Blindly following the advice from someone successful is useless, because you are not successful yet. Every situation is different.

WYSIWYG is an acronym for what you see is what you get. These are a specific type of web builder/editor that allows you to make easy changes without going into the HTML. For example, wordpress has a editor where you can publish new posts. Using something like wordpress could be very useful so that your client can still continue to do simple edits to their website after the job is done.

Google analytics is a tool that you can embed on your website to track many statistics and help improve your website. It can tell your bounce rate, view rate, ROI, and many other useful stats.

HTML, JS, and CSS are the front end of the website, but the backend can be many different languages. It can be Python, C, C++, JAVA, RUBY, PHP, NodeJS. You will probably be required to learn a few of these languages.

Fri. Jul. 29, 2022

Different types of databases and how to use them

Most databases are categorized into two types: Relational (SQL) and Non-Relational (NoSQL). A relational database usually is a table that has rows that record an instance of a entity and columns that are attributes. So of the most common ones are Oracle, MySQL, and SQLite. Non-relational Databases is a database that basically stores it any other way than tables or relational databases. They can be column based, key-value pairs, graph, or documents. The most popular one is MongoDB.

Some basics of MongoDB is that is stores data as JSON so it's really easy to parse and read. All of the fields can also vary and it doesn't follow a specific schema like SQL does. This allows flexibility for different data-types from multiple sources. The equivalent of a table in MongoDB is a collection which is a group of documents. MongoDB is highly scalable and it's very fast.

MySQL is a traditional database with tables and since its SQL, most commands across different SQL databases are the same. The most basic thing is querying data and the "SELECT" command. "SELECT * FROM table" just shows you the entire table. Then you can sort it by doing ORDER BY or giving it filters like WHERE (conditional). Basic operators apply like AND, OR, IN, NOT IN, etc. One very important aspect of SQL is how each table can link to another. This is done by using "JOIN". For example you can have a table of just user/customer data. Then you can have another table of all the posts they made. Both of these tables will have a user id entry. You can join the two tables together based on that one common user id. Aside from querying data, you can add data by doing "INSERT" and changing data by doing "UPDATE".

Thu. Jul. 28, 2022

Website Administration and Version Control

In order to create a website, you first have to decide on a domain name. That is the name that people will access your website by. For example, google.com, yahoo.com, etc. Domain names link to an ip address (i.e. that computers can understand. DNS is how a domain name is translated into an ip address. It's kind of like a phone book where you look up the number to someone's name.

To purchase your domain name, you can go on a website like hostgator or godaddy and check to see if it's available. They usually package a domain name with a hosting service. This is the backbone of your website and it's the processing power. The most common type is shared hosting where you share resources on one server with many other websites. This is very cheap but it also means that performance could be very slow depending on the websites that are also utilizing the same server. The next type is cloud hosting where you use the resources of multiple servers, not always in the same location. More servers = faster. Finally there is dedicated hosting where a barebones machine is reserved entirely for you.

Once you have your server and domain set up, you have to upload files to it to display your website. You can usually do this through a cPanel that hosting sites offer, or you can use a FTP client. This just allows you to connect to the server and change files.

When multiple people are working on one project, there will be many changes and if you have to wait for another person to be finished until you start working, efficiency will be very low. This is where version control comes in. There is SVN which is a version control system that is centralized (needs to be on the same network) and git which is a version control system that is decentralized (doesn't need to be on the same network).

It's very simple to use and they are very similar. First you have a project or repository. Then you can download that repository and make local changes. Once you change something, you commit it (and push if you're using git). Then as long as another user pulls for the update they will see your changes. Every version is stored and you can easily revert to another version. You can also create branches that don't affect the main branch and merge the code together at the end.

Wed. Jul. 27, 2022

The basics of becoming a web designer or developer

A web designer or developer is paid a lot, but it requires a lot of effort to become one. It takes a few hundred hours of learning to be proficient at it. The good news is that nowadays all the tools to become one are available online and many are for free. Although there are paid courses that might be more comprehensive, free courses are a good starting point. You don't need any college degree to develop websites however having a relevant degree might help.

To start off, no matter if you want to do design, which is mainly visual, or the actual coding part of it, you have to learn how to code. As a designer if you know how the code works, it'll be easier when you collaborate with the developer. CS50 from Harvard is a really great starting course which teaches basics on computer science.

As a front-end developer, they mainly work with HTML and CSS. HTML are the building blocks of a website while CSS styles it, making it look nicer. VS Code from Microsoft is a great tool to create websites and one really great extension is "Live Server" which automatically refreshes the website upon a change you make to the file.

To create your first website, create a file named "index.html". This is the standard convention for the first page or home page that will be loaded up. HTML uses tags as code (i.e. <h1>Hello World!</h1>). Each tag has a opening and closing component with whatever you want to display in between the tags. Some really important/basic tags include the paragraph tag (p), header tag (h1-h6), list tags (ul, ol, li), and your divs (div) which just sections your html code. To create other pages, you will create other .html files and link them in your main page. You will usually link your external CSS file in everyone of your html pages.

After creating your basic html website, you want to make sure that it looks nice on every device/resolution. Now most of the web is on mobile so make sure that your page changes dynamically based on what device they are using. The best way to do this is to just resize your webpage until something breaks, then make a corresponding change using media queries.

Tue. Jul. 26, 2022

How to land a job as a video editor

The most important thing when applying for jobs isn't your resume but how you ask them. The email or initial contact is usually way more important than how much better at editing you are than another applicant. Show your eagerness to get the job, but also don't be desperate. You can try to ask for a meeting, and if you are given on, you basically have the job.

Connections are very important in this space. People are more willing to bet on someone they know personally like their friends. Try to garner a connection with your clients and don't see the job as a done deal. If the client is very satisfied, they are likely to recommended you to their friends and you will have another job.

It's very hard to get hired with no experience so you should really build your portfolio using a website like wix or squarespace. Try to create a personal project or just ask so businesses and offer them to give them a free video that you can use for your portfolio. People love free things and it will give you experience. You can also go to upwork.com or some other freelancing website to try and find jobs. Apply to as many jobs as you can.

Once you are a bit more established, you have to create a price for yourself. How much is your base cost? It's usually separated into a half-day, full day, and hourly rate. Then you have to decide how much you are going to charge for your equipment. Are they going to provide the storage disks? If not, then will you charge them for that? All of this is part of the kit price.

Mon. Jul. 25, 2022

How to choose the right editing software and tips for creating projects

There are dozens of editing software out there, some that cost money and others that are free. The big three that are trending are Final Cut Pro X (FCPX), DaVinci Resolve, and Adobe Premiere. Out of those three, all of them cost money aside but DaVinci Resolve has a free version which is still very feature rich and still comparable to the others two.

FCPX is mac only, but it's tied to your Apple ID so you can theoretically use it on any number of devices you want. Both DaVinci Resovle and Adobe Premiere Pro allow for two computers. If you're just getting started DaVinci Resolve is probably the best option because there is a free version. The paid version is $300 for a lifetime but it's also bundled for free when you buy a black magic camera. FCPX is also $300 but it's for 6 years. By comparison, Adobe Premiere Pro is the most expensive with no option to buy a lifetime license. It's $240 annually or $53/month for the entire adobe suite.

Each one of these editing software has its own strengths. For FCPX, since it's mac only it's well optimized since Apple creates the software and hardware. FCPX is really quick and will render faster than the other two. However, it rarely gets any significant updates and features will take a long time to implement. DaVinci Resolve is known for its color grading and even Hollywood editors use it often. Furthermore, it's available for MacOS, Windows, and even Linux. Adobe Premiere Pro is the most commonly used one and it's an all-rounder.

I initially thought that video editing was relatively cheap for expenses, but I forgot to factor in the stock footage that needs to be licensed and special effects/animations that need to be bought. There are also plugins that are very helpful that also need to be bought. You can just go on Envato and grab a few templates, then head on over to Fiver to pay someone to customize it for you.

The main tip that is universal to all video editors is to organize your projects. That way it will be easier to edit and find your media. Furthermore, there won't be anymore errors for missing media. Oftentimes when you add media onto a timeline or something of the sort, it creates a link between the original file and the editing software. Once you move the original file or change the name, everything is broken. For this reason you should have a folder for each one of your projects with the subfolders: project files, video, media, sound, music, pictures, and final videos.

Something that is also relatively common across different editing software is that when you first drag a media source onto your timeline, your entire timeline is set off of that first clip. So the resolution, frame rate, etc. usually matches your first clip. For this reason you should first put a clip that has settings that the majority of your clips has onto the timeline.

Fri. Jul. 22, 2022

Becoming a free lance video editor

Being a free lance video editor means a lot of freedom, but income also isn't guaranteed. Some websites to get hired include fiverr, freelancer.com, upwork, etc. You can get paid anywhere from 14-80/hr or even hundreds for projects. However to get started, you first need the tools and knowledge to edit videos.

Some things that are required include a computer that is relatively fast, video editing software, and storage devices. Learning how to edit videos has a huge learning curve and it's mostly intuitive. Your goal is to piece clips together in a way to tell a cohesive story and the only way to get better at this is to practice and to watch other films/shows to get a feel for how others edit.

Before even starting to edit, watch the unedited footage at regular speed. Then watch it again. You have to see what you have to work with and then you can start writing down a script or plot.

The most common edit is a cut, where you just switch from one scene to another. A jump cut is when there is no transitions and it's abrupt. L-cuts and J-cuts are also very common and should be utilized because of how natural they feel. These types of cuts got their name because that is the shape if you look at the timeline for the video. L-cuts have audio that starts in one scene and continues onto the next (camera on character A and they are talking -> cuts to character B & character A is still talking). J-cuts are the opposite of that where character B is talking even when they are off screen.Audio is so important and it is said that its 70% of the video and that's why L-cuts and J-cuts are so effective.

There are also cuts on action and match cuts. All of these provide a pretty seamless transition, but it's hard to determine which one is right to use.

Next comes color grading. You can turn an okay clip into an amazing shot by changing the colors. However, if the source video is garbage, it won't be as effective. First decide what type of vibe or mood you are trying to go after. For example, if you are trying to go for a more vintage or aged vibe, you should turn down the saturation. If you are trying to emphasize some colors go for that. One tip is that cyan is a better undertone than most for skin tones.

Thu. Jul. 21, 2022

How to trade stocks and cryptocurrency

To first trade stocks, you have to understand what they are. They are a share in the company and the two most common types of stocks are common stocks and preferred stocks. Common stocks give you a share in the company and usually a vote. It also distributes dividends as it sees fit, but preferred stocks has priority. They usually have a set schedule of distributing dividends, as well as distributing assets if the company goes down. However, this means that a preferred stock doesn't have a vote and it doesn't grow as quickly as common stocks.

Warren buffet's advice for investing is to understand the economics behind what you're investing. For example, he doesn't need you to understand the technology behind a computer processor, but you should be able to know the demand of the product, manufacturing, projection etc. If you don't know the economics behind a product/company it will be hard to project and earn money.

The alternative to individual stocks are mutual bonds and etfs which is just a stock that tracks the overall market or a specific sector. On average, something like VTI grows 10% annually and if you invest in that early, after compounding it for 30 years, your investment grows by 10+ times.

To buy/sell a stock, you can use a app like Robinhood, Webull, or even your own banking app. The default option is market value where you buy/sell at the current market price. The next most common option is a limit, where you set a limit to buy/sell and also stops.


Cryptocurrency is a digital currency that uses blockchain technology. It is decentralized, but it is also highly volatile. You can invest in it like stocks, but unlike stocks, you can also purchase things with it. You can earn crypto by buying it, or mining it. Every transaction needs to be recorded and that's where miners come into play. They try to find a hash for a reward that also completes multiple transactions.

Wed. Jul. 20, 2022

How to get funding!

The most common way to get funds initially when first starting out a business is "bootstrapping" which is when you get funds by using whatever assets/money that you already have. Then you can look towards your friends and families.

For a company that may need a lot more funds, you can looks towards angels investors and adventure capitalists who can provide you with anywhere from hundreds of thousands of dollars to millions. However they are obviously looking for a large return on investment so they well also take some shares in your company, which is the main way you will gain funds.

Angel investors are on a smaller scale than adventure capitalists, and aside from funds, they will provide you a network of people to grow your business. They tend to specialize in one field and invest in many companies under that one field so they have to ability to mentor you. They are mainly for startups.

Venture capitalists is for when your company starts growing big and needs a larger injection of funds and they usually ask for more equity than angel investors.

Aside from asking for angel investors or venture capitalists, you can just straight up let your company go public and shell your shares, but that is also for bigger companies. Every time new shares are issued, there might be a split in stocks, allowing you to have more stocks than you originally had (even though it will be less equity).

Finally, when your company is big enough, you rely on the exit strategy and that is the moment all your investors and you have been looking to. You can sell all your stocks and gain money, or get acquired by a bigger company who will either pay you or give your their company stock in exchange.

Tue. Jul. 19, 2022

Setting up a business & creating a brand for yourself.

Once you have decided to start a business, you have to decide whether to create a corporation or a sole proprietorship. Creating a corporation means you will have to pay corporate taxes, but you also gain the benefit of limited liability. Unlike sole proprietorships where your personal assets are liable, only the corporation's assets are at stake.

After choosing the type of business entity, you need a name for the company. Make sure that this is a unique name and doesn't infringe on any other brands or else there might be copyright infringement.

To attract people to your company, a slogan and a logo are a must. If you look at top companies, all of their slogans and logos are very identifiable. For example, Nike probably has one of the most well know slogans and logos ("Just Do It" and a swoosh as their logo).

To create a good slogan, it has to be short but also represents your brand well. It needs to set your company aside from the others and it also has to fit your target market.

Creating a logo is also very complicated and there are so many different ways it can be created. There are so many styles of art to choose from and it can also be text, images, etc. There is so much work that needs to be done to choose the perfect logo that is both attractive and fits your company.

Creating a website is also crucial in the process for your branding and this can be done with a free tool like WIX.

Mon. Jul. 18, 2022

Quality of Life, Mentors & Profit Models

One quick and effective way to improve your quality of life is to just exercise. Exercising makes you both physically and mentally fitter. When working out, your heart starts to work harder and effects are visibly seen 6 months after starting out. You will feel an overall improvement to your quality of life and you will be happier from your better physique and the chemicals released from working out.


Mentors are a really effective for personal growth and their guidance can be extremely helpful. Many successful people had a mentor which allowed them to get to the place they are now.

To successfully find a mentor, you first have to get a mentor that is aligned with your goals and or profession. If they have no expertise in your field, they can't really help you. Looking around your circle can allow you to find people who you've never thought of.

Once you have a target, you have to pitch why they should become your mentor. You have to explain why you are a great fit and remember that in the end, they are the ones taking time out of their day to help you. You need to respect that and if you are successful in finding a mentor, make sure to commit to the relationship and keep in contact. Be prepared to every meet you attend and make wise use of the time.

If finding a mentor is proving hard, it's also okay. As you gain more experience and connections in your field, a mentor might just appear.


Profit models are a company's plan to make a business profitable. This can be in the form of a production model, rental/leasing model, advertising model, or a commission model. The components of a profit model include the actual production and operating component, sales and marketing, and finally the delivery of goods/services.

Fri. Jul. 15, 2022

How to manage your time!

Time management is such a crucial skill and you always want to be spending your time effectively. There are so many ways you can waste your time and some examples include being overly involved in arguments that have no real impact on your life, watching TV all the time, and spending too much time playing games.

Something that is usually overlooked when it comes to this topic is time spent trying to save some money. Now, the end goal is to make money and live happily, but sometimes it's done to the extreme. For instance, if someone spends hours just trying to find the best deal to save a few bucks, was that really worth it? If you think about the time you wasted that could've been spent working, how much money did you potentially lose. Obviously, it's like like you are going to work every single second of your life, but still think about if it was worth your time.

Another example is when it comes to housing, laundry, washing dishes. You could pay less and save money for an apartment that doesn't offer anything, or you could spend an extra ten thousand per year to get a laundry facility, dishwashers, etc. and not spend the countless hours you would've spent on these chores. Time is saved which is invaluable and your quality of life would also go up.

You always want to be growing as a person so when time is spent on activities that don't bring you any benefit, it's detrimental to your own development.

Some ways to manage your time effectively include knowing and identifying how you spend your time. You may realize that you aren't actually spending your time as effectively as you should be. Then you should set priorities and schedule out your days. Stop procrastinating and avoid multitasking.

Procrastinating is an interesting one because when you are allocated more time to do something, you will probably spend all that time to finish that task. If you are given one week to mow a lawn, you will probably take the entire week to do it, since you know you can do it in one day. There is no incentive for you to do it immediately so you just put it off.

Multi-tasking is bad, because your brain is actively switching between things and not focused on one thing. It might be fine for simpler tasks, but for more complicated ones, it's bad. It's also been shown that multi-tasking decreases your IQ so you won't be able to do the tasks effectively.

Thu. Jul. 14, 2022

Working Remote & Identifing Scams

When you first get accepted at a job, remote or not, there is usually a background check, large amount of paperwork and forms to fill out. Finally, the company tries to introduce and welcome you to your new job.

This is especially important remote because you won't really be seeing your coworkers IRL. There is a lack of social interactions so many companies have a buddy system or a mentor-pupil program. This increases the amount of social interaction you get and you get guidance.

Meetings are a common occurrence and there is a proper etiquette to it. Everyone should decide beforehand if the cameras are on (recommended to be on) and the microphone procedure. No one wants to hear your background noise so make sure to mute when you're not talking. To make yourself more presentable in these meetings, make sure your background isn't too cluttered, have an ample amount of light and finally center your face so you aren't staring up or down at the camera.

Communication is also very important when working online so you know what everyone on your team is up to, and to be more productive overall. This can be done in many ways like a company wide slack, and then smaller chats for teams. There should be a light mood to up company morale and there should be fun activities/thought provoking questions that are also casual. Tone is hard to convey through text so emoji's and clear satirical phrases should be used. If communication through text isn't good enough, it is encouraged to move onto a video chat or even meet IRL.


There are many people who want to take advantage of you and take away money. Some of the telltale signs of someone trying to scam you is the offer or deal being "too good to be true", asking for expenses upfront, they want private information, or the payment method is shady and borderline illegal.

If something is too good to be true, it probably is. But if you still want to go after it, make sure to do some research like looking up the company with the search phrase "scam". If anything pops up, be wary. If they ask for expenses up front they could be trying to take the money and not do a thing. Make sure you read the fine print of a contract and see if anything is suspicious.

Wed. Jul. 13, 2022

How to get employed

To get employed, the first step is to apply to many companies and send your resume alongside a cover letter. Most companies also look at your LinkedIn profile to see if you are qualified.

To create a good LinkedIn profile, you first need a good image. The things most recruiters see or look at is the image so it should be professionally done. This should be you wearing professional clothes and a close up shot with you smiling. You can ask others for their opinions on your image. Then comes a summary of yourself and your experience.

A resume is similar to a LinkedIn profile, but it's on paper and more professional. There usually aren't any images and it also lists your experience and your contributions for each job. You want things that relate to the job you are applying to on the front/top so the recruiter can see it first.

A cover letter is a preamble to the resume and it's what it sounds like. It's a letter to the recruiter/interviewer and it shouldn't be too long. You can try to be creative with it and state why you would be a good fit.

The next step is if you actually do get the interview. Make sure to be nice to everyone, show up with a smile, and dress appropriately. Prepare a lot (research the company, the interviewer, prepare questions to ask). When it comes to negotiating salaries, don't try to bring it up too much. The later you bring it up the more leverage you have. However, be confident.

Tue. Jul. 12, 2022

How to earn money online & First things to do when starting a business

Recently, there has been a shift towards working online and away from the traditional way of being in cubical for hours in a brick and mortar store. This brings immense amounts of benefits, but this life-style isn't fit for everyone.

Starting with some of the benefits, it cuts down on commute time. Everyday, countless people are traveling one to three hours a day just to get to and away from work. Over the span of one week, anywhere from 5-15 hrs can be saved. That's an entire day! Furthermore, the freedom it brings is unmatched. You can work from virtually anywhere as long as there is a solid internet connection. Finally, the lack of distractions from coworkers catching up on a movie they watched, pet they got, etc. is no more.

However, if you are someone with terrible self-discipline, then remote might not be for you. Productivity over the board has be shown to be going up once working remote started, but if you can't focus, you can't do your job. Humans are also known to be social so that might be a bit lacking once you go remote.


When starting a business, you shouldn't be afraid of sharing your ideas. You want multiple opinions on if the idea is viable. If you fear the idea could be stolen, then the idea wasn't great in the first place. Creating a plan is also of the upmost importance. Getting a MVP out should be the number one priority. Don't be overly ambitious and try to get everything right in one go, as that would ultimately lead to failure.

Finally, cut your losses. The more time you waste on one idea, the less time that could've been used for another. Entrepreneurs on average go through 3-4 ideas per year.

Mon. Jul. 11, 2022

Fundementals of being an Entrepreneur & Leadership Qualities

Most people have a tendency to listen and copy what others say/do rather than think for themselves which is fine, but there are some situations where they need to be the one that needs to act (i.e. calling the police). People also have a tendency to say yes/avoid saying no. Realizing these two things can help you become a leader. You have to be aggressive/assertive (not overly so) and confident. You have to know how to communicate with others.


Being an entrepreneur is is no easy task, and there are many fundamentals and qualities one needs.

To start off, you need an idea. This idea will then lead into innovation depending on the execution, which is the more important part of the two. It isn't necessary to have a ground-breaking idea or to have ambition to change the world. That is a myth.

Once you have an idea, you also need to be able to obtain funding and support for it. In order to do this well, having good communication skills is a must. You have to find a way to market your product in a competitive space.

Having paying customers is the ultimate goal of starting a business as that's how money would be made. Listening to customer feedback is of upmost importance and one should look to continuously improve their business and themselves.

There is no such thing as not knowing how to do something, because there is always an opportunity to learn how to. A strive to better yourself is very important. Being lazy is the number one obstacle to being unable to obtain whatever you want.

Most entrepreneurs are not born with the ability to do any of the things that are required of them, rather they are obtained through experience. One valuable trait to have is the ability to work with others. Entrepreneurs have a myth where they are individuals and don't need help, but reality is that the opposite is true.

Finally, if the business fails, that is okay. Having a strong will is required as 90% of business fail within the first 10 years. Experience is very valuable and it will help on future ventures.