Crudcast Episode 2

A few weeks ago I started a podcast with my friend Ezra. You might know him as @xolubi on Radar.

We share our thoughts on the Nigerian Tech ecosystem, talk about what we’re doing and fight since we rarely see eye to eye. We call it the Crudcast.

On Episode 2 we had our first guest Lanre, the CEO of Delivery Science. We talked about how he got into programming, what Delivery Science is all about, what it’s like being a start-up in Nigeria, doves and wolves, how I’m probably not my dad’s favorite child …

Honestly it’s hard to completely capture the essence in a post but I had a lot of fun recording it so check it out šŸ™‚

Limit Yourself

“You can tighten your circle or boa constrict” – Lupe Fiasco

I think Lupe’s advising us to keep a small manageable network of friends or get crushed trying to maintain so many connections.

Setting a limit is the valuable take-away here.

It’s the answer to why we have better hardware and software than our predecessors yet web apps are so inferior.

Sure, they look better, but are they significantly better structured than older software?Ā Are we making the most of the extra processing power from better hardware to do more or did we loosen our standards to accommodate higher levels of indiscipline the newer hardware can tolerate?

Continue reading Limit Yourself

ES6 Generators Are Nothing Magical

Have you ever seen before and after makeup pics?

Source: Vadim Andreev

The difference is often so startling it may be hard to tell they are the same person at first glance!

The truth is that even the most dramatic changes are still the same person. The appearance may have changed, makeup tricks may have altered the perception of their facial structures and features but at the end of the day they’re still the same person.

ES6 Generators are no different.

Under everything, ES6 Generators areĀ still a loop structure that allows you to determine if you want to go to the next iteration. In older loops you use break;Ā  with generators youĀ useĀ generator.next()Ā .

Continue reading ES6 Generators Are Nothing Magical

Nothing Magical

 

“Any sufficiently advanced technology is indistinguishable from magic.”

There’s little I’ve found to be more true than Arthur C. Clarke’s famous quote when it comes to building software.

Left right and center you’re tempted with all sorts of magic. Frameworks and languages promise you thorough solutions with very little input on your part. “Trust in meĀ and all your problems will melt away”.

images (2)

Continue reading Nothing Magical

Fail Loudly

Have you ever been in a situation where bae is upset with you but is refusing to tell you what’s wrong?

images

“Honey are you ok?”
“Yes”
“You don’t look fine. Is something wrong?”
“No”
“You’re doing that one answer thing again”
“Ok”

That’s exactly what it’s like when you’re working with technology that fails silently.

On the surface everything looks fine, but if you’re paying attention you can tell something’s not quite right. Unfortunately it isn’t giving you any hints about what you’re doing wrong.

Yesterday I was helping a co-worker migrate a site to WordPress.

We’d successfully converted the layout to a WordPress theme and got it working pretty quickly, so we started migrating the hard-coded sections into the content management system.

We used the famous WordPress loop to iterate over the data, set a template to display it and ….

Nothing.

No content. No error message. Nothing.

We struggled for two hours, trying different loop variants and methods for changing the query, but to no avail. We systemically disabled scripts and eliminated imported stylesheets that seemed remotely relevant. No dice.

In his frustration, he suggested I delete a random line that was responsible for bringing in the featured image.

To my absolute amazement, it worked!

There’s every possibility the error was mine, so I’m not trying to pawn the blame off on WordPress or anyone.

My issue is that WordPress didn’t tell me what I was doing wrong. It rendered everything til the failure, then sent the incomplete template to the browser.

It should have included a message when it hit an error. Even a cryptic message would have helped us narrow down what isn’t wrong, so we can reach what is wrong by process of elimination.

If you’re responsible for building anything, please make failures obvious. Your users will thank you.