Skip to main content

When we don't see the sun, we see other stars


What are your motivations for creativity?

- I want to make a change.
- It makes me happy! It is a need of my mind.

How to be creative for a thing?

There are two steps:
- See the thing as every people see it
- Think about a new different thing from it

How to think about a new different thing?

There are two ways:
- Forget all things you have already known.
- A whack on the side of your head. ;)

This was what I have learned from the following great book:

source: Amazon.com
Well! A physical whack on the side of your head is needed sometimes but the meaning behind is that you need to break these 9 following locks on your mind. Remove them!

The lock #1: "The correct answer"

We all learn from schools that there is only one correct answer to a question. For example, a proposition is only true or false in Algebra. In reality, there are always some answers to a question basing on a point of view. For example, number 6 becomes number 9 if you look it in the opposite.

The lock #2: "That is not logic"

There are two kinds of thoughts: soft thinking and hard thinking. Soft thinking focuses on finding a relationship among things. On the other hand, hard thinking focuses on the differences between things. The metaphor is a technique of soft thinking which needed for creativity.

The lock #3: "Follow the rules"

Sometimes, creativity is not always a contribution but a damage. However, in order to create a new model, we need to break an old model. Break the rules!

The lock #4: "Be realistic"

Answering the question "if...then what happens?" is useful somehow. For example:

- Imagine if what other people (your inspirational ones) will do in your situation. E.g: I sometimes say to myself when I face an issue: "What will Mr. A do in this situation?"

- Imagine if you are what you think. E.g: Imagine you are a paper; what are your characteristics to make you more convenient for users?

- Imagine an idea which is obviously not realistic. According to this idea, you can come up with a better realistic one. E.g: original idea: the Government will give money for whom put trash into trash bins. Improved idea: every time people put trash into trash bins, they will receive a random fun from the trash bins.

The lock #5: "Play is frivolous"

"If necessity is the mother of invention, then play is its father". There is no doubt about it!

The lock #6: "That is not in my field"

Specialization is necessary in most of the cases; however, bringing a knowledge from a field to another field is really useful as well.

The lock #7: "Don't be silly"

Actually, a comedian is smart. He/she always thinks in different ways. It is like a movement of a car, sometimes it needs to go back in order to go straight.

The lock #8: "Avoid ambiguity"

People avoid ambiguity because it results in the misunderstanding in communication. However, just keep listening to your dreams and playing with it.

The lock #9: "Mistakes are wrong"

In most of the case, a mistake can result in a very bad situation. However, a mistake sometimes helps you come up with some new approaches.

Reference:
[1]. Roger von Oech, A Whack On the Side of the Head

Comments

Popular posts from this blog

Coding Exercise, Episode 1

I have received the following exercise from an interviewer, he didn't give the name of the problem. Honestly, I have no idea how to solve this problem even I have tried to read it three times before. Since I used to be a person who always tells myself "I am not the one good at algorithms", but giving up something too soon which I feel that I didn't spend enough effort to overcome is not my way. Then, I have sticked on it for 24 hours. According to the given image on the problem, I tried to get more clues by searching. Thanks to Google, I found a similar problem on Hackerrank (attached link below). My target here was trying my best to just understand the problem and was trying to solve it accordingly by the Editorial on Hackerrank. Due to this circumstance, it turns me to love solving algorithms from now on (laugh). Check it out! Problem You are given a very organized square of size N (1-based index) and a list of S commands The i th command will follow t...

Strategy Design Pattern

For example, I have a program with an Animal abstract class and two sub-classes Dog and Bird. I want to add new behavior for the class Animal, this is "fly".  Now, I face two approaches to solve this issue: 1. Adding an abstract method "fly" into the class Animal. Then, I force the sub-classes should be implemented this method, something like: public abstract class Animal{ //bla bla public abstract void fly(); } public class Bird extends Animal{ //bla bla public void fly(){ System.out.println("Fly high"); } } public class Dog extends Animal{ //bla bla public void fly(){ System.out.println("Cant fly"); } } 2. Creating an interface with method "fly" inside. The same issue to an abstract class, I force the classes these implement this interface should have a method "fly" inside: public interface Flyable{ public void fly(); } public class Bird implements Flyable{ //bla bla public void fly(){ System.out.pr...

MS SQL Server Views

"Creates a virtual table whose contents (columns and rows) are defined by a query. Use this statement to create a view of the data in one or more tables in the database. For example, a view can be used for the following purposes: - To focus, simplify, and customize the perception each user has of the database. - As a security mechanism by allowing users to access data through the view, without granting the users permissions to directly access the underlying base tables. - To provide a backward compatible interface to emulate a table whose schema has changed." [1] Beside that, our team used view in order to improve the performance of our web apps when a database has a very complicated relationship between its tables by using ORM Frameworks such as Hibernate. Example code: --create CREATE VIEW placeholders AS SELECT EMPKEY AS empkey, CONNUMB AS connumb, EMPNBR AS empNbr, ACEEMPN AS empFirstName, ACEEMPFN AS empLastName, EMPNAM AS empFullName, ...

Java 8 - Using Functions as Values

The following is a series of posts about "functional programming in Java" which is the result of my understanding by reading the book " Java 8 in Action: Lambdas, Streams, and Functional-style Programming, by Alan Mycroft and Mario Fusco ". 1. Why functional programming? 2. Functional programming in Java 8 3. Java 8 - Using Functions as Values 4. Java 8 - Persistent data structure In general, the phrase "functional-style programming" means the behavior of functions should be like that of mathematical-style functions - no side effects. In programmers' point of views, functions may be used like other values: passed as arguments, returned as result, and stored in data structures . That means we can use the :: operator to create a method reference, and lambda expressions to directly express function values . For example: //method reference Function<String, Integer> strToInt = Integer::parseInt; //lambda expression Comparator<Integer...

Performance of a Data Structure

Why data structures matter The fact is that programs are all about processing data. Data structures are referred to how data is organized which affects the time of executing a program. How to measure the performance of a data structure In order to measure "how fast"/efficiency/performance of a data structure, we measure the performance of its operations. There are four basic operations including reading , searching , insertion , and deletion . A pure time consuming is not used for the measuring because it is not reliable depending on the hardware that it is run on. But instead, we use the term time complexity which refers to how many steps an operation takes. An example of how a single rule can affect efficiency Let's compare two data structures: Array and Set (with N elements). 1. Array - Reading : 1 step (because the computer has the ability to jump to any particular index in the array) - Searching : N steps (the worst case with linear search) - Inserti...