I have had the chance to play around with flutter (and dart) during last holiday season & as a practice made a small app that did basic crud. I first heard about flutter & dart around two years ago. At first I was just amazed how easy it was to setup. A couple of commands & I had a native iOS app running on my machine however, soon I started to look for trouble.
Visual & Functional Unity
There has been a popular paradigm that basically says the code for visual representation of elements & functionality of the same elements shall be separate. That’s why we use CSS/HTML with JS to have a program running. I grew up under these sorts of assumptions & pretty soon after using flutter, it was clear it won’t be a tool I am going to use due to the lack of separation between these two aspects.
Luckily after a while I developed a sense for questioning my most valid assumptions & this matter of separation was no different. As far as I remember some of the reasoning for using two languages instead of one unified one were directed towards team. It was assumed that every project will be done by a team of persons who each focuses on one aspect. One person is a designer, another frontend developer & so on therefore, separating the visuals made it easy for each person to focus on their own part without going through the journey of understanding the whole stack.
I have had experience working with other individuals & alone throughout the years working on many projects. The mentioned assumptions about the separation of languages was never a valid one. I did not have the chance to work with a graphic designer who could understand HTM/CSS. Let’s assume I was even wrong about the mentioned assumption meaning, the reason for this separation goes beyond that & deals with something else totally. Let us look at CSS closely.
If CSS’s job is to deal with visuals only, why there are state management to some extent also is handled there? features like
:hover or animations & recently so much more things have been added that I have lost track. The boundaries were certainly crossed.
The other direction were already there meaning, visual manipulation through JS code. So if one crosses the other’s boundary why are they separate anyways?
Asking these questions eventually led me into acquiring a taste for flutter. The trouble I found initially was not with the framework but with my own thinking process that was based on the general rules followed by the community & the whole industry. Everything I mentioned here applies validly to other stacks such as Android & iOS development or in fact any other native development stack that I had come across. They all use some sort of XML like structure for the visual elements that is connected with the functional portion of the program.
I wanted to write some sort of a tutorial or a guide together with the app I created as a help for those who are eager to try flutter out but I realized soon after there are far better materials out there. If you also come from the same background as I do then I would encourage you to think about your assumptions.
Flutter did a brave thing by bringing new ideas out there. I am grateful to all the individuals who spent their precious time working on it to make it easy to use & increase productivity!
Why is that sometimes we do something that we are not supposed to? I grew up in a Muslim country which from early on emphasized on the idea that Satan was always present & he can get under your skin and make you do things. Some people even used this argument as a get out of the jail free card when they were exposed to their so called “sin”.
There is something deep there regardless of one’s religious or spiritual backgrounds. The other day I heard an idea that our thoughts or patterns of thinking can just be regarded as living entities meaning. Considering this to be true, the Satan’s persuasion does not seem so unrealistic. There might just be something at work and different individuals or sources interpret it through their own lens of language.
Steven Pressfield talks about “The Resistance” in his wonderful short book “The war of art”. Although the characteristics of The Resistance & the task of Satan (just for the sake of argument) are not the same but the fact that we give these entities some sort of human qualities are very much alike.
Now let’s put that idea aside & think about the essence of the experience when we are faced with moments where instead of retreat, we advance our way forward. There seems to be an unusual urge for novelty & surprise. In the beginning of a school year we have all the knowledge about exam periods & subjects that are required but we still go out of our ways & repeat the same last minute study routine.
It is false indeed to presume one could discover all the underlying elements of these puzzles while we have no idea about the tools of our perception namely our consciousness. Perhaps that is the very reason why everybody creates or follows a model to “get it done” instead of indulging in questions that might never be answered.
Yesterday I heard an amazing definition about sacrifice from an individual who explained how her mother raised in a way that the mother had a terrible life so that her daughter could have a normal one.
Sacrifice is trading present for the future.unknown philosopher
To me not compare yourself, instead do to yesterday of you
Consider not what tomorrow will be, only yesterday is true
Stick not to your ego too much or you end up feeling blue
Unexamined attachments’ outcome will be a world of goo
Seek the company of those wiser than yourself but remember
Be kind to everyone else from January till the next December
When you are surfing on the waves of Twitter, Facebook or YouTube
Be mindful sometimes after all every master was one day just a n00b
Where would you step your feet when it’s raining? You definitely wouldn’t want to be walking on the grass.
If you like your shoes & have more matters to worry about than cleaning them, then you’re looking for a hard surface such as asphalt or stone paved alleys.
Hard & Strong are some words we use to describe objects as well as characters of human beings. Rain is great so is momentary success. It seems being strong in peace time is not recommended as much as war time.
There’s a beautiful line at the end of The Godfather III that goes like this :
Power wears out those who don’t have it
I could not have put it more elegantly.
Sometimes things just don’t go as they were perceived to go no matter the anticipation that we put into them & the planning involved. Sometimes things happen just to test our faith. Sometimes we take too many breaks which end up breaking us.
In those moments it really does not matter what clothes you are wearing or what food you’re eating. It all comes down to essentials. The matters that matter are the the ones that don’t seem to matter at all. I am talking about our mindset. It is nowhere to be seen because it is the very tool that is used to see? is it not ironic?
Knowing it & putting it into practice is one of many sources of Intelligence. Currently the Artificial Intelligence systems that are being developed in one way or another make mistake, learn from the mistakes & self correct then repeat. The point is in re-writing the rules because that is what makes them different than the good old programs that operated mostly on conditions set by the programmer.
Our lives work the exact same way. One can always say, I am not in the right mood for this right now or he can find a way to put himself in the mood perhaps not in the moment but use the knowledge to prepare oneself for the next moment. It is often referred to as the chicken & the egg equation. Which one comes first?
Our inspiration from nowhere or the calling of something we started to accomplish be it even as minor as to have thought of?
One can ask & philosophize to infinity or One can just do.
Do one thing & do it good. The world will become a better place as a result.
A software developer is bound to look for bugs and fix them. Sometimes they’re so dumb that when one realizes how many hours if not days were wasted for a syntax error or some null value somewhere in some statements.
I didn’t write a post yesterday for the fact that I was deep into integrating Deezer with Ma’DJ and during this process I lost many hours to realize at the end that I wasn’t doing anything wrong. The SDK only allows full playback on a desktop browser not mobile. I double or million checked my setup and created even more virtual environment to test but same result.
If I could take a lesson from this experience it’s that, when working with third party tools or APIs, one must be confident in their effort and educate themselves on the tool and its capabilities before jumping to conclusion on the inefficiencies & credibility of one’s solution.
One fascinating lesson I learned from the wisdom of Peter Thiel was his suggestion regarding our time perspective. If you have an software or service idea, what would it look like in 10 years?
when you have an answer for that ask yourself this, can it be done in 6 months? or even better, why can’t it be done in 6 months?
I arrived at this a bit late but It’s life changing. What ideas do you have & not pursuing because of its timeline?
This image & the concept behind it perhaps has become a cliche to the reader but I could not find anything better in a short time to represent my point.
How often do we go through our lives without noticing the main thing that is causing a lot of miseries & starts the domino effect? We call ourselves names to justify that the reason for not noticing it is lack of understanding.
Sometimes it’s none of that at all. It’s something we carry all the time & it’s impossible to detect. Not because we are not smart. Not because we are careless. Not because we are just not good enough.
Sometimes a good friend can show us their vision of the world so we can compare but it seems we tend to befriend those with the same perspective so that chance rarely if ever occurs.
Question your assumptions. Don’t leave the easy or obvious ones.
I have dedicated myself today to Ma’DJ. I’m so excited with the new version and can’t wait to release it this weekend.
Learning to learn has become a skill of its own nowadays due to the inefficiencies caused by the factory model of the system of education in almost all countries. People who attended public schools can sympathize with this notion although it does not stop there and goes well beyond private school or even higher education.
Learning becomes obedience in those circumstances. One must obey what one is told because the teacher is out of ideas. The language used to describe these roles do tell us a lot about the ideas behind them. Take “master” for instance, a word used also in relation to slaves or somebody totally other than the one in contrast.
It seems that for someone being good at something it means someone else must be bad at the same thing. For a master to be present in a room, there needs to be pupils so the master is identified easily. It might sound very simple or strange to read these words but if applied to other situations, the insanity could become visible.
Does a good music sound good because the listener has heard a lot of bad music? Or does it sound good regardless? Somewhere in between?