Summer

Published:

by

summer ice cream

Does it feel like summer? I'm not sure what summer is supposed to be. On TV, they show people going to the beach, eating ice cream, bathing in the hot sun. I was born and raised in a desert. It has always been hot in my life. I've always lived a couple of miles from the beach. For some reason, I don't associate the heat and sand between toes with Summer.

My summer was that time you didn't go to school. You woke up, brushed your teeth, then went on to play. You didn't think about school or homework all day long. And your mother doesn’t have to chase you to come back home. It was summer.

Now that I am not a child and don't have to go to school, what is summer? My kids are one year old. They are happy if I take them to the balcony and play with them. They are not asking for much yet. But somehow I feel it. I feel like it is summer. I don't work as much right now. I don't even write on the blog anymore. It's like this inner feeling in me that makes me slow down with work and lets me enjoy my time.

It's not the sun, the heat, the ice cream. It's the free time I get.

It is summer.

Favors aren't win win by nature

Published:

by

When you read about success or entrepreneurship, you will inevitably read about favors. The common premise is to only do favors that will advance your own cause. Only give your time to those who can give you back something in return. Do something for them now, that will turn into a benefit for you later. These are the opposite of a favor.

A favor is something you do without the expectation of reward. Anything else is a paid service.

You do someone a favor to help them. You use your precious time to do something for someone else. You inconvenience yourself a bit for the sake of someone else. That's what a favor is.

When you do something for someone only when it is convenient for you, that's not a favor.

If you focus on the exceptions, you'll never program

Published:

by

You can't use regex to parse HTML. If you want to match all valid emails with regex, this is the most valid pattern:

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

If you use the latest JavaScript features, chances are it will fail many devices.

If you want to properly display people's name, you'll have to support Unicode. If you plan to use toUppowerCase() or toLowerCase() to capitalize a name, you have to think about the names that are not written in ASCII.

If you want to support emojis, you have to update all the functions that check the length of a text. Does it support counting multi-byte characters?

If you write in Object Oriented Programming, will you switch to functional to save memory?

If your website runs slow with five thousand database records, how would you deal with 5 million records?

If your users turn off JavaScript, can they still use your website?

If you focus on all these exceptions and the many more I haven't included, chances are you will never start programming. The key is to build stuff anyway and face each problem as they come to life.

Honesty can only get you so far

Published:

by

The first time I was featured on BBC, I had hundreds of journalists contact me. Only a few decided to publish my words after we had spoken. I realized that many of them came to me with ready made quotes. They were hoping I would repeat those words so they can quote me:

  • Journalist: So would you say that "every company should avoid using AI like the plague?"  
  • Me: No, I wouldn't say that.  
  • Journalist: So what would you say companies should do about AI?  
  • Me: (long explanation about how we are all discovering this together and we are learning as we go)  
  • Journalist: I see, so they should avoid it at all costs because we don't understand it.
  • Me: ...sigh...  

Being honest and telling the truth is rarely dramatic. For example, if you correctly label some systems as Automated Systems instead of AI, few people will want to talk to you. The truth is more down to earth, it's less flashy, it is the truth. But the truth is not sexy.  

I wanted to avoid this mistake this time around. A new round of journalists called me after my latest article on BBC. But, what is the alternative? If I don't tell the truth, what do I say? Do I blatantly lie? What's the alternative to dry, yeastless factuality?

I found out that if you don't tell the truth, the alternative is not to lie. Rather than tell them that what they are referring to as AI, is merely a sophisticated stack of if-and-elses, I'd tell them about the utility of such software. With racial tensions, when they ask if I had been bullied as the only black programmer in my team, my answer is to explain the effect of being the only black programmer. There are many ways black people have been treated unfairly without getting lynched. In itself this is a much more interesting story then bullied vs not bullied.

When honesty can only get you so far, the alternative is to stop lying.  

How to spend a billion dollars

Published:

by

August 3rd, 1492. Christopher Columbus left Spain for what was an accidental journey to America. This was 528 years ago or 192,852 days ago today.

If you made $5,000 a day, every day, weekends included. Or $152,000 a month, Or $1.82 million a year for all this period of time. You would still be 35.7 million dollars short of a billion. That's 14 and a half times the lifetime income of the average household in the United States.

Yet, the population is rarely in favor of a tax on the ultra-rich. There are only 630 billionaires in the US. The odds of joining their ranks is 1 : 520,634. At the very least, we can say that the odds are not in our favor. In the US, the poor sees themselves as temporarily embarrassed millionaires.

We tolerate unfair treatment at work because we think it's temporary. We live with the stress of no health insurance because eventually we will make it big. We take two or three jobs because the end will justify the means.

What happens if things don't change? If your condition doesn't improve at work. If you never get health insurance. If you lose your job. Then what happens?

If you are a bank, the government hands you money so you can continue to operate. If you are an individual, you are on your own.

We are not temporarily embarrassed millionaires. We are at the butt-end of a system that will celebrate us, but never reward us.

Time to think

Published:

by

In 2032, a camera will point at an exit door in a small clinic, waiting for a patient to come out. The camera will be held by a friend of this self appointed news anchor on TikTok. He will stream it live to his followers who will be watching from all over the place. Some will be in bed. Some will on the toilet seat. Some will be in class ignoring the teacher in the distance.

The notable thing about this moment is that millions will watch, but it will be mostly ignored. Behind the clinic's door would be the first patient to receive a prescription from a renowned doctor in the field of mental health. When the patient exits through the door, the anchor will ask him, "What does it feel like to be the first to receive this prescription?" All over the world, distracted teens will listen eagerly for the answer. Though they might not stick to the end. Some will swipe the video and move on to the next.

The patient will answer, "I don't know... weird I guess?"

But then the anchor will continue talking to his invisible audience, never mentioning the patient again. Turning it into a soliloquy as he walks away.

The patient will walk to the next building where he will present his prescription to a lady behind the counter. She will hand him a box to place his phone, watch, glasses, and any electronic device. Then, he will receive a small cup of water and a red pill to swallow immediately. She will then escort him to a furnished room with a window overlooking a lake. For the next few weeks, he would have to come back to this room, put away all his electronic devices, and spend some time alone.

The purpose of this exercise is not to have time alone, but to have time to think. Every day, we get less and less time to ourselves for thinking.

Standing in line means putting on headphones and watching a video. Driving means listening to a podcast. Running means listening to music or another podcast. Going to the bathroom means catching up on twitter. Boredom means watching endless streams on TikTok. There is not a single second left to think.

Eventually, the world will feel this crisis. And doctors will prescribe a note that will give us the luxury of spending a moment alone. This will be the only time we will have left to think.

We don't have a solution

Published:

by

This is one thing our generation will have to wrestle with. The world moves, people make decisions, we complain. But when it comes time solving the problem, we are stuck.

I've been thinking about Facebook, and all the political and social problem that came of it. It's easy to turn around and say that Zuckerberg is evil. Maybe he is planing for world domination, and getting people addicted to Facebook. But when he started building his social network, I'm pretty sure he didn't expect to be standing before congress explaining what the like button does. What's the solution? How do we fix social media?

With plastic killing animals and poisoning the environment, it's easy to shun anyone who isn't recycling. But then China refused to buy American plastic, we realize that all the plastic we were putting aside was just getting burned elsewhere. What's the solution? What do we do with the plastic?

We need cars for transportation. We need ships for trade. We need planes to travel. We need the oil to power them all. Along the way, each of those pollutes the air and steadily warms the planet. What's the solution for transportation, trade and travel?

We are in a pandemic now. We know that staying home, washing our hands often, and social distancing can help stop the spread of the virus. But how do you stay home when you can't afford food anymore. How do you keep a hygiene when you can't afford basic necessities. How do you stay home when you are getting evicted?

Blaming someone is the quick and easy way to make noise. But solutions are rarely offered. If you have a complex problem, the solution is often just as complex. If the solution can fit in a tweet, it probably didn't consider a thousand different real world scenarios.

Our generation has a big problem to wrestle with. We don't have tested solutions for most of our problems and we have a hard time admitting it.

You need two types of programmers

Published:

by

As any application matures, we need two types of programmers to maintain it. If you stick to just the veteran programmer that has years of experience, don't be surprised when they start saying No to every single request. If you only hire people fresh out of college, don't be surprised when your code becomes unmanageable one month down the line. You need both to have success.

It's important to have someone with experience to curb the enthusiasms of adding new technology. I've once worked at a place where the manager had replaced the entire team. He then embraced Microsoft Silverlight as the power behind their website. Six months later, most people on his team had quit. He needed to hire new people to convert the Silverlight project with something more traditional.

If he had any senior developer in his team, they would fight tooth and nail to prevent this.

After working for years on a project, I try very hard not to change any code. If it works, don't fix it. If it is not easy to add a new feature, I ask, is adding this feature worth it? This is where having new programmers help. They are not attached to the project as you are. They don't have feeling over the code you wrote. They are OK with making changes to core principles. This helps projects move forward despite us old geezers holding them back.

The power of Bureaucracy

Published:

by

Bureaucracy is a bad word. No one uses it in a positive sentence. But Bureaucracy is something that appears into any organization that grows large enough. It can become a huge pain point that prevents any work from getting done. But it can also be the reason any work is getting done.

Have you ever wondered how some organization look so bad and wasteful, yet they manage to survive in the worst of economies? The answer is bureaucracy.

Let's consider this question. How do you bring a whale home? I don't mean it figuratively. How do you get out of the house and come back with a full-grown adult killer whale? The simple answer is it is impossible. No one man can do this feat. Yet, that's exactly what they did to have Orcas at SeaWorld.

It all starts with filing for a permit. This single filing triggers a thousand different jobs each triggering other sets of paperwork to file. Eventually, maybe years later, a ship is set to sea to capture a whale. Once the whale is captured, other permits needs to be obtained to navigate through different seas and transport the mammal.

No one man can bring a whale home. But gather enough people, glue them together with bureaucracy, and you got yourself a whale at your doorstep.

Black Lives Matter

Published:

by

Every time a new video surfaces the same conversation happens. A black man is killed, and we have questions. It almost feels normal at this point, but I am still enrage. We get to debate. We get to decide what to do with the situation. We get to have a say. But the victim is dead.

It's as if we have to sacrifice a life just to have a discussion. Stop this madness. Don't shoot another black man again. Don't shoot another black woman again. Don't fucking shoot us again. Let's have the debate first.