perjantai 5. kesäkuuta 2020

The future tech trend is going to be video

Video platforms will be winners

The top tech trend of 2020-2030 is going to be video. Currently the most popular apps are based on Video. I believe that companies which already have infrastructure and skills in video technology  will succeed in the future.

YouTube will shatter

Currently YouTube is the undisputed king of all online video platforms, but i believe that might change. YouTube only supports a single type of video content (+10 Minute, Family friendly, non controversial, advertiser friendly content) Video can be used for so much more than this. In the future i believe that there will be more specialized services which will siphon users away from YouTube. A great example is Tiktok, it's currently the best place to share short form video content. I believe that similar specialized video services will taking users away from YouTube.

MindGeek might challenge YouTube

MindGeek is a massive tech company with focus on video sharing services. Currently they focus on XXX videos but they certainly have the infrastructure to create a family friendly video platform. According to some rumors they are already building a challenger for YouTube. Consumers would definitely benefit if YouTube got some serious competition. 


Copyright laws might change video

I remember when big data and tech company data collection became a big topic of discussion. EU politicians scrambled and started making laws regulating data collection. This affected Facebook and Google tremendously, because they had to start complying with the new data collection laws. Something similar might happen with the copyright laws. New copyright laws might change every video platform. Here is a good video on the current copyright laws. YouTube has a very shaky copyright policy because the actual copyright laws are outdated. Once we experience an overhaul of copyright laws it might either hurt or help video sharing platforms.

Here is a great video discussing the potential of video apps. I will continue developing new apps based on video sharing and hopefully one of them will become successful.

maanantai 11. toukokuuta 2020

Software architecture principles

Architectural design principles

If you want to get into software architecture there are so many concepts that it will make your head spin. It's all about having certain core philosophies while designing the architecture. After some time breaking things down in my mind, creating analogies and writing things down i understand it. Hopefully this article will help you to understand it as well.

Multitude of stakeholders


Software projects have multiple stakeholders. Business managers, owners, users, operators, etc. Anyone who can potentially profit from a successful project is included in this group. You need to figure out a solution which makes everyone happy. If you are building a housing complex you need to keep the building company and house owners happy. You also need to keep the government happy by following building regulations. Everyone has to come to an agreement. This doesn't always include the developers. If a developer is hired to perform develop a certain part and receives no additional rewards if the software performs well, then he is not considered a stakeholder.

Separation of concerns

The way humans make sense of the world is by breaking it down into understandable chunks. Whenever i see a wall of text i immediately lose the interest to read it. Text needs to be separated into smaller focused chapters which makes it easy to read. In software architecture this can be perceived with micro services. Complexity is reduced by breaking monolithic web services into smaller parts. When i first started drawing i thought pieces like the Sistine chapel is impossible to create. Then i learned about mannequinization, construction lines, figure and composition. You learn a couple of fundamentals and start understanding how a piece like that is possible to create.

Quality driven

In software development this includes all of the relevant -ilities (security, availability, usability, maintainability, etc.) Whenever you are thinking if you should use java or python or how to prevent security issues you are thinking with this principle. When building a house you want all the materials to be high quality. This same principle should be used for software development.

Recurring styles


If you are building a hotel you will want to use similar elements for the entire building. Every room should have similar bathrooms, kitchens and beds. This makes it easy to order furniture and build the rooms because everything is similar. In software development you want to use the same or similar frameworks and languages for a single project. Using recurring styles allows other people to more easily understand the project. Kinda like if you know one programming language you will easily learn another one.

Conceptual integrity

You need a clear vision of what kind of problem you want to solve and how you will do it. You can call this 'the big picture', if you start developing a project without a clear vision you might end up developing unnecessary functionalities.

Cognitive constraints

Melvin Conway once made an observation that became known as Conway's law. When a group of people create system they will only create a design based on their own experiences. Let's say a group of people are designing a web page. They will not add functionality for disabled people unless one of the team members has built or heard about that feature before. This is why team diversity is important when building projects. This doesn't mean you should build a team where every race (asian, black, white, etc.) are represented. You need to look at the experience and knowledge, not the color of their skin.

