When it comes to choosing a company, choosing between a startup and a corporate would be the hardest decisions of your life, considering you’d basically asses the pay, benefits and the location. I know this may sound one-sided but I just had to write something that would clear off stereotypes. I’ve been through both sides of the coin and so far, working in a startup is the best work place I’ve been through.

If your a student or a person that just graduated from college, your parents would had probably told you that you should work for a corporate company, likely because they got used to the traditional lifecycle of the old era , wherein everyone has the mentality of “We must work for big companies in order to survive” (Probably you would have thought yourself working in a cubicle answering phone calls the whole day). Remember that your parents don’t dictate your career.

Apparently, the reason for that is people are too afraid to take risks when in fact, a lot of entrepreneurs are born nowadays and startups are widely spreading. Factors that include those decisions would be career talks, seminars, or job fairs form your universities. Since it’s going to be your first job (Full-time job to be clear), your not sure of what’s coming your way. Here are some reasons why should you choose a startup over a corporate company:

1.) Everything You Do is a Big Part of the Company’s Growth

Everything starts from humble beginnings. We all start from something small then eventually grows big. In corporate companies, you work in your workspace, doing the same thing all over again and feels like it doesn’t even help to the project. Kinda boring if you ask me. The status-quo of corporate companies are high, so high that the the objective is to maintain it’s growth spurt. In startups, even the slightest navbar on your website serves as a big contribution. Since it’s still on it’s growing period, you feel like everything you do counts. Whenever growth digits are mentioned during meetings, it feels great knowing that your monthly growth reaches around 110% and it’s fulfilling knowing that your part of the growth.

2.) Career Growth Outweighs the Cost

Having a good pay is better but having an awesome career growth can be priceless. Remember, not everything is settled through based on your salary and is not the sole reason why you’d join a company. In corporate companies, things you learn are limited on your job description. In startups, you learn to be a jack-of-all-trades.

The challenging part is that you get to experience dealing investors, stakeholders, and all other aspects the company even if your not specialized to do so. Those are some opportunities that you’d only experience from a startup. The best part is this makes you a well-rounded person. In corporate companies, before you could do all those, you need to have a high level position first so there’s a low-to-no chance you’d experience it in an early level.

Normally, startups don’t conduct job fairs so if ever you get recruited by a startup, consider yourself lucky because they are very wise in picking their candidates considering your in a small group plus, the fast-paced environment in order to advance. Then again, startups may not pay as good as corporate companies but it’s culture and environment are priceless.

3.) Everything is Processed a Lot Faster

During interview process and job offers, it takes weeks, or even months to get results. This also implies on certain documents like certificate of employment. Corporate companies usually follow a certain hierarchy of approval before you get what you want. It’s a risky domino-effect process wherein person A must sign the document before proceeding to person B and to person C, so on up to the highest upper-level management. If one does not approve, then all efforts are wasted.

In startups, everything is pretty much straightforward. You get results within a week (or even the day after your interview) and necessary documents (such as certificate of employment) can be even done within the day. Nothing fancy. No hierarchy of upper-level management. Just immediate results.

In addition, there’s no monkey business involved. In a corporate setting, your job description can vary from what your doing. consider this case:

Assuming you have a position of Software Engineer and stated in your job description that you should build the system following the SDLC (Software Development Life Cycle). Instead of building software, your real task was to support softwares wherein somebody issues you a ticket, solves the issue and get’s another ticket. The thing is, you’re not engineering anything. Your just supporting which was never part of building software and doesn’t follow the practice of SDLC. Before you can get out of that, it takes months, even years to transition a role/project. I’ve seen cases like these and it doesn’t sound transparent.

Then again in startups, they’re pretty much straightforward. What you do is stated clearly without hidden agenda and doing things to sustain the company (such as negotiating to clients and presenting reports) can be an added bonus! Transitioning is better too. Assuming you are a software engineer and you wanted to transition into a project manager, It’s easy as 1-2-3.

4.) You Have Flexible Work Hours

This is one of my favorite parts on working on a startup. In corporate companies, your pay is based on the number of hours you worked meaning, even if you have no task, in order to get paid you have to stay in the office. For me, this is totally a burnout scheme and makes it’s a waste of time especially if you have a mean boss who doesn’t want you to leave early.

It sucks more if you had a bond deal of X years. Not only you lost your free autonomy but you have no choice but to be in their palms for X years. In startups, your output is what counts regardless of how many hours you’ve worked. If you can finish everything in an hour (or even less), leaving early is an option plus the free autonomy on your career. If your enthusiastic to voluntarily take more tasks, why not?

5.) There is No Feeling of Intimidation From One Another

Your officemates are your best friends regardless of what level. They will be with you for the rest of your stay in the company. As much as we want to be comfortable on the workplace, we wouldn’t want to feel anxiety whenever you pass by a senior. In my experience, it’s unlikely your CEO telling you “Thanks and hope you can kick some ass doing your tasks”. The feeling is very exiting and it’s cool that formality is not an issue. You can even reply emails as straightforward as possible as if it was a normal chatbox but do remember to know and feel the situation. Though this doesn’t mean there’s no practice of professionalism. Formality is an adherence to etiquette but it’s not necessarily consistent to everything. Then again, cultures are very different. In corporate companies, you feel anxious whenever you see your boss so it doesn’t feel at ease knowing that a single mistake can cost your job.

Usually, addressing them should always be in formal matter. Making mistakes is taken heavily wherein everyone gets mad at you and the only thing left is your boss screaming at you and says “YOUR FIRED!”. Whenever going to work on big companies, you’d rather think your excuses why did you made mistakes rather than being happy and getting exited to work. This results to an option not to fail. Yes, it’s bad to fail but failure is always part of success. How can you learn if you didn’t experienced failing?(Though I’m not saying that you should) Remember that experience is the greatest way to learn so take it as a learning curve to further improve.

6.) No Fancy Dresscodes

No long sleeves. No Blazers. No slacks. Civilian attire is always welcome.

7.) You get Recognized on Everything You Do

As a result, promotion is faster. In a corporate setting, it usually takes years to get promoted. In case you had a good invention, it’s not appointed to your name but rather it’s claimed by the company. Your idea’s and effort not getting recognized just doesn’t feel right. In line with my first bullet, the slightest thing you do can be tomorrow’s next big thing. Let your idea get recognized in the world with you as the creator. It feels fulfilling whenever you get appraised by your boss. This makes you motivated and drives you to excel your work.

