Programming insights to Storytelling, it's all here.
It was 7am when my phone rang. Instead of an alarm, it was my recruiter disturbing me from a pleasant dream. It was too early for a phone call or to be caught off guard, so I did not answer. I went to take a shower and get ready for the day. On my way to work, I listened to the voice mail she had left.
Every year there are new tools to help you get started with web development. And every year they pile up and make it harder for someone new to get started. It's easy for a veteran programmer to recommend a bunch of tools and libraries to get started, but they forget the fact that they had spent years learning about their tooling. But if you are new, do you start with React? Or is it Angular? Do you learn jQuery? Or do you go straight to Vue? Can you do anything if you don't have npm installed?
Richard Feynman is still considered one of the greatest teachers that ever lived. He could explain complicated scientific subjects to the layman. His method, unlike most scientist, was to use simple words to convey complex ideas in a way we can all relate. He spoke in a human language.
As a web developer, my peers have always assumed that I know a weird little trick to game Google search results. Something I would type in a dark themed code editor that could SEO any website. They believe it's my secret weapon to make money online. Not just friends and family though, I recently talked with a client that assumed I just wanted more money. So they kept naming dollar figures, proposal after proposal, each bigger than the previous, until I would say yes. I said "No". I wasn't being a jerk. I just couldn't do it for them. I don't think anyone understood what they are asking me. Let me explain.
Right in front of you is a car. You need to contact the owner of this car right away. Your reasons could be that it is blocking the way, or the lights are on, or it is about to get towed. You need to let the owner know right away. But there is just no way for you to contact them.
Premature optimization is the root of all evil. But not optimizing your queries is a major bottle neck in your web application. During the building process, queries are written and rewritten. It would be cumbersome to write a query, index the fields needed for it, change the query for new requirement, drop the old index and create a new one. Even a simple blog like this one has more then 50 queries that have to be maintained. My strategy is simple. I don't index them right away.
Today, this blog is 5 years old. I started it secretly on April 1st, 2013. It wasn't something that I thoroughly planned. One day, I woke up with something to say, and in one sitting I wrote the first 5 posts. I had nowhere to post it. So I bought a domain name, built a quick CRUD engine, (which powers every website I build now) and posted them.
There is a story about a man who was walking around all day with his donkey. At mid day he was tired and decided to nap under a tree. Only, when he looked in his bag, he had forgotten the rope to tie the donkey to the tree. If he slept, he risked waking up to a missing donkey. A stranger passing-by saw his frustration. "Why don't you pretend to tie the donkey with an invisible rope?" the stranger said. "The donkey will not know the difference." So the man, who was too tired, followed the stranger's advice and fell asleep. To his surprise, when he woke up, the donkey was still there by the tree. He then decided to continue on his journey, but the donkey wouldn't move. Try as he may, the donkey just refused to move. So he went around the tree, untied the invisible rope, and the donkey finally followed.
I was working on a web app recently and I noticed that every time I clicked on a link, I couldn't tell if the next page was loading or not. On desktop browsers it was obvious enough with the browser queue, but not so much on mobile. So I decided to add a loading bar to let the user know.
If you count just the lines of code, CSS is probably the language I type the most in. Yet, it is also the language I share the least about on this website. So this is an attempt to fix that. I created a set of three state buttons that you can customize to your liking.