These are universal principles

If you understand these universal principles it will help you with other aspects as well. Architects, builders and software engineers use the same principles. If you are ever building something you will find these helpful. I believe that using these universal principles you can predict which software development trends will become popular in the future. Here is the wikipedia article i used as a reference.

keskiviikko 6. toukokuuta 2020

My favorite artist of all time


The great Kim Jung Gi

As someone who enjoys drawing and is fascinated by how far some people can push their skills.  Kim Jung GI is one of the best currently living artists. (in my opinion)

Kim Jung Gi - How to Become a Master - YouTube

Early life

His beginnings are very humble, his parents didn't want him to become an artist and begged him to choose a safer career path. His art teacher immediately noticed his immense talents and even sent a letter to Kim's parents urging them to support their child's art career. His parents refused but Kim wanted to prove his parents wrong, this pushed him to studying art even harder.  


I like his style

Kim has a very chaotic art style which i relate to. I have always thought that drawing should be a way for the brain to dump all kinds of visions and information on the paper. He represents that to me. Despite his chaotic style it has very clear and clean lines. It's amazing how he draws with barely any construction lines. Every single line has a specific purpose and even without color you can clearly understand the picture

JungGi Kim LIVE on Twitter: "Haunted kitchen By Kim Jung Gi ... How he practices

I have seen a few interviews where he has explained how he became so good and i think it can be boiled down to one thing : practice. He has been drawing from a young age. If traditional drawing became boring he started painting, once he got bored of that he moved on to digital art. Learning different methods and styles is the key to his abilities.
Wallpaper white, black, art, Kim Jung Gi images for desktop ... We can all draw inspiration from him

No matter if you are a developer, artist or musican we can all enjoy someone who has dedicaded himself to a craft.

tiistai 7. huhtikuuta 2020

Why i don't believe in schools

Education is changing

I am glad that many companies are starting to devalue traditional education and look at actual work projects when hiring. A piece of paper doesn't mean anything for some fields of work. Schools also don't implant the important value mentality into their students. I think attitudes towards traditional school education are changing because of online courses and self learning.

The benefits of education

There absolutely are good sides to schooling. There exist professions where an diploma is necessary. You wouldn't want a self taught surgeon to perform open heart surgery. If you aren't sure what you want to do in your life, a school education is a great choice. It gives you a small glimpse into a large variety of different subjects. You can then choose to specialize in a few of those subjects. Friends and family will also respect you for attending school, i wish the same respect and support was given to people who try to become successful without a higher level education.

The negatives of education

A school will give you a introduction for lots of subjects but it will not make you a specialist. It's better to level up one of your skills to mastery before trying to learn something else. You can actually produce value for yourself or someone else with skill mastery, but a jack of all trades will find it hard to utilize all of their skills when looking for employment. But the biggest weakness of schools is not teaching the value mentality

Value mentality

The biggest life changing moment once i understood the value mentality. The entire philosophy can be summed like this : "Everything should be learned to produce value" This is something that no school is teaching. Learning for the sake of learning is the biggest waste of time. You should always be learning something in order to utilize it. Start thinking what you want to build instead of what you can buildWhen i was school we had mandatory Swedish courses and learned how to use it as a working language. If i want to work in Sweden i will learn the language, learning it now is simply learning something which cannot currently utilize
There are a lot of schools which understand the importance of work experience and setup mandatory internships. Allowing students to produce concrete value to companies is great and we need more of it.

Final thoughts

Saying that all schools are a waste of time is ludicrous. You need to think logically and ponder the good and bad sides. Don't let your family members pressure you into a school, If you think you can learn something without schooling then learn it yourself. School can be used to enhance your abilities but you should never rely on a diploma to bring you success in life.

sunnuntai 15. maaliskuuta 2020

How to deal with rejection

Rejection is natural

Rejection is part of life, it often comes with relationships and jobs. Rejection is something that everyone goes through in their lives. There are healthy and unhealthy ways to deal with rejection. It's important to react to it in a healthy way.

How it feels

You can't decide if people will reject you or not, but you can decide how you deal with rejection. While searching for a developer job i have been rejected countless of times. Each time this happens i always go through the same emotional cycles. At first it feels like a punch to your gut, you start questioning your abilities and self doubt starts creeping in your mind. After that i start to feel overwhelming determination. "You don't decide about my abilities", "I am gonna make you regret not hiring me", these sort of thoughts usually come rushing in. It's important that facing rejection doesn't kill off your inner drive. If you truly want to achieve something, then nobody should be able to switch your inner drive off.

The chase is better than the catch

The first time i heard this phrase was in a ridiculous but awesome scooter song. That phrase is actually a very good philosophy to follow. Chasing after your dreams is much more fulfilling than actually achieving it. You should cherish the struggles which you are going through. Always be chasing something better, atrophy is the bane of human existence.

Job recruiters aren't perfect

It's important to know that recruiters are also just humans as well. Recruiting the right people for a job is a hard thing to accomplish. While coding i have noticed that whenever you feel like you know what your doing, it means that you don't actually know anything. I bet the job recruiters have same kinds of feelings. Just because you don't get hired for a job doesn't always mean that you aren't capable of doing it. 

My tips for dealing with rejection


Always keep a positive attitude. Knowing how to deal with rejection is an important ability to have in your life. Remember that the more times you get rejected, the easier it becomes to deal with it.

tiistai 25. helmikuuta 2020

Video requester application!

New way to monetize content

For a long while youtubers have had problems with monetizing their work. The most common way of generating revenue is through YouTube ad revenue and company sponsorships. I came up with an application which adds another way to generate revenue. Now you can create custom YouTube videos based on audience suggestions.

Requester app

Requester is a new web application that helps youtubers to gain revenue by creating custom videos. It also allows you to request custom YouTube videos from your favorite creators.

For youtubers

Youtubers can sign in with their google account and start accepting custom video requests. You can charge whatever you want for these custom videos. This unlocks another way to gain support from your fans!

For fans

As a fan of a certain youtuber you can request custom videos from him/her. This is a great way of supporting your favorite youtube channels and creators.

Still in development..

Currently the app is still in the development phase. I am working on it by myself which means lot's of hard work. There is currently a build without monetization features, you can check it out here

I will update this blog post once i make improvements to the project. 

maanantai 24. helmikuuta 2020

Why drawing helps with coding

Developing while drawing

I always have a notebook near me while i am developing and i regularly take drawing breaks. Drawing is a great stress release and i believe it helps with coding.   

How the brains work

While i am not a psychologist i do have a rudimentary understanding of how the brain works. Whenever you perform an action, different parts of your brain get activated. For example driving a car or cooking a meal activate different parts of your brain. This process can be visualized with an FMRI scan. Coding and drawing also activate different parts of your brain.

How this ties into coding?

Common sense tells us that the more parts of your brain are active the more efficient it  is. Drawing and coding activate different parts of your brain. Since programming is largely problem solving. The more parts of your brain that are active, the more efficiently you can solve problems. Please note that i am not a psychologist and i don't have any data to back up my claims. I am simply a guy with an interest in the matter.

Weapons analogy

While you are shooting a machine gun, it's eventually gonna overheat. That's why it's important to have a secondary weapon ready. This same war mentality can applied to coding as well.

While you are solving problems the brain is also going to overheat at some point. That's when it's time to do something else. I personally like to writing a blog or drawing. It's important that the secondary activity is still bringing some kind of value. Video games are a great secondary activity as well, but be careful. They will quickly suck off all of your time.



"Dr. Jupemon" recommends

Coding is mostly about solving problems, which is very taxing for the brain. It's important to pair it up with a secondary activity that is relaxing. I recommend everyone to find some kind of secondary hobby along with coding. The activity should be something quick, relaxing and something which doesn't use the same parts of your brain as coding.