8.) Success

It’s really inspiring whenever you see your company grow. From the point of work, you learn the things on how to be an entrepreneur. These are things only a startup can give and starting from a small group is the greatest experience you’ll ever have.

Have any ideas? Want to share some more facts? Just let me know on the comments section.

It’s just been 2 months since I’ve graduated and I thought of writing down a list of my college realizations. Time flew so fast and with just a blink of an eye, studying from school has became a throwback. All those blood, sweat, and tears are finally over… or is it? Was that only a taste of the real world? Is it just the beginning? Regardless, we all have our own lives to dictate our own meaning what we call “hard work”. To further expand, I’ve broken down the topic to 2 lists, namely personal and course-related stuff. Without further adieu, let’s start off with personal realizations:

Take Note: This is a long post. When you read, please don’t generalize or make sudden conclusions.

Disclaimer: This may vary on how people really think, the situation and the environment so don’t be a stereotype.

1.) The misleading idea of your course can ruin your dream

–In Layman’s terms, your learning expectations might not become a reality. For example, if your planning to take up I.T. , you might expect that you will learn a lot on hacking, making your own cool games, how to build your own P.C. and all those creative ideas we’d see ourselves in the future. But in reality, you don’t. The real deal is you learn what a computer is, how to open applications, how to click on this and that and all the basics. Kinda cheesed off if you ask me but it’s the sad truth. I’m not exaggerating on that part but if you really want to learn all those things, you have to go out of your comfort zone and start building up your future. I guess it just varies on what the school has to offer but nevertheless, everything depends on how you do it.

2.) Get used to being back-stabbed even if your the most low-profiled person.

–It’s really inevitable to talk about someone when your in a casual friendly gathering especially if your in a drinking session or an overnight stay. Sometimes, we tend to say negative stuffs on people even if you don’t bring up the topic. No matter what your reputation is, you still get judged. Gossiping never stops and just keeps forming misleading ideas about you. So don’t be surprised when someone gets mad at you for no apparent reason.

3.) The real challenge is not getting the diploma but getting employed.

–You may have gotten a college degree but, have you ever thought on what to do after you graduate? Have you ever asked why did you even took up college? Is it because to learn? To have a degree? Friends? Well, the thing here is that if you recall Google’s way of how they evaluate applicants, they don’t care about college degree’s which for me is one of the the fairest ways to decide competency. Having a degree doesn’t exactly define your professionalism. The biggest mischief is that people work hard for grades which is the wrong mentality. They should work for the urge to learn because grades were never a basis to your true skill and their just numbers lying around in the surface. Latin honors? Dean’s lister? Were those your goals? Please, since when did the world go round with that? If you look at the bigger picture, there is something better than receiving academic awards in which, students never really thought of. (E.g. Best Debater, Programming champion, etc. There are various awards on certain fields so too its many to mention but you get the point). Technically, having a degree is just an advantage but doesn’t guarantee you a job. Don’t let your long-term achievement go to waste.

4.) College doesn’t teach you on how to do stuff but how to solve problems.

–This is actually the entire point of college. In the real world, you can only apply around 30% of your college learnings and the rest is up to you. Most of the things you’ll apply to the real world other than your skillsets are your behavioral patterns (E.g. Stress Management, Decision making, etc). If you’ve been into a dilemma of having two major activities in the same time, you tend to think how you’d ace the job. If you think college is just about teach and go, your in the wrong direction. It’s how you make the right decisions and getting past those problems. I’m sure you’ve already experienced researching on a particular topic but it seems it doesn’t exist on the internet. Try to recall, how were you able to resolve that moment?

5.) You don’t need to be in a relationship in order to grasp happiness.

–“Chick Hunting” is natural. Sometimes you get beyond hunting and move on to the next level by hitting on the person. If you try to tolerate that, you tend to be desperate into love and have forgotten yourself. Remember, love is too powerful, so powerful that even knowledge can’t out-power it so make sure you know how to deal with it. Don’t get blinded. There’s a time and place for everything. Enjoy and focus.

6.) Procrastination is inevitable, suffering is optional

– Doing your 100 page project can be hair-plucking but submitting it on time can be really rewarding especially getting a high grade. If you don’t, well at least you tried. During your first days of college, you may brag about how much time you go out but eventually, you now brag how many hours of sleep you get.

7.) The greatest way to excel is to go out of the box

–Remember, not everything is taught in college, not even half of it. College will not spoon feed you and essentially just gives you a network of friends but the thing is, how will you take advantage of it. There are a lot of opportunities out there. Don’t just rely on orgs or seminars. It would be better if you would work for an industry which can actually give you a preparation after you graduate.

8.) Seminars can be misleading to your credentials

-BUT not entirely. Here’s the thing. They don’t identify skills. The frank reason why students attend it is to add it for their resume. Do you think sitting down, listening to a speaker for an hour or two can instantaneously mold you to become an expert? Remember, having a single-paged resume of your interns and projects are pleasant to the eye than attending dozens of seminars. Frankly, recruiters might not even credit it as a basis.

9.) Most academically-striving students don’t really value what they learn.

–Reiterating the word “MOST“. We all know some people who loves to memorize stuffs for the sake of acing the exam. Right after, what happened? POOF! It suddenly disappeared right out of nowhere. Suddenly amnesia just flashed right in. It’s a common misconception to memorize because it’s a sign you don’t value what you learn. Familiarizing and learning by heart is the best way of learning.
Here’s a common scenario:

A lot of graduates have been posting after their graduation that they’re officially unemployed. (Not sure if what they mean is a figure of speech, but I guess not) If you really did valued your economics subject, you wouldn’t have posted that because before you are considered unemployed, it takes apparently 15 days after graduation before your considered one (At least here in our country that is). A proof that there was no value on that part (Considering the topic is important and relevant).

10.) It’s not about getting high grades. it’s about passing the semester

-Yup, YOLO mode indeed. In the end, grades were never a basis to employment. Just do what you enjoy and don’t pressure yourself too much.

11.) Student Election conclusions = Hot Chicks

–Reiterating disclaimer: This may vary on how people really think, the situation and the environment so don’t be a stereotype.

In a large audience, the stereotype is that if people don’t listen to campaigns and the person is a hot chick, he/she is already a winner without considering credentials. It’s actually more of a beauty contest, defeating the purpose of the REAL election. Actually, I can show some proof but I believe you would have already seen this scenario. From all the student elections I’ve been through, I never experienced someone who got the title who was very competitive and compassionate to serve the people. To keep it simple, ITS ALL ABOUT AESTHETICS. If you like, you can try doing an experiment against one and see who the winner is. If the person wasn’t credible enough for the position, the whole campaigning scheme was just a bluff. What happened to “Vote Wisely”? It’s not that I’m mad on beautiful people running in for the position, it’s just that people don’t know how to look on the 2 sides of the coin.

The real purpose is actually to learn so why even bother to interview and have a pass or fail mark? Sure, a chit-chat would do but it just so happens formality was the issue. This is kinda given to high positions. Yep, because it’s a big role but how about staff/associate positions? (Which is really what I’m pointing out) It’s just a cog in the machine so it should never be a big deal. If your trying to maintain the quality of your org, ask yourself. Who’s the reason why your org is still alive? Members right? The more you have the better support you get.

13.) College teaches you how to value teamwork

-This is an addition to number 4. Long story short, every student needs to “cheat” in order to survive because at the end of the day, you will be remembered by your heroism, not your scores.

14.) Having achievements can blind your personality, getting your feet off the ground

–As we go around, we are slowly becoming professionals and part of it is having the urge to achieve regardless of what it is (Passing your thesis, easily getting 100% in quizzes, etc). It really depends on how you manage and control yourself. The thing that tolerates your ego is the feeling of fulfillment from your hard work and being appraised by “master/sensei/Godly/etc” can be a game changer to your personality. Control is the only thing that can help you so always keep your feet on the ground.

15.) When you graduate, you’ll miss the feeling of pressure.

-Don’t start working ASAP as much as possible. Relax and enjoy your vacation because working is lifetime.

———————–

The following are realizations based on our curricula so this is not much of a personal realization but rather based from my realizations on what my school has given.

Now that I’ve listed them, let’s proceed to course life realizations. If your not from an I.T. related field, that’s ok. Just try to go with the flow.

1.) Were stuck in the era of machine programs

-If statements, for loops, switch cases, yeah I’ve been with them in creating programs but the thing is, we don’t move on to logic-mind-blowing-machine-programs. It’s basically the same thing until 4th year and it sucks that nothing is new. School’s should teach students how to create applications, not to stuck this same thing until graduation.

2.) Having Windows XP can be the primary reason why we don’t have Visual Studio, or any IDE that has compatible issues.

-Also the reason why we can’t have a cool course line up. During my office work, we chatted about our college life and most of my office-mates talked about their life on Visual Studio. When they asked “How was your Visual Studio in school? Did they taught you this and that?”, It was the moment of silence. I seriously had no comment and I don’t know if I have to blame the school. Because of that, this has something to do with #7.

3.) Always bring a USB/Hard Drive

-Printing, file transferring and backup is always an issue. Your USB is your best friend.

4.) Memorizing codes will never do you anything

-It’s not like history were in you memorize dates. You need thinking skills. The logic of the requirements always differs from one another so your memorizing is entirely useless. You code by heart. The common misconception is students keep on memorizing codes by they don’t realize that every problem differs from one another so the more they keep on doing so will likely get them less appreciated to the subject.

5.) Never forget about delimiters on your program.

– “;” , “,” and “.” are your best friends. Learn to use them well.

6.) Parent stereotypes wherein they think of you as playing on the computer when the real deal was doing your programs.

-Yup, you know that irritating moment. If you show the code, it becomes a lot complicating. In the end your still the loser.

I guess that concludes everything. I hope we had the same encounters. I might add up some ideas one so I’ll just leave a comment if that happens

P.S. – Everything is based on how I realized things. Nothing personal. No strings attached. Always take note of my disclaimer message to avoid misleading.

“College is the best time of your life. When else are your parents going to spend several thousand dollars a year just for you to go to a strange town and get drunk every night?” – David Wood

Interested in creating your own website? Ever wondered how cool is it to have a website that has a log-in/log-out functionality? Want to learn how to Create, Read, Update or Delete(CRUD) records in a database? Have you lost track on your previous tutorials? Well, I’m going to teach you how to create one from scratch where in you will know every single details on how the code works. If you are new to back-end web development, this tutorial is for you. I’ll explain everything in detail so that you won’t have to research some particular methods being used. We won’t be using any frameworks to keep things simple. Also I won’t be focusing on the websites design since were after the functionalities though it’s easy to implement the design. What will be doing is a simple item list when the users is logged in.

Pre-requisites

In this tutorial, we will be using some languages that will enhance our development. If you really don’t know any of the things I will mention, it’s ok. Just try to go with the flow. It’s just easy to comprehend them since I’m not into using advanced methods for this one. Off course since this is creating a back-end service for a website, you must at know least the very very very basics of the following:

HTML/CSS – Off course this will never get off the list when it comes to web development. Why did I even bother place this? LOL.

JavaScript – For a redirecting script. No jQuery needed for now

mySQL – the most basic language for querying. We will be using this for our CRUD(Create, Read, Update, Delete) functionalities.

For our agenda in this topic:

Simple time and date manipulation – Displaying time and date postings and monitoring your posts.

Displaying public and private data – Simply display information for logged-in users only and for the public

De-briefing and Summary – Final output and some notes. FAQ’s are also place here.

Topic Contents:

Note: In case you stopped on a certain part or want to search quickly , you can simply resume by pressing ctrl + f and look for the number where you last stopped

Setting up your server

Creating the public HTML Pages

Creating the database and it’s tables

Adding users to the database

User log-in: Authentication

Setting up the home page for Logged-in users and Logging-out

Testing Page Security

Adding data to the list – User Access Only

Displaying data in the home page

Editing Data

Deleting data

Displaying public data

De-briefing and Summary

Make sure you follow chronologically. Don’t proceed without accomplishing the previous part not unless you know the code.

Some reminders before we start:

Note: If the picture seems unclear/blurry, you can click it to view it on it’s larger size. Also, pardon me for using images to display the codes rather than showing you a raw text because it can’t format properly on my WordPress subscription but don’t worry, I’ll be uploading the finished product on the end of this tutorial to double-check your work.

———-Real Tutorials Begin Here———-

1.) Setting up your server

Now that your all set and go, as the basics of programming goes, let’s start by creating a simple shoutout of “hello world” in our server.

First of, go to the directory where you installed your XAMPP (Commonly in C:\xampp). From there go to the htdocs folder (Commonly in C:\xampp\htdocs) and create a folder named “MyFirstWebsite“.

From that part, you have now created a Local URL for your website. That folder will be used to supply in all website files (.html, .php, .css, .js, etc.). Open up your text editor and let’s get started!

I use sublime text as my text editor. If your using Notepad++ or any others, it’s ok. It’s not really a big factor but it’s just a preference on which one would you like to use.

What we will do is a basic HTML page and display “hello world” from the server using a basic PHP syntax. We then type the following syntax:

Save the file to the “MyFirstWebSite” Folder and name it as “index.php“. (Directory as seen on the top part of the image)

Now that you have the file. Let’s now open your XAMPP control panel. In case it doesn’t appear on your desktop, it is located in your XAMPP folder as seen on the image:

Now that it’s there, Run your Apache and mySQL by clicking the “Start” button on the actions column. You should see a random PID(s) and the default port number. Apache is the name of our web server wherein it will handle all the files as well as serve as the communication to the web browser and MySQL is our database which will store all of our information.

Open up your web browser and in the address bar, type localhost. You should see the menu of your XAMPP.

If it’s the first time you run it, it will ask what language would you prefer, just simply pick and it will lead you to the menu. If you will noticed the directory is localhost/xampp, it’s where the default page leads you even if you type in localhost.

If that appears, then it means that your XAMPP server is now running. Now let’s try running the website you just placed. Try typing localhost/MyFirstWebsite. It should be the same as the picture below.

If you will notice that the URL is MyFirstWebsite, it is derived from the htdocs folder and it automatically reads files that are named “index”(Be it index.html, index.aspx, etc), which serve as the default page. Typing localhost/MyfirstWebsite/index.php is just the same. You can also create your custom name for the URL by simply renaming the folder but let’s just stick to MyFirstWebsite.

Note: If you don’t have a file named index and you entered the URL, you will receive an error 404 for not having the file on the server. If you do have different files that are not named index.<extention>, you have to specify the specific file name. E.x: localhost/MyfirstWebsite/page.php

2.) Creating the public HTML Pages

Next, let’s re-modify our website and add a registration link where our users can register as well as a Log-in page right after getting registered. Let’s modify our home page with the following code:

index.php

As you can see, we only added 2 links which are for the Login and register. Let’s create the registration page first:

register.php

As you can see, it’s just a basic form where the user can input his/her credentials. Now for the login page:

Hint: Just copy-paste the same code to make things faster.

login.php

Basically it’s just the same code as from the register.php but the changes made were the ones underlined.

Try running localhost/MyFirstWebsite again and your pages should look like this:

index.php

login.php

register.php

3.) Creating the database and it’s tables

Now that we have our basic page for the public. Let’s proceed to the database. First, type localhost/phpmyadmin. This will lead you to the phpmyadmin homepage:

localhost/phpmyadmin

From there, go to the Databases tab located on top then from the text box in the middle, type first_db then click on create. Just leave the Collation as is.

You have just successfully created your first database. Now from there, let’s create a table wherein we can register our users and display information. First, click on first_db located on the left side and create a table named users with 3 columns then click on Go.

For the table’s structure, make sure to have the following fields then click on save:

Note: You need to scroll right for the auto_increment. I just edited the picture to fit the A_I field

Next, create another table named list with 7 columns and for the table’s structure:

id – INT – N/A – Not Null – Auto Increment

details – text – Not null

date_posted – varchar – 30 – Not null

time_posted – Time – Not null

date_edited – varchar – 30 – Not null

time_edited – Time – Not null

public -varchar – 5 – Not null

4.)Adding users to the database

Now that we have our tables. Let’s move on to the fun part, getting your registration page into action. From your registration.php, add the following below the html codes:

register.php

Here’s the explanation to the code:

$_SERVER[“REQUEST_METHOD”] == “POST” – checks if the form has received a POST method when the submit button has been clicked. The POST method is created in the html from the method=”POST”. Click here for the form method reference.

$_POST[”] – gets the name coming from a POST method. This just simply gets the input based on the name from the form. In our case it’s username and password.

mysql_real_escape_string() – encapsulates the input into a string to prevent inputs from SQL Injections. This ensures that your strings don’t escape from unnecessary characters. Click here to learn more about SQL Injections.

Now try to go to your register.php and try to input anything then click on “Register”. In my case I placed in the username xtian and password as 123456. It should display the inputs below. Here’s my sample:

On this part, you should have understood on how to get input from the form. Now to add it to the database. On your register.php, add the following code:

register.php

Here are the explanations to the code:

mysql_connect(“Server name”,”Server Username”,”Server Password”) – The syntax used to connect to our XAMPP server. localhost or 127.0.0.1 is the name of the server. The default username is root and no password for default.

mysql_select_db(“database name”) – Selects the database to be used.

or die(‘Message’) – Displays the error message if the condition wasn’t met.

mysql_query(‘sql query’) – does the SQL queries. Click here for some SQL query samples. The again, i’m not here to discuss about mySQL.

mysql_fetch_array(‘query’) – fetches all queries in the table to display or manipulate data. It is placed in a while loop so that it would query all rows. Take note that only 1 row is queried per loop that’s why a while loop is necessary.

$row[‘row name’] – the value of the column in the current query. It is represented as an array. In our case $row is the name of the variable for our row in the loop.

Try the inputs that you have made earlier and see what happens. It should prompt that you have successfully registered. Try going to phpmyadmin and see your users table:

Congratulations! Now you know how to add data into the database with data validations.

5.)User log-in: Authentication

Now for the login page. Let’s create a new file called checklogin.php. The reason is going back to our login.php, our form has an action called “checklogin.php”, particularly <form action = “checklogin.php” method= “POST”>. If you will notice on the register.php, it’s also on register.php because the back-end is done on the same file as well.

Let’s now code the checklogin.php with the following syntax:

checklogin.php

Here’s the explanation of the code (Some are explained earlier so there’s no need to reiterate):

session_start() – Starts the session. This is usually done on authenticated pages. The reason why we used this is because this is required for the $_SESSION[”].

mysql_num_rows() – This returns an integer. This counts all the rows depending on the query.

$_SESSION[‘name’] – Serves as the session name for the entire session. This is relatively similar to public variables in object-oriented programming. We will be using this for validating whether the user is authenticated or not.

Now try to test your input with a wrong username and password. It should return the desired prompt. After testing, try inputting the correct values. It should lead you to home.php.

Note: home.php does not exist yet so it will produce an error 404.

6.)Setting up the home page for Logged-in users and Logging-out

Now that were authenticated, let now create our home page (home.php) with this following syntax:

Now that we have our home, let’s try creating our logout.php and test if the user’s session is off. What we would do is that if the user is logged-out, the user shouldn’t access home.php. So here’s the simple syntax to logout.php:

logout.php

The syntax is simple. session_destroy() simply remove’s all session’s meaning, the value of $_SESSION[”] will be removed and header() will simply redirect it to the home page.

7.)Testing Page Security

Now try refreshing home.php and click on logout. Now try Clicking on the back button of your browser and see what happens:

As you can see, it doesn’t direct you to home.php because you are logged-out. Now for the second test, try manually inputting the address localhost/MyFirstWebsite/home.php. The same case should also happen. Since were logged-out, even a manual input of the address doesn’t access an authorized page. What we have done is a simple security mechanism wherein we redirect back unauthorized users into a public page.

Now try logging in again and let’s go back to home.php.

8.) Adding data to the list – User Access Only

In our next step, let’s create the adding of item’s to the list. As you will notice from the form, it is written as <form action=”add.php” method=”POST”>, meaning our http post request goes to add.php and with that, we create our add.php with the following syntax:

add.php

Take note that this ain’t our official add.php syntax yet, I’m just going to demonstrate the time and date syntax and getting your input.

Now go back to your home.php and try to add an item then click on “Add to list”.

This should be the following output on add.php:

As you can see, we have our current time, date, and your input. Here’s the explanation to the code:

strftime() – get’s the time based on what format your placed.

%X – current system time.

%B – current system month.

%d – current system day.

%Y – current system year.

Now let’s modify our add.php and add the following data into the database together with the data from the checkbox:

add.php

Here’s a little explanation:

foreach() – gets the value of the checkbox. As you will notice, the checkbox format in the form is name=”checkbox[]”. To get data from checkbox, it has to be instantiated as an array. Doing so would make it possible to get data from multiple checkboxes.

Now try entering some data and click “Add to list”. In my case, I’ll just use fish again. Let’s go to our phpmyadmin and let’s see if the data has been added. Here’s the result of my case:

localhost/phpmyadmin

9.)Displaying data in the home page

Now that we have seen that the data has been successfully added. Let’s now display the data in our home page. Let’s modify our home.php and let’s add some columns for the date:

home.php

The explanation to the added code is quite simple. It just basically displays the data coming from the while loop. It has been explained earlier in our tutorial so I believe that by this point, you should have understood the process of getting the data in the query. Going back to the browser, try refreshing your home.php and see what happens:

It should now display that data. From our CRUD checklist, we have now accomplished Create and Read. Next is to update(edit) and delete information. If you will notice we have edit and delete links displayed on the column. I’ll add another data to the list named “tuna” to have another example and this time, it’s privacy to no:

10.) Editing Data

Let’s now try editing our data and to do that we will use a new functionality called “GET“. With our previous methods, we have been using POST as our http request but this time, let’s use GET for editing and deleting records. To start of, let’s modify our home.php and add a little code to 2 columns:

home.php

If you have noticed, we only added URL parameter for the edit and delete links namely id. We will be using this later to handle thee data. The reason why we use id is because it’s a unique identifier. It is possible for the person to have enter the same data so it’s not recommended to use the details as a mean for manipulation later on.

Try putting your cursor into the edit link and you will see the value of the id onthe lower left:

Now that we have that, let’s try creating our edit.php and let’s try to get the data from there:

edit.php

lines 1 – 42

Some explanations to the code:

!empty() – a method that checks if the value is not empty. The syntax can be reversed if you want to check if it’s empty by removing the explanation point (!), therefore it’s syntax would be empty().

$_GET[”] – Used to get the value from the parameter. In our case, we use id as our URL parameter so the syntax would be $_GET[‘id’].

$id_exists – the variable that checks whether the given id exists.

$_SESSION[‘id’] – we place the value of id into session to use it on another file.

lines 42 – 76

The reason why we are putting the variable $id_exists is because in case the user modifies the URL parameter into a non-existing number(in our case we only have 2 rows/id’s), we can display a prompt in which the data doesn’t exist.

Now try clicking the edit link into the first row and it should display like this:

Let’s try modifying the URL parameter by removing ?id=1and now should result to localhost/MyFirstWebsite/edit.php and it should result like this:

Now try putting a value that is greater than the id number, in our case, let’s try 5 and it should result like this:

localhost/MyFirstWebsite/edit.php?id=5

Now that we secured our URL parameters, lets now place the edit syntax. Let’s go back to edit.php and add some following code to update the information to the database:

edit.php

Now try refreshing and go back to the edit page. Let’s try a different data. In my case, I’ll be using “Salmon” and change it to non-public:

edit.php?id=1

Go ahead and click Update list and you should be redirected to home.php and see the updated list.

Now, we have a time and date of edit displayed on the Edit Time column. Our privacy has been set now to non-public and the value has changed into Salmon.

Congratulations! We have now done the edit function!

11.) Deleting data

Looking back to the CRUD, we have now done creating(adding), reading(displaying), and updating(editing) records. Now for the last part, deleting records. For this part it’s just relatively the same as what we have done on edit but what differs is just the SQL statement. Instead of using UPDATE, we will be using the DELETE syntax. In deleting records, we have to prompt people making sure that they’d really want to delete the record so we will be adding a little javascript in home.php. To do that, let’s modify our code and add some int home.php

home.php

As you have noticed, we edited the link for the delete. We changed href into “#” and added and onclick function for Javascript for the method of myFunction and inside it’s parameter is the id of the row. Below the table written is the Javascript syntax wherein it prompts the user if he/she want’s to delete the record. If the user confirms, the page then directs to delete.php together embedded with the value of the id. Now let’s create delete.php and here’s the following syntax:

delete.php

The code is just simple and the syntax are also the ones that we used before but noticed we have changed our request method into GET. We are now using the GET request since we have a URL parameter. Now try refreshing home.php and let’s try deleting the first record. This should be the result:

Prompting:

End-result:

Congratulations! Now we have now officially completed our CRUD statements!

12.) Displaying public data

Now for the last part, displaying public data. We will be displaying data that’s been set to yes in our index.php, in which is a page for non-authenticated users. It’s very simple. We just have to edit our index.php and add a some php code and table. Here’s our updated index.php:

index.php

Now log-out and see your default page. It should look something like this:

Note: You won’t see the data yet since we haven’t set any information to public.

Now let’s log-in again and this time, let’s add some more data. In my case I’ve added the following:

Salad – public

Corn – non-public

Pasta – public

Chicken – public

Spaghetti – non-public

With a total of 6 data’s with 3 of each privacy setting:

home.php

Now let’s log-out and see our default page(index.php). It should now look like this:

index.php

As you can see, it only display’s data that are set to public.

Congratulations! We have finally finished the tutorials for this session!

13.) De-briefing and Summary

In the end, you should have the following files:

As I mentioned earlier, I’ll be uploading the finished product. Click here

I also uploaded the sql file for the database in case you want to use the exact data that I have. To import the sql file, you can just simply click on export and select the sql file but make sure to create the database first. If you like, I can create a separate blog for that. Just let me know in the comments section.

Anticipated questions

Here are the questions that I think you will be asking. I tried to anticipate these to avoid confusions:

Whenever I register a new user, the same list appear. I was expecting for each different user, there would be a separate list for them. Did I do something wrong?

That’s actually a good question. As you can see, I’m only teaching BASIC CRUD functionalities, authentication, and security not a membership system. Creating a separate list per user requires a separate table for each of them. So the logic behind it is for each time after you insert data, you will use a SQL syntax for creating a separate table for the user which goes something like this:

The reason why I didn’t do that part is because your gonna have to do a lot of querying and it would make my code look complicating which can consumes a lot of time developing it so it’s definitely out of my scope. It would be better if you just try it out yourself and figure out the way. After all, everything you need is already in this blog.

Would it be easier to use master pages? Because i’ve noticed you had to re-write the server and database connection all over again for each page

Yes, it is easier to use master pages. The reason why I didn’t use it is for our readers to easily understand the logic behind it. Maser pages can make it a bit confusing for starters.

Why not use a framework? I bet that would look neat and easy.

Then again, I mentioned in the title Creating your First PHP Program FROM SCRATCH. It’s nice to start of from nothing that from a “template” so that our reader would know the code by heart.

I know that this is might be an old way of developing PHP. I’ve heard that there are new features released.

I only presented based on my mastery. I’ve been working with PHP for a long time now and I might not heard about the new features. If you think the new one makes it look good then try it out then.

Why not create a separate file for the CSS and Javascript?

Simple, i’m only demonstrating you about the functionalities. Were more on the back-end code rather than the front-end. I really didn’t focused on the design. If you ask how to design your code with the PHP, well it’s as easy as styling a regular HTML file.

Well I guess that concludes everything. Thanks guys I hope you learned something from this topic. I’m currently creating an ASP.NET MVC version of this one so watch out!

Follow me on wordpress

or on twitter(which I just created but will try to be active): @Kris_Chaaan

In the early years of our college life, there’s this overjoying-boost-up feeling wherein we always wanted to join and be active on our school organizations. We all felt that feeling wherein our ego tells us to take it into the next level, having a position for that organization and commit to a certain responsibility which could probably lead to a stressful work. On my junior – senior year, the year when I was exposed to the industry, I keep on asking myself, why did I even bothered being active on those organizations that was less relevant to my work/industry? It came to my senses that investing my time on those things an was practically useless, in a sense that I never did learn anything to improve my skill set, or a t least a limited amount of it. Sure, we tend to meet people along the way but is it really worth the long-run? Though I’m not saying that we shouldn’t join unrelated organizations in terms of our career growth but it’s more on having focus.

To keep the long story short, a lot of students have been joining co-curricular activities practically for the wrong reasons, though it’s not really wrong to join them but the fact that is there are some blinded reasons for you to realize. Same thing goes with earning grades and attending seminars/workshops. We will discuss them each one-by-one in a short while. Initially speaking, this all leads to the persons credentials by the time he/she applies for a job.

Just to acknowledge, this article is also inspired from Bryan Bibat’s article similar to this but written on my own perspective so I might state some similar thought’s from his blog.

1.) Co-Curricular activities (In school)

Co-Curricular activities can be fun but is it really worth your time? A trickier question would be “How do you benefit from them?”. We all have the reason for networking but let’s face it, you had the reason wherein you need to find a love partner. Infatuation sometimes come and goe but you should never let these feelings take over yourself but rather it’s you who control yourself.

Another one would be getting popular and to be known to the entire college. I find this quite annoying because you may be the most beautiful chick or the smartest person but that doesn’t mean that it should go over your head. In the end, nobody cares about your position and people will keep demanding on your services. Having a position in your organization means that you have to fulfill your duties. You can never call yourself a true leader if you never inspired anyone. The statement “It’s the thought that counts” doesn’t really imply in this case because even though you have served your school in your most little ways, did it even touched everyone’s impact? Remember the famous line of Spiderman “With great power comes with great responsibilities“? Well, always keep that in mind.

On a non-officer point-of-view, you tend to join these because you share the same interests with others. Your point is just to have fun. This could also increase the chances of you learning new things on others like gaming techniques and such but not everything could be good when it comes into a whole new level, wherein cutting classes would be your next in-line hobby. Might as well have some control of yourself if you don;t want to get things bleak.

Lastly, the part where you need to gather up credentials for your resume. If you were a freshman, in a few years time you will be building up a resume thinking all over the past activities that you have done. Co-Curricular activities can be credible but then again, let me reiterate, is your CCA actually related to the work your applying for?

2.) Seminars

For students, there is a very big misconception when it comes to seminars. The thing is that they only do it just to make their resume look “cool” but the real deal is that having seminars placed in your resume is essentially useless. Reason? Simple. It doesn’t define any skill. Do you think after attending a one hour talk(can also be 2 or 3) could actually make you good on that certain field? If a student takes 4 years just to earn a degree and specialize on its field in general, do you think an hour can instantly boost of your skill?

I’m not saying that you shouldn’t attend seminars but I’m just trying to open your eyes especially if your a student that keeps on hogging seminars for the sake of brushing up your resume. In fact it’s good to go to seminars if you have your eyes and ears lent to the speaker and if your showing your enthusiasm towards the speaker. If you work, seminars aren’t much of a big thing considering that your resume is not full of work experiences than seminars.

3.)Competitions

Have you ever seen a person in their resume that they placed a competition that they joined but yet never did they win it? Well, let’s talk about how can it be a not-so-good thing. You see, its nice to place competitions in your credential but make sure you had a recognition. Placing it with no recognition just makes it too desperate for you to have something in your credentials. There is a big difference between “Won as a finalist in a programming competition” and ” Joined a programming competition”. Never place something like that out of desperation because it only sounds like your a loser placing it as an activity without having any award.

4.) Co-Curricular Activities(Outside School)

Earlier, we’ve talked about whats inside the school but how about outside the school? This is relatively similar to our first topic but instead of activities and organizations given in school, now to talk about outside the school. I see a lot of students getting involved on volunteering as man power in events/conferences but the thing is man powering wouldn’t contribute to your skill. It’s nothing compared to be a local steering committee trying to clean the place. I’m not saying you shouldn’t volunteer but it would be better if you were the delegate.

To sum it all up, just make sure you know what your joining for. Don’t do it for credentials but rather for your career growth and if your a student leader, do it because you lead and inspire people.

Recalling the time when I was writing a résumé for my internship, I had to research a lot on how employers read résumés. Considerably as a student leader, I interviewed a lot of applicants on who to want to be part of our team. From that moment on, I somewhat felt a recruiter instinct on how to choose the right people for the team. I’ve been also seeing résumés by other people and i’ve notice the differences on which one is elegant to the eye and not. I’ve also learned from my bosses the things they consider for their company, so i’ve decided to pin point the things that i’ve learned and experience from applying jobs both from the point of view of the recruiter and the applicant. It’s just 2 months left till my graduation so I might as well make an archive, as well as for future references. If your a student, this article is especially made for you. If you think you lack some trainings, seminars or some credible assets and you have a short-time left to finish your credentials, I hope I can boost your confidence and have more thoughts on what to put in to your portfolio. Then again, I am just sharing my thoughts, experiences and realizations so this might vary especially recruiters have their own point of view in selecting their applicants.

1.) Place only the most relevant and up-to-date information

I know this is a bit given but, people sometimes don’t realize that what their placing as actually irrelevant. From what i’ve learn, you shouldn’t place your high school achievements. Some still place that they’re still a chess club champion when in fact it’s been a lot year’s past since that happened. It’s practically similar in an organization in your university, wherein you place in your résumé that your a member of a mountain climbing group but never it is relevant to the job that your applying for. Sure, we appreciate that you can climb 10 mountains a day but are you gonna climb mountains when you work? Also, if your working in the industry for more than 5 years, you would have probably been through a lot of positions. Just make sure to place only the most recent ones because having a single page résumé with a relevant experience is better than a long one.

2.)Elaborate all of your projects and the activities done on your co-curricular activities

This is actually one of the most common missed out things that I see on a student’s résumé. Let’s take into account that you have been a head of the design team in your organization and you have done a lot of projects within your term. Placing in plainly in your resume would feel that it has no impact to your employer. Try adding some weight in it like specifying some of the projects that you have published because employers are not like fortune tellers that they have to guess what in particular is the position that you have. Normally, the format would go like this:

From that point, it would be fulfilling for the employer to see that you have done so much with your term. There are times that your organization would have an acronym. Might as well have a complete abbreviation of it beside the acronym. Then again, they do not guess what do those acronym’s mean. Try to be specific.

3.)Write first the most credible achievements

Some employers have their own sight of attraction and its always in the first page. Other than your personal information and education, try to maximize the most credible achievements you have in the first page because it is where employers would usually have their first impression and you wouldn’t want to ruin the opportunity to impress him/her. Also, try to arrange it chronologically and off course the latest goes first.

4.)Have your own personal masterpiece other than your thesis

This can be a great output to showcase to your employer. Things like this can be your own personal portfolio website containing your interest and projects you have done and possibly a blog. Another good thing would be having your own speaker deck account if ever your involved with public speaking. Well, whatever showcases your strengths and interests, try to make something out of it.

5.)Create your own online professional account

Last but not least would be this. Sometimes, your resume is not enough to tell all of your achievements. A good social professional network would be Linkedin. In Linkedin, you get to elaborate in detail all of the things that you have done throughout your professionalism. It also has a feature to recommend and up-vote on your skills. In my experience on the time I created a Linkedin account, 3 recruiters automatically added me up. You see how big the impact is? Another online site to showcase your skills would be stackoverflow and github(For technology field). On stackoverflow, the more reputation you have shows that you have contributed a lot to the community. This shows the mastery of your field on answering peoples questions. Github on the other hand is a repository wherein it keeps your projects with a version control feature. If your repository is kept on public, its a good way to show your projects and how well you code. At least it proves worth more than your résumé.

Well I guess that’s about it. Goodluck on your job hunt and I hope I have given you a little bit of guidance.

I’ve been working on checking thesis documents by my other subordinates and I’ve noticed that they all had common mistakes which can affect the entire document. I might as well share these common mistakes to prevent it from happening especially to you readers who might write your own thesis.

Take note that I’m referring to an undergraduate thesis(Normally done by group). This may vary from a masteral or a dissertation.

1.) The TITLE

This is always the most essential part of your thesis. This will cover the entire document and will be displayed throughout your copy. A single word could lead to your downfall. Let’s take into account the title “Ordering System with Sales Analytics and Item Tallying for XYZ Company”. As you will notice, this thesis is known for an ordering system BUT, it also includes the scope of Sales Analysis and Item Tallying. This thesis might not be feasible in time for the student because first, it has 2 scopes, which is ordering and inventory system (derived from the “Item Tallying” part) and second, the title is too complicating which can be very misleading at some point. The main idea was an ordering system and in time, the group will eventually forget about the inventory part. The other half will meet the requirements but how about the other one? It is nice to have a bonus feature but only include what is necessary. Then again, its all in the clients requirements since they will be the one’s who will use and benefit the system.

2.) Instead of a group work, the team does it individually

In a group, a member is assigned with a certain task for instance, one will be the developer, one will be the project manager and such. The thing here is that you have to act at least once in all of those roles because by doing so, you would know your thesis from cover-to-cover and gives you no reason to blame other group mates. The problem is if a person is known for his/her forte, he/she is only limited to that persons capabilities and is never to experience other roles. This gives other members more reasons to blame in case something didn’t went well. If you apply for a job and asked what role did you do in your thesis, well, just tell them the truth rather than lying on your skillset.

3.) Failure to define requirements

This also has something to do in relation with number 1. Having a bar requirement would also lead to a bad title. Requirements basically come from the client and having a shy personality could have it all messed up. If you have that kind of personality, it’s time for you to take your arse up and it’s time for a complete makeover on your personality. Ask everyone you can about the client (Everything… I mean, only about the project, not about their life LOL) and make your client as your best friend because in the end, the client will be your panelist. If ever other panelist are firing the guns at you, the client can somewhat save you from failing the subject.

Sure, having this and that feature would make the project way more fancy and flexible but the question is will it ever be utilized? I also had the same experience on adding a lot of unnecessary modules but it was requested by the client to be removed since it just makes it more confusing. Another factor would be creating your use case diagram with all the unnecessary functions. Reading it already looks like your solving a maze and if the client reads it, he/she might rage quit if he/she doesn’t reach the goal. Ommit all unnecessary features and keep your project simple.

5.) Timelines were never really followed

Let’s face it, we never really followed these schedules. We feel the pressure of creating Gantt Charts because their required for our document. To keep the long story short, if you really never follow these and if a panelist asks you on what did you do on a certain phase that had a long-term schedule, prepare to say your prayers if you did some procrastination on that task.

To sum it all, it is actually the lack of diligence that makes all these things because you don’t tend to think out of the box. Apparently, brainstorming is the best way to deal with these problems because it involves collaboration with everyone in the group. Sharing thought’s and having a mini-debate could lead you to great results. Just remember that your not doing it alone. If you have a lazy group members, don’t think that your the only one who is going to do all the job because every member must have a significant role (Even the cashier or supplier of the group… LOLOLOL). Thesis is one thing you have to excel in because employers usually asks on what your thesis is and what roles, tasks, and how will did you do.

I have noticed that some computer majors don’t feel like they are enjoying programming. Though computers can be have a very big scope, programming would be a very essential role. The reason why I am writing this article is because to point out some common reasons why computer majors (Information Technology, Computer Science, you name it!) do not love programming and learn to embrace it. This could serve as an eye opener to you and this is especially made for students who are currently taking up these courses. Without further adieu, lets get started!

1.) Choosing a course in which you don’t like!

In the first place, you should know that these courses do a lot of hard coding and you would know the fact that you would carry on this habit until you work. Now why on earth would you focus on a hard-coding course and yet, not a single bit of programming interests you. Probably you are forced by your parents, your last option on your college entrance exam results, or just simply for no reason. To whatever reason may it be, LEARN TO LOVE IT BY HEART. Passion is what sets you on fire.

Try seeking your peers for advise on why a computer course is awesome! you might want to consider listening to success stories made by coders. You can watch this.

2.) Your teachers don’t care about your Career Development

College would never be challenging without terror professors. They could be defined the ones who fail most of the students, give the hardest exams, or has the worst attitude. In our case, we consider them as people who are doing their job just because of the profit they gain in teaching and not even caring about the students welfare. A students failure can be a drastic experience for him/her to learn and strive hard. If the student really did mastered the subject well but still managed to fail well, probably that reason is already the teachers teaching methods.

Teachers objectives should be focused on inspiring and motivating students to work hard and never should they make the primary reason their profit. Teachers who don’t teach with passion are never to be considered teachers. To avoid these kind of people, you might want to ask your peers on feedback’s regarding a teacher or a training center. If you’re wanting for a personal tutor, you might want to check their portfolio first. It is good to keep it that way especially if your paying for your own education.

3.) People tend to memorize codes

People, people, people! ONE DOES NOT SIMPLY MEMORIZE CODES! Codes aren’t something like history wherein you memorize significant dates and events but in the end, you forget everything that you have studied. Remember that logic formulation changes and varies on the problem so your memorization will definitely won’t help you. The common problem is that logic formulation becomes an issue and this has something to do with procedural thinking. Programming is about thinking procedures and making the right output come to life. Comparing to math, you need formulas in order to achieve the solution while in programming, you need to have a good thinking strategy in order to build your formula.

In building something from scratch, you always come in empty-handed. As you gather materials, your material gradually improves and becomes one step closer to finishing the product. Similar to programming, all you need to have is your brain and a good sense of thinking and as you program, you learn to formulate your own way of creating your own output. In real life, your product comes into test and if it fails, you try again until you succeed. In programming, you can compile as many times as you can and for each compile, you learn to see mistakes. It helps you to understand how to avoid them and at the same time you get familiarized with your own code. The next time you create another program, you have now equipped yourself with the past experiences you have made. Always remember that experience is the best way of learning and its a never-ending process. So just keep on trying and try until you succeed.

4.) The course Curriculum Sucks

Sometimes, this can be the primary reason. It is best to research on the greatest training center/school on which it has to offer rather than to keep on blaming yourself in the end on why did you even bother enrolling on this institution which didn’t gave you quality training. Another primary reason could be the institution’s facilities. If the curriculum is good, it should also be well-balanced with the facilities because there are times that school’s use deprecated Operating Systems just to keep it cheap. Try also researching for the school’s price if it sounds reasonable. It’s better to pay a expensive fee which gives you quality education than to have a degree which gave you the lowest quality of education which feels like you really didn’t deserve having the degree.

5.) There is no balance within Lab and Lecture

It is really essential to keep these two on balance. Its similar to an orchestra, on which will be composed of the conductor and the musicians. Without the conductor, the music will not play in harmony or will have the worst sync. Without the musician, there is no application of mastery coming from the conductor. I have noticed that some schools are overly focused on Lectures rather than Lab works. Learning theories is not enough in mastering the subject. In our case, the misconception here would be studying relational databases and Information Management, wherein Data warehouses are being discussed but is never applied. Data Warehouses too have Laboratory exercises (Eg. Extracting data with a software) in which the school must offer and its not just about theoretical practice. The school should consider having a monthly meetup regarding the schools performance in order to improve their training grounds.

6.) People are not diligent enough

People tend not to go out of their comfort zone. Diligence is one key to success. There are a lot of things to learn that are not taught in school. Try exploring those and keep up with the pace in technology. A great way to start this is joining local organizations which will give you opportunities coming from outside your school providing you with free seminars, trainings or even their recruitment as being a representative of their company. Another would be joining competitions regardless if you win or lose. Winning is not an option but gaining the experience is priceless. For each time you join, you learn from your opponents, make new friends and at the same time, increase your confidence in joining as each competitions passes by. For every opportunity knocking your door, don’t hesitate to take the chance and take flight to a new leaf!