Internet Powered Nonsense

Published:

by

Ah, the Westinghouse Radio Hub. An Internet connected radio, cd player, and weather station. I was unboxing merchandise at an old job when I arrived at this box. I stopped on my trail and contemplated putting it aside for myself before any customer sees it.

In our upcoming sale, I spied on customers eying my device. They picked it up, read through the plethora of internet connected features, then put it down. I made several prayers that were all answered because every single one put the box back on the shelf. When the sale ended I used my 10 percent employee discount to get this marvel of technology.

At home, I placed it in my closet then somehow forgot all about it.

A long time later, I was rummaging through my closet when I found this box buried under old clothes. I stopped on my trail again, interrupting whatever else I was doing and opened the box. How I wish I had a picture of this device to show you. It’s nowhere on the Internet.

When I took it out of the box, I was stunned by the elegant design. A silver cylinder with flushed speakers on each side behind a soft black fabric. On the top, the disc reader opened futuristically on the press of a mechanical eject button. On the front a tiltable 5 inch back lit LCD screen. Jony Ive would have been proud.

But then, my first disappointment. This internet connected device wasn't wireless. You had to plug an ethernet cable to enjoy its promises. But this was the 2000s, of course I had an unfathomably long ethernet cable laying around somewhere.

Plug it to the router, plug it to the power, hit the power button and the screen lights up with one word: Initializing.

When you have waited long enough, the screen changes to Network error. Must be a problem with my router of course. I unplugged it from the router, then connected it directly to the modem. Nothing beats raw unfiltered Internet data.

Initializing... Network error.

I unplugged it from the modem, then plugged it back on the router. I loaded my network debugging tools and started my investigation. The domain it was attempting to connect to was no longer resolving.

So much for the Internet features for me I guess. At least it was still a Radio and a CD player.

Let's tune in to the radio. Automatic station search. Apparently, that requires the internet as well. After you wait long enough, Network Error.

Well let's go with CDs then. I was a big fan of Linkin Park. Pop the disc housing open, Hybrid Theory goes in, close it and the cd audibly starts spinning.

Album info... Oh you don't have an internet connection? Network error it is. Then the disc stops spinning.

I spent months trying to get this device to work. It became a night project where I'd sink my precious time that could have been better spent sleeping. The device served as a conversation piece on my desk for some time. But one day, out of spite, I threw it in the garbage.

Can't have long lasting hardware with Internet Powered Nonsense!

Auto

Published:

by

The job post is auto-generated, the interview is auto-generated, and the final decision is automated. Every step of the way is automated, from the job post to the final decision, to auto scale the hiring process.

No human required.

It’s only natural that candidates outsource the process, automate themselves into a company, and get a ping on their phone when they land a new job. I check my inbox and I see an email from a real company looking to hire. I plug the content into chat gpt and it generates a response that places me on a schedule to interview.

My lines are fed, the video feed is analyzed, and I am auto-rejected. It’s only a matter of time until my video feed is auto-generated, then I will only get a ping on my phone that will tell me I have a new job with a steep increase starting Monday.

Great dumb questions

Published:

by

Great questions are dumb questions in disguise: they have been refined.

I often tell programmers to formulate their questions to get yes or no answers. The first iteration of programming questions never make sense. They contain unnecessary elements, they contain frustration, they are designed to fail. That's exactly how they are supposed to come out.

The trick is to take the time to refine the question. Trim the fat, go straight to the point, state what your expectations and your result. A well written question answers itself.

Chat is artificially broken

Published:

by

In 2011, I joined a company and one of the first things my manager asked was my chat email. I sent them my yahoo email. Few minutes later, everyone in the team had added me to their chat. My coworkers all used a different handle. There was AIM, facebook, google, yahoo, and some that I don't even remember. After a few months working at the job, I switched to Empathy on Ubuntu. I didn't have to let anyone know, I just contacted them directly from my new handle.

Chatting and the protocol that makes it possible was solved.

But today, I face a new challenge when I meet new people. They ask for my Snap, request my Instagram handle, or "Are you on messenger?" I don't use any of these platforms for chatting. They may request my presence on Facebook, WhatsApp, or some other obscure application that I am not aware of. The only way I can communicate with them is if I join whatever walled garden they are part of.

Interestingly, SMS remains the one sanctuary where we can communicate without the constraints of exclusive platforms. Yet, SMS remains under constant threat, with tech giants like Google casting a long shadow over its future.

Also as a bonus, I have a record of my chat history in every company I have worked for. It's great material if you are writing a book about work. But not so much since everyone switched to using Slack.

Is it time to ditch client-side performance?

Published:

by

I don't know if it's because I'm becoming older (in developer age). One of the hardest things I have to do is dismiss front end performance. I came of age in a web where everyone had a crappy device that could barely run JavaScript. Add too many lines of code and the device crashed. Add several libraries and the page visibly crawled as you scrolled. Load that extra script and now you have excluded all IE8 users.

After each deployment at work, I opened and tested the pages on IE tester. An application that could run several versions of Internet Explorer. Then I'd open the pages on my HTC Evo mobile phone. Other devs will test on their own respective device. We made sure it worked everywhere. It was a pain.

Today, I'm still afraid to deploy JavaScript code because it might fail in an unexpected manner on some device. On my brand new phone, some pages still seem like they are loading with difficulty. Especially those built with React. But one thing has changed in the way we deploy our code. Almost nobody cares about how our code performs on the client side.

In fact, I worked with several companies that have no way of knowing how their website is performing. They don't check which browser their customer uses, and they don't track performance in any way.

Is this it? Did devices evolve in a way that we don't need to check on them anymore? Maybe so, but I'm still skeptical.

The lullaby turned into a nightmare

Published:

by

I've come up with the perfect combination of sounds to get my children to sleep. Noises.online was the top website I visited for two years straight. I'd start with light rain drops. Then I'd add a bonfire, with the sound reduced to almost nil. I like the occasional cracking, almost like splitting a small branch. Then, I'd add the ocean waves.

Play this combination just right, and the twins fall asleep. But when they are asleep, I want to hear when they wake up, so I gradually reduce the volume and eventually turn it off. It came to a surprise one day when I turned it off and the sound kept going. I didn't pay too much mind, I barely got any sleep so I just went to bed exhausted.

The same thing happened again the next day. I turned off the sound, but it kept going anyway. In fact, the ocean waves were even louder now. I assumed that I had inspired the neighbors with the beautiful sounds. They started using it to put their kids to sleep as well.

Again the next day. This time, the ocean waves were crashing down the shore. It was very loud, but who complains about ocean waves? I went outside to see who was playing it. I couldn't tell. The sound was coming from everywhere. I went to my wife and asked her. "I don't hear anything" she said and went back to sleep. I thought she had gone deaf. At this point it was turning into noise. It felt like I was right there by the beach, only the breeze was missing. The volume was dialed to 11.

I ventured outside once more to investigate. A neighbor stood at her door, scanning her surroundings, clearly puzzled by the persistent noise. As the unbearable sound continued, I retreated indoors, grabbed my earphones, and started playing my favorite audiobook, 'The Lord of the Rings,' an epic rendition complete with immersive sound effects. I drifted into sleep between Bilbo and Gandalf sitting by the window, looking west onto the garden.

I woke up in the middle of the night, my earphones tangled on the floor then I noticed something. Right there is the bathroom, the ocean sound was just as loud as in the bedroom. I walked through the living room and into the kitchen. It was just as loud. I covered my ears, and to my surprise I could still hear the ocean waves crashing onto the shore. The sound was not coming from outside. It was coming from inside of me. I laughed.

I was glad to have figured out where the sound was coming from, but it was unbearable. Imagine hearing a constant sound, with the swashing of water and crashing. Non stop. All day, all night. I could no longer sleep. I went to the doctor and all they told me is that it was going to go away eventually. It took several weeks before the intensity of the sound went down. After a couple months, it went away.

It was a terrible experience. Tinnitus is terrible. I'm so relieved it went away.

Nothing to say

Published:

by

What do you say when you have nothing to say?

Nothing!

Silence is not void to be filled. There are moments where words need not to be uttered. There is a difference between silence and awkward silence.

Awkward silence is not a situation where a person runs out of words. For the most part, you find yourself there when you think you need to lead a conversation but you can't find what to say. You feel like you have to entertain the other party, but you can't come up with a cool subject on the fly. If you put yourself in this position, the only way out is to prepare yourself.

One of my favorite speakers is Alain de Botton. But if you've listened to 2 or 3 of his seminars, you've listened to them all. As natural as each of his talks sound, it is the same idea, the same jokes, and all in the same order. He doesn't stutter or run out of things to say because he has rehearsed what he is going to say.

So if you are going to meet someone new, find yourself as a host, find yourself as the entertainer. If you want to carry a conversation, don't wait until you find yourself in an awkward silence. Rehearse.

How to successfully fail at everything

Published:

by

To fail at everything you want to do, take a moment and think about the thing you want to do. It can be anything. A presentation, launching a product, or even taking a class. Great.

Now, imagine one thing that can go wrong. Maybe your slides get accidentally deleted and you can't continue your presentation. Right after you launch your product, you discover a similar product with a similar name, and a better offering. Or the class turns out to be too hard and you don't understand a thing. Great!

This future you are imagining is really not working for you, and would likely be embarrassing. So the next step is to take that future and bring it into the present. Be embarrassed by your speech today. Be frustrated about the product today. Feel inadequate about your class today.

You will feel the stress and emotions of these failures today and chances are you will give up right away.


I hope you are not actually following my advice, these are terrible things to do. But that's a pattern I see everyday. I see people feeling inadequate at their job before they do something inadequate. I see people skipping class because they think they won't understand it anyway. I see people wanting to quit their job because they think their boss is going to fire them anyway.

These problems come from imagined scenarios that will most likely never happen. But we are consuming all the frustrations that come with the problem well before the problem occurs. Do not prepare to be hurt. In fact, there is no such thing as preparing to be hurt. It's not like you will feel better after.

Only prepare for things you can change. If you think someone might have the same product, do some research before you build the whole thing. If you think some technical issue might happen during your presentation, do a mock presentation, rehearse. If you think the class might be too complicated, look through the prerequisite, learn the material first. Prepare for the things you can change.

Avoid trying to predict a future. In fact, if you want to be wrong, try predicting the future.

But if you really want to fail, then suffer the consequences of imagined scenarios today.

When she stepped on the stage

Published:

by

A presentation among friends. A presentation to share insights about the company. A presentation to help us make better decisions as leaders. This was the theme when the engineering managers gathered around for a few days to help propel the company into a better future.

I couldn't help but notice that there was only one woman in the room and she fit in like a hand in a custom made glove. She conversed with everyone, laughed at jokes, and teased the new guys.

One at a time, the managers stepped on stage and made their presentation. They called each other names, dropped f-bombs, sprinkled jokes left, right and in between slides. The audience was asking silly questions. It was fun, it was entertaining, but I can hardly tell you what the meat of their presentation was.

Most were friends before they joined the company, they knew each other outside of work. They were comfortable. They played well together. They were friends. But then the girl stepped on stage. The one and only girl in the room. Was she going to follow in the same tradition? Was she going to be entertaining? After all, she was also friends with everyone. She was part of the crew.

The moment she stepped on stage and opened her laptop, her eyes narrowed. Her facial expression dropped like she had been wearing a mask all along. The crowd was silent and focused as she made her exposé. She was interrupted a couple times with questions, but handled them with grace. She broke down the problem, repeated the argument, then explained how it can be solved with the method she was presenting.

In other words, she killed it. Unlike her colleagues, she was not trying to test her comedy routine on us. She didn't make a single joke. It was entertaining because we learned a lot from her. It was fun because she offered a solution to a problem we were facing as managers. It was professional because she didn't feel the need to drop f-bombs.

In the past, I've spoken about the challenge of being the only black person in every team I join. I recognize that women also face their own set of unique challenges. Especially in Tech. But I was grateful for this change of pace, for this simple yet new take that my colleague offered. While all of us were used to the comedy routine presentation, a fresh take brought us back to basics. If everyone in your team looks and talks just like you, it may be time to start changing your hiring process.

Ethics in tech

Published:

by

When I hear ethics in tech, I'm reminded of movies where the stakes are high. If the protagonist makes the wrong move, the whole planet will pay the price. The right move means being selfless and sacrificing all the riches in the world for the sake of humanity.

Reality is more subtle. Violating all the moral ethics in the world means adding two pesky lines of javascript in the code. It means creating a field in your database called “delete”, but never deleting the user data. It's not as dramatic, yet just as unethical.

Ethics is a few lines of JavaScript, a database query, a third-party SDK. And it boils down to one thing: Revenue.