iDiallo.com https://cdn.idiallo.com/images/id.png Web/Software development throughout the years - iDiallo.com https://idiallo.com https://idiallo.com <![CDATA[The Satisfaction of a ChatGPT Plan ]]> https://idiallo.com/byte-size/the-satisfaction-of-a-chatgpt-plan?src=feed Ibrahim Diallo @dialloibu #NoFollowUpNecessary

A couple weeks back, I was arguing that when people come up with ideas, the satisfaction is in the telling, not in building. And I was making this statement generally for idea sharing. But then, I also mentioned that people share their "ChatGPT plan" with me now. Rather than sharing the idea, they share the business plan on how to achieve the idea, entirely generated by AI.

This resonated with several people who emailed me saying they have experienced the same thing. So someone they know has an idea, rather than risk the potential humiliation from being told their idea is bad, they share it with their favorite AI. Sycophancy being the default behavior, their idea is always validated. Even if not, the AI might suggest slight adjustment to the idea and make it valid.

And at the end of a conversation with ChatGPT, the LLM, trying to be helpful, will always ask something in the line of: "Do you want me to create a step by step plan to achieve this?" The answer is always yes. Please tell me how I can make millions off my unique idea, and give me the details... make no mistakes.

The plan that comes back is elaborate. You can even ask ChatGPT to expand on specific sections. Now, this plan is what ends up being shared. Every single time I receive those plans and read them, I notice something funny. When I ask a question about a section, my friends have no answers. They have to go back to the AI to get an answer. Why don't they have an answer? Because they are reading it for the first time with me.

Basically, because the plan is long and elaborate, who has time to read it? The satisfaction is in the format and complexity, not in the execution of the plan.

They had an idea, ChatGPT improved it, then it built a plan and solution for the problem. So their idea now has a solution, and the solution must be correct because AI came up with it. The problem is solved, we can file it in a cabinet. Executing it was never the issue.

I'm sure there will be a psychological term for this. A term for getting a psychological reward from watching AI come up with a plan of execution for your ideas. This isn't specific to OpenAI's ChatGPT, it's a catch-all for all generative AI in the current market.

Even when I'm doing research for a blog post, I'm often caught in the "Would you like me to expand further on this?" questions that can easily lure you into a rabbit hole. I guess AI providers are learning from social media. In social media, the goal isn't to socialize with friends and family anymore. Instead, they are trying to keep you engaged for as long as possible, to expose you to the maximum number of advertisements.

With AI, the goal isn't to impart you with knowledge. Instead it's to give you the satisfaction of appearing knowledgeable by keeping you engaged with an AI while they expose you to ads and spend your tokens.

]]>
Sat, 25 Apr 2026 17:44:16 GMT https://idiallo.com/byte-size/the-satisfaction-of-a-chatgpt-plan?src=feed
<![CDATA[What Do You Charge For? ]]> https://idiallo.com/blog/what-do-you-charge-for?src=feed Ibrahim Diallo @dialloibu I've written about my journey to learn how to charge a fair price for building a website before. But even after landing on a strategy, there is still a question that remains unanswered. What should I charge for?

Are you charging the price for the product itself? As in, the very cost for building a website? Or are you charging enough to make a living? This question applies to any field, whether you are a consultant, a mechanic, or a private chauffeur.

I once worked with a company that built websites for non-profits. Their price tag? $35,000 for a standard WordPress site. Lucky for me, I got a first-hand view of their price breakdown because they were trying to expand their reach to smaller customers. They needed to figure out how to lower the price, so they invited me to the meeting.

Every single person in the room was involved in building the website. The standard time frame to complete it was 6 weeks. So, the manager named each person, their title and how much time they spend on the project. There were the designers, the copy writers, the consultants that gathered the information. There were the sales people who started the process, the 2 developers that included me. Everyone at the table was indispensable. Then he gave a ball park estimate of salaries using glassdoor standards, and the price jumped to 35k. It was completely fair.

"What if we have Ibrahim as the sole developer on this tier?" the director asked. "And we use only one designer, and we can reuse copy." The manager crunched the numbers and we were still going to charge 25k. "What if I don't get involved at all in this tier?" the manager removed the director's name from the list. He contributed only a couple of hours of work, yet the number went down to 22k.

I originally thought $35k was an astronomical amount for a website, but their breakdown showed it didn't even include profit. The salary costs alone ate up the budget. The actual profit for the company came later, from managing the marketing campaign.

This is Cost-Plus pricing. You add up what it costs to make the thing, and that becomes the price. It feels logical, but it relies entirely on your costs, not the value you provide.

But then, there is another way. The market-based pricing.

Take a car, for example. A vehicle costs $35k because that is what the market is willing to pay for that specific make and model. The materials and labor to build the car might be significantly cheaper, or on occasion even more expensive (Rivian) than the sticker price. The price is dictated by the buyer's perceived value, not just the manufacturer's receipt.

This method became clearer to me after I started consulting. When I would get a new client, I initially tried to price based on the old model of calculating what I thought my time was worth from a salaried perspective. I later found that the recruiting company I worked with was charging clients $78 per hour for my services, while paying me $40. The market (or the recruiter's markup) was valuing my time at nearly double what I was charging myself.

The tire shop

You know the mechanic is gonna charge you extra for that flat

Then, there is the wild card method. I've been the unlucky guy who finds himself out of town with a flat tire. I stop at the first tire shop I can find, and the worker doesn't size up my car; he sizes me up.

He decides how much to charge based on how desperate I look.

In those misadventures, the price has ranged anywhere from $20 to $150. I'm usually in no position to argue when I'm stranded on the side of the road. But how do they decide on those numbers? Are they making a profit? Or are they just charging whatever they think fills their quota for the day? This is opportunistic pricing, highly effective for a quick buck, but I don't think you can build trust like that.


All these methods for charging have their pros and cons. My goal isn't to tell you which number to pick, but to encourage you to decide how you pick that number. My advice, in the simplest terms, is this: Be consistent.

Once you choose a method, it becomes your standard. Do not deviate. If you charge based on value today, but switch to charging based on your mood tomorrow, your clients will never trust your pricing. They will always wonder if they are getting the "real" price or just the price you felt like charging that morning. They will start looking for other consultants.

Pick the method that works for you, stick to it, and let your clients know exactly where they stand. Personally, I apply a value based pricing with my clients, where the cost is tied to their specific needs and the time required to meet them. It's a method that requires trust and communication, but it can be the most fair and profitable for both parties when applied consistently. When they end up with an obscene bill, at the very least they are prepared.

]]>
Sat, 25 Apr 2026 05:00:00 GMT https://idiallo.com/blog/what-do-you-charge-for?src=feed
<![CDATA[How to Come Up With Great Ideas ]]> https://idiallo.com/blog/how-to-come-up-with-great-ideas?src=feed Ibrahim Diallo @dialloibu There's a story about an art teacher who divides a class into two groups. The first group is given one task. Design a single, perfect pot. The second group has a different instruction entirely. Make as many pots as you can before time is up.

The first group measures, plans, and deliberates. They sketch ratios, debate proportions, and handle the clay with care. They have one shot, so they treat it like one.

The second group just makes pots. Terrible ones. pots that collapse on themselves, crack at the base, and lean sideways. They don't stop to mourn any of them, they just start the next.

When time expires, the results are revealed. The first group has a pot... technically. But it wobbles. Before the session is over, it breaks. The second group's first pot is a disaster. But their second is better. Their third, better still. By the time they've burned through a dozen attempts, they've internalized something the first group never had the chance to learn. What doesn't work. Their final pot is flawless

The second group won not because they were more talented, but because they were given the opportunity to experiment and gain experience.


When it comes to writing, it's tempting to believe you need the entire story mapped out before you begin. That you need to fully understand the premise, complete the research, and know the ending before the first sentence. That's never been true for me. When I start writing, I often don't know what it's going to be until the words appear on the page. The research doesn't precede the writing. It follows it.

I remember watching the Pixar documentary about Finding Nemo. They produced hundreds of story sketches and character drawings that never made it into the film. The director admitted that a lot of those ideas were pretty terrible. But without those sketches, they wouldn't have arrived at the final story. They learned from the volume of attempts. And we got to watch the final high quality result.

I've been following what I call the 100-times rule. For any new skill, or anything new really, I give myself permission to do it 100 times before judging the results. The goal is simple. I want to narrow the gap between idea and execution.

When I was learning to program, I'd open a blank JavaScript file and just start writing. Half the time, I'd finish a session with something unrelated to what I started. A half-baked startup idea buried in the comments, or a function that suggested an entirely new project. The work generated the ideas, not the other way around.

When I decided to write regularly, I had about a dozen ideas ready to go. I dreaded the moment I'd exhaust them. But by the time I published the twelfth post, I had several dozen more. They didn't come from some secret source of inspiration. They came from momentum. Writing regularly has trained my mind to notice things worth writing down. Conversations, observations, small frustrations, fleeting questions. The ideas were always there. I just hadn't built the habit of catching them.

This is the part most people get backwards. They wait for a great idea before they begin. But great ideas are rarely the starting point. They're the result of effort. You don't think your way to good work. You train yourself to good thinking by using repetition.

When I have an idea now, I don't wait for the right moment. I write it down immediately in my phone, in a note, sometimes directly on my blog before I fully understand it. Publishing something unpolished is uncomfortable. But an unpolished idea that's out in the world can be refined, responded to, and built upon. A perfect idea that lives only in your head cannot. In fact, I've forgotten so many great ideas!

Since the beginning of last year, I've written at least 230 articles. When I run low on new ideas, I have hundreds of old posts I can return to, deepen, and remake into something more considered. The volume created the options.

If there is any secret to coming up with great ideas it's this: Start before you're ready.

The first group in that classroom failed not because they were less capable, but because they optimized for perfection at the expense of experience. Every moment they spent planning was a moment they weren't learning what the clay actually does in your hands.

If you're waiting for the perfect idea, the right time, or enough certainty before you begin then you are the first group. You have one pot and you're protecting it.

Make more pots.

]]>
Wed, 22 Apr 2026 12:00:00 GMT https://idiallo.com/blog/how-to-come-up-with-great-ideas?src=feed
<![CDATA[Advice from a millionaire ]]> https://idiallo.com/blog/advice-from-a-millionaire?src=feed Ibrahim Diallo @dialloibu #storytime

"Is this seat taken?" A man dressed in a black suit and a coffee in hand asked. He was already halfway into the chair when he said it. I was at the adjacent table when I heard it. He wasn't asking me. He was asking the woman who looked up, one hand holding a paper cup, the other trying to keep a small boy from sliding off his seat. A second child sat beside her, quietly peeling the label off a juice bottle.

"Michael, no!" she yelled at the kid.

But that didn't deter him, he was sitting beside her, sipping on his latte. I noticed him because he didn't belong to the table. He had given himself permission to be part of this story. At first I could only hear fragments of the conversation carried between the hiss of the espresso machine and the scrape of the chairs.

"…people always ask me…"

"…not about luck…"

"…mindset is everything…"

He spoke with the rhythm of someone used to being listened to. Not pausing for responses, just enough space to suggest one might exist. The woman nodded, when it seemed appropriate. Not because she agreed, I think, but because her attention kept breaking apart. The younger child had dropped something. The older one was tugging at her shirt asking a question that went unanswered.

He leaned forward, elbows on the table, lowering his voice as if sharing something confidential. I leaned in.

"You have to recognize opportunity," he said.

I caught that part clearly.

"Most people don't. They're not trained to see it."

The woman murmured something, agreement, maybe. Or just acknowledgement. She clearly wanted to listen, to hear him. But her eyes drifted to the door when it opened. Then to the counter when a name was called that wasn't hers.

He didn't seem to notice.

"People often ask me how I made my first million dollars, like what the turning point was?" he continued. "And I tell them, it's never just one moment. It's discipline. Consistency. Character."

One of the kids tugged at her sleeve. She bent down, whispered something, brushed hair out of the child's face. The man waited, but not really. More like he paused until the interruption stopped existing.

"Early in my career," he said, picking up exactly where he left off, "I joined a small company. Nobody had heard of it."

He smiled, like this was the part that mattered most.

"But I saw something."

The phrase hung there. I had the sense he liked the way it sounded.

"They always ask me, 'How did you know?'" he said, shaking his head lightly. "And the truth is, I had prepared for this every single day of my life. So when the moment comes, you just know."

The older child had started tapping the table with a plastic lid. A soft, repetitive sound. The woman placed her hand over it gently, stopping the rhythm without looking away from the man. He kept going.

"We were a small team. Took risks. Worked hard. No guarantees." He gestured vaguely, as if summing up effort itself. "That's what people don't understand."

The woman nodded again, looking at the counter if her name was ever going to be called.

"They gave us stock," he added. "Didn't mean much back then." He said it casually, like it wasn't the point. Like it was just part of the scenery. "And then we got acquired."

He leaned back slightly, watching her reaction. I don't think she gave him one.

"A bigger company came in," he said. "That's what happens when you build something valuable."

Behind the counter, milk steamed loudly. Someone laughed. A chair fell over and was quickly set back upright.

"At that point," he continued, "those shares… well."

He made a small lifting motion with his hand. The woman followed the movement with her eyes, just for a second.

"That's the strategy," he said. "Recognize opportunity. Take risks. Build character."

He delivered it like a conclusion. Something that could be written down.

The younger child had climbed halfway out of the chair now. She pulled them back gently, whispering again. This time more urgently.

He checked his watch.

Then, as if remembering he was not alone in the conversation, he asked, "So what do you do?"

The question landed awkwardly, like it had been taken from a different script. She hesitated. This whole time she had been made to listen. Now her answer was needed.

"I'm… figuring things out right now," she said. It was the kind of answer that usually ends a line of questioning. He nodded, but it didn't slow him down.

"That's good," he said. "You have to stay open. That's how opportunities find you."

One of the kids started crying. Not loudly, but enough. She stood halfway, then sat back down, unsure which problem to solve first. He smiled, patient in a way that suggested he believed he was being generous with his time.

"Anyway," he said, standing up and adjusting his jacket, "that's how I did it."

He placed a business card on the table. It slid slightly, stopping near the peeled labels.

"Come find me when you're ready to talk about becoming a millionaire."

She nodded, because there was nothing else to do. He left without looking back. But he looked in my direction and noticed me. He stopped. Walked over, and shook my hand with both of his.

"I've read everything you've written," he said.

I nodded.

He stood there a moment longer, as if hoping I might say something he could write down. I didn't. He left.

I went to the counter and asked for hot water in a cup. The barista made it available without question. From my coat pocket I produced a small paper envelope, mint and garlic, blended to a ratio I had refined over many years. I placed it in the cup and let it steep. I never leave the house without it. It is the first thing I take in the morning and the last thing I take at night. There is a clarity it produces that I have not found elsewhere.

I walked to the woman's table. She looked up. I sat down, and moved her drink to one side.

"This will serve you better," I said, and placed the cup in front of her. She looked at it. One of the children leaned over to smell it and made a face. I didn't acknowledge this.

"The mind," I said, "cannot find opportunity in a state of agitation. I learned this early."

She wrapped both hands around the cup, the way people do when they don't know what else to do with them. I placed my card on the table. It was a solid thing, matte black with beveled edges. It covered the millionaire's card entirely.

"Come find me," I said, "when you're ready."

I didn't say for what. I didn't need to. She could tell I was a billionaire.


A barista in a coffee shop told me this story. Not verbatim, but it was funny. Two "rich" guys trying to give advice to a woman and her two kids who live in a van. They feel like they had done her a great service. One offered useless advice, the other offered hot smelly water. Neither of the men helped her. I thought it would make a perfect LinkedIn story.

]]>
Mon, 20 Apr 2026 12:00:00 GMT https://idiallo.com/blog/advice-from-a-millionaire?src=feed
<![CDATA[We Are All Playing Politics at Work ]]> https://idiallo.com/blog/we-are-playing-politics?src=feed Ibrahim Diallo @dialloibu Politics is any discussion where the truth doesn't steer the course of action.

Most of us like to think we are above it. We believe that in our daily jobs, we are rational actors exchanging facts. We assume that if we simply present the truth, the right decisions will naturally follow. But this is a naive fantasy. We are not machines that go to work to process data. We are political animals trying to navigate an imperfect world.

I often meet purists who want to separate politics from work. They argue work should be a place where actions turn into resources that create value. They fail to see that even making that statement is a political stance.

For me, everything clicked during the pandemic. COVID dissolved the barrier between work and home, forcing us to manage perception over reality. We weren't just working from home, we were curating our backgrounds, hiding our messy lives, and performing professionalism in our pajamas. That performance of managing the image because the raw truth is inconvenient, is the very essence of politics.

We are all playing politics whether we like it or not. Work is messy. People complain, deadlines are missed, and coworkers bring personal agendas into the office. You might just want to do your job and go home, but to get there, you have to navigate the humans. And humans rarely deal in raw truth. They deal in emotions, ambitions, and incentives. If you refuse to play the game, you aren't rewarded for your honesty. Instead, you are just ceding control to those who understand the rules better than you.

Objective truth must be interpreted

If there is a place in our lives where truth should be the only thing that reigns, it should be in Science. Science is the pursuit of objective reality. But in practice, even science becomes political the moment humans get involved.

In the recent discussion about the Artemis II moon mission, I was watching news concerning the landing. One of the headlines stated that "experts believe" the re-entry capsule wasn't safe. But why do we need experts to have beliefs when we have science? Shouldn't the math just tell us?

The reality is that most of us cannot handle the raw scientific truth. If a physicist tried to prove the validity of String Theory to me, I wouldn't understand it. I don't have the framework to verify the truth. Instead, I have to trust the consensus of "our" experts because safety is not a binary fact. It is a threshold of acceptable risk that experts are in a better position to understand. Data requires interpretation, and interpretation is political.

When "experts believe," they are offering confidence, not necessarily raw data. It is a political stance designed to manage public perception and risk. If this happens in the hard sciences, imagine how messy it gets in the corporate world, where there are no laws of physics, only opinions and quarterly goals.

Voting has consequences

When we hear politics at work, government is what comes to mind. We think it's about which candidate we voted for. But voting is probably the least political thing we do. It is a binary choice with no immediate negotiation required. Once you cast your ballot, your role is done. You wait for the next election.

voting crowd

In the workplace it is different. Politics is a perpetual dance. You cannot cast a vote and walk away. Your vote is a decision, a critique, or a hire. Then the consequence is you have to live in the same room with it for eight hours everyday.

Because we misunderstand politics, we often mistake naivety for integrity. I learned this the hard way early in my career.

In a past job, I witnessed my manager and lead developer committing what I will politely call a clear policy violation. The team came to me with evidence, and I did what I thought was the right thing. I gathered the facts, built an airtight case, and presented it to the VP. I played the Truth Game.

The result? I was scrutinized and pushed out. The manager and lead developer? They were both promoted.

I was confused and bitter. I had the truth on my side. I even had evidence. But I failed to see that the VP's priority wasn't Truth. For him what mattered was stability and hierarchy. My manager and lead were playing the Political Game. They had influence and power. I was playing a game of logic in a room designed for leverage. While I was busy being right, they were busy being effective.

It turned out that maintaining the illusion of a stable hierarchy was more valuable to the acquisition than the operational truth. The company sold for $1.1 Billion regardless of their incompetence. My truth was irrelevant to the outcome.

A more political savvy me would have socialized the issue with the VP first, found an ally in HR, maybe even reframe the issue. Instead of presenting it as a moral failing, I would have framed it as a "risk to the acquisition."

The Art of the Impossible Deadline

Once you accept that the workplace is political, you stop fighting reality and start navigating it.

In my current role, deadlines often come down before the project is even defined. Leadership hands down a target date as if it were written in stone—perhaps delivered by God himself, according to my manager. The facts, however, are clear: I know my team size, I know the scope, and I know the deadline is mathematically impossible.

If I were still playing the Truth Game, I would say "No." That would get me labeled as negative or incompetent. If I were a coward, I would say "Yes," and burn my team out.

Instead, I play politics. When asked if I can make the date, my answer is Confidence. (roll your eyes here)

We are fully committed to the goal. Based on our current velocity, we're focusing our resources on the core features first to ensure we hit that date with a stable build.

(eye roll ends here)

I don't answer "yes" or "no." I provide a malleable statement that offers reassurance without committing to the impossible. I protect my team and offer leadership the confidence they crave, the same way "experts" offer confidence on a moon launch. It is a political maneuver designed to keep the project moving and relationships intact.

When you are in a room with two groups of experts shouting their facts at each other, they may turn to you to see which political party you will join. I've been in a meeting where the database team was arguing for using store procedures, while the dev team wanted to use an ORM. Each team wants to retain control of their queries, and you sit in the middle and they expect you to lean one way or the other.

What is the Truth Game here? Well, you can't go wrong by following tradition.

"What is our standard? Did we use ORMs in the past? Then why change? Let's get back to work."

That's the truth. You won points with the Dev team. You were efficient and logical. But you made an enemy of the Database team. Now, watch all your future requests get ignored. You were right, but you failed.

What's the Political Game? You already know you have to choose the ORM to meet the deadline. But you start by praising the stored procedures.

"I think we can greatly benefit from switching to sprocs. In fact, this will allow queries to be optimized in the background without having to involve the dev team's resources at all. In the long term, this should be our strategy. But given our short timeframe, I don't think we can make those upgrades without impacting our deadline. Let's make sure to include these in our plan of action so we don't forget it."

The Dev team is happy because you sided with them. The Database team is happy, because you recognized their expertise.


Politics is not a dirty word. It naturally grows as people organize around an idea, or a workplace. It is the operating system of human organization.

It is the gap between how things should work (truth) and how they do work (influence). It's not a shortcut to manipulation. You can have political integrity by using your influence to protect your team and achieve the mission, rather than just being right while the ship sinks.

You can choose to ignore this reality and cling to your facts, but don't be surprised when you find yourself scrutinized while the political players get promoted. We are all politicians. The only question is whether you are campaigning for your own success or letting everyone else write the rules for you.

]]>
Sat, 18 Apr 2026 03:00:00 GMT https://idiallo.com/blog/we-are-playing-politics?src=feed
<![CDATA[Back button hijacking is going away ]]> https://idiallo.com/blog/back-button-hijacking-is-going-away-seo?src=feed Ibrahim Diallo @dialloibu When websites are blatantly hostile, users close them to never come back. Have you ever downloaded an app, realized it was deceptive, and deleted it immediately? It's a common occurrence for me. But there is truly hostile software that we still end up using daily. We don't just delete those apps because the hostility is far more subtle. It's like the boiling frog, the heat turns up so slowly that the frog enjoys a nice warm bath before it's fully cooked.

With clever hostile software, they introduce one frustrating feature at a time. Every time I find myself on LinkedIn, it's not out of pleasure. Maybe it's an email about an enticing job. Maybe it's an article someone shared with me. Either way, before I click the link, I have no intention of scrolling through the feed. Yet I end up on it anyway, not because I want to, but because I've been tricked.

You see, LinkedIn employs a trick called back button hijacking. You click a LinkedIn URL that a friend shared, read the article, and when you're done, you click the back button expecting to return to whatever app you were on before. But instead of going back, you're still on LinkedIn. Except now, you are on the homepage, where your feed loads with enticing posts that lure you into scrolling.

How did that happen? How did you end up on the homepage when you only clicked on a single link? That's back button hijacking.

hijacker

Here's how it works. When you click the original LinkedIn link, you land on a page and read the article. In the background, LinkedIn secretly gets to work. Using the location.replace() JavaScript method, it swaps the page's URL to the homepage. The replace method doesn't add an entry to the browser's history. Then LinkedIn manually pushes the original URL you landed on into the history stack. This all happens so fast that the user never notices any change in the URL or the page.

As far as the browser is concerned, you opened the LinkedIn homepage and then clicked on a post to read it. So when you click the back button, you're taken back to the homepage, the feed loads, and you're presented with the most engaging post to keep you on the platform.

If you spent a few minutes reading the article, you probably won't even remember how you got to the site. So when you click back and see the feed, you won't question it. You'll assume nothing deceptive happened.

While LinkedIn only pushes you one level down in the history state, more aggressive websites can break the back button entirely. They push a new history state every time you try to go back, effectively trapping you on their site. In those cases, your only option is to close the tab.

I've also seen developers unintentionally break the back button, often when implementing a search feature. On a search box where each keystroke returns a result, an inexperienced developer might push a new history state on every keystroke, intending to let users navigate back to previous search terms. Unfortunately, this creates an excessive number of history entries. If you typed a long search query, you'd have to click the back button for every character (including spaces) just to get back to the previous page. The correct approach is to only push the history state when the user submits or leaves the search box (onblur).

As of yesterday, Google announced a new spam policy to address this issue. Their reasoning:

People report feeling manipulated and eventually less willing to visit unfamiliar sites. As we've stated before, inserting deceptive or manipulative pages into a user's browser history has always been against our Google Search Essentials.

Any website using these tactics will be demoted in search results:

Pages that are engaging in back button hijacking may be subject to manual spam actions or automated demotions, which can impact the site's performance in Google Search results. To give site owners time to make any needed changes, we're publishing this policy two months in advance of enforcement on June 15, 2026.

I'm not sure how much search rankings affect LinkedIn specifically, but in the grand scheme of things, this is a welcome change. I hope this practice is abolished entirely.

]]>
Tue, 14 Apr 2026 12:00:00 GMT https://idiallo.com/blog/back-button-hijacking-is-going-away-seo?src=feed
<![CDATA[You paid for it, you should be comfortable in it ]]> https://idiallo.com/blog/you-paid-for-it-you-should-be-comfortable-in-it?src=feed Ibrahim Diallo @dialloibu A friend of mine bought a Tesla Roadster back in the early 2010s. At the time, spotting a Tesla on the road was a rare event. Maybe even occasion enough to stop and take a picture. I never got the chance to photograph one, let alone drive one, until I met this new friend recently. This was my chance to experience the car firsthand.

We walked to the parking structure to see it. As soon as he opened the door, something looked... off. On the outside, it was a pristine, six-figure roadster. But the inside looked completely custom. Not "custom" in the sense of a professional shop install, but more like the driver himself grabbed a hammer and chisel and made it his own.

First, the driver's seat had been altered. It was much lower than usual and didn't match the passenger seat. My friend stands 6'7", and the Roadster is a tiny car. He physically couldn't fit, so he modified the seat rails to lower it. But that fix created a new problem: the door armrest now dug into his hip. So, he took a file to the interior panel, shaved it down, and 3D printed a smaller, ergonomic armrest. He even 3D printed a cup holder for the passenger side so his coffee was within reach.

To me, the idea of taking a Dremel or a file to a $100,000+ car was unimaginable. You must be crazy to do it.

He caught the look on my face and shrugged. "Hey, it's my car. I paid for it. I intend to be comfortable in it."

I never thought of it like this. That sentiment stuck with me. Recently when I read an article by Kent Walters about filing the corners of his MacBook, those same feelings resurfaced. My work MacBook has edges so sharp that I've often felt like I was slicing my wrist on the chassis. I treated this as a design flaw I had to endure. But not Kent. He treated it as an obstacle to be removed. He literally filed down the corners of his laptop to ensure the machine he uses every day was comfortable.

I may not have the guts to file my work issued MacBook, but I'm no stranger to customization... in software. I modify my tools constantly. I spend days tweaking my IDE, remapping keyboard shortcuts, and writing custom scripts until the software is unrecognizable to anyone else on my team. I don't think twice about rewriting a config file to make the tool fit my brain.

When I was a kid, I always had a screw driver around, fixing a device that wasn't really broken. On the home computer, I modified everything. I once deleted all .ini files to improve performance. It didn't work, but it led to a fruitful career.

But somehow, when it comes to expensive hardware now, I freeze. I treat the physical object as a museum piece to be preserved. I bought a docking station to banish the laptop to a shelf, using an external mouse and keyboard to avoid touching the sharp chassis. I built a complex workaround to accommodate the tool, rather than performing the simple, brutal act of modifying the tool to accommodate me.

We treat our physical tools as if they are on loan from the manufacturer.

You'll see a musician buying a vintage guitar but refuses to adjust the action, terrified of ruining the "collector's value." Meanwhile, the working guitarist has sanded down the neck and covered it in stickers because it feels better in their hand. The software engineer accepts the default keybindings to avoid "bad habits," while the power user creates a layout that doubles their speed.

If you own a tool, whether it's a car, a computer, or a line of code, you own the right to change it. The manufacturer designed it for the "average" user, but you are a specific human with specific needs.

Remember grandma's couch in the living room? It had that plastic cover on it. It was so uncomfortable, but no one dared to remove it. The plastic was to preserve the sofa. No one got to enjoy it, instead everyone accommodated the couch only to preserve its value. A value that no one ever benefits from. Don't let the perceived value of an object stop you from making it truly yours. A tool with battle scars is a tool that is loved.

]]>
Mon, 13 Apr 2026 12:00:00 GMT https://idiallo.com/blog/you-paid-for-it-you-should-be-comfortable-in-it?src=feed
<![CDATA[Your AWS Certification Makes You an AWS Salesman ]]> https://idiallo.com/byte-size/we-are-aws-salesmen?src=feed Ibrahim Diallo @dialloibu I must have been the last developer still confused by the AWS interface. I knew how to access DynamoDB, that was the only tool I needed for my daily work. But everything else was a mystery. How do I access web hosting? If I needed a small server to host a static website, what service would I use? Searching for "web hosting" inside the AWS console yielded nothing.

After digging through the web, I found the answer: an Elastic Cloud Compute instance, better known as EC2. I learned that I could use it under the "Free Tier." Amazon offers free tiers for many services, but figuring out the actual cost beyond that introductory period requires elaborate calculation tools. In fact, I’ve often seen independent developers build tools specifically to help people decipher AWS pricing

If you want to use AWS effectively, it seems the only path is to get certified. Companies send employees to conferences and courses to learn the platform. I took some of those courses and they taught me how to navigate the interface and build very specific things. But that skill isn't transferrable. In the course, I wasn't exactly learning a new engineering skill. Instead, I was learning Amazon.

Amazon has created a complex suite of tools that has become the industry standard. Hidden within its moat of confusion, we are trained to believe it is the only option. Its complexity justifies the high cost, and the Free Tier lures in new users who settle into the idea that this is just "the way" to do web development.

When you are presented with a simple interface like DigitalOcean or Linode and a much cheaper price tag, you tend to think that something is missing. Surely, a cheaper, simpler service must lack half the features, right? The reality is, you don't need half the stuff AWS offers. Where other companies create tutorials to help you build, Amazon offers certificates. It is a powerful signal for enterprise legitimacy, but for most developers, it is overkill.

This isn't to say AWS is "bad," but it obscures the reality of running a web service. It is much easier than it seems. There are hundreds of alternatives for hosting. You can run your services reliably on a VPS without ever breaking the bank.

Most web programming is free, or at the very least, affordable.

]]>
Sun, 12 Apr 2026 17:25:33 GMT https://idiallo.com/byte-size/we-are-aws-salesmen?src=feed
<![CDATA[Your friends are hiding their best ideas from you ]]> https://idiallo.com/blog/your-friends-are-hiding-their-ideas?src=feed Ibrahim Diallo @dialloibu Back in college, the final project in our JavaScript class was to build a website. We were a group of four, and we built the best website in class. It was for a restaurant called the Coral Reef. We found pictures online, created a menu, and settled on a solid theme. I was taking a digital art class in parallel, so I used my Photoshop skills to place our logo inside pictures of our fake restaurant. All of a sudden, something clicked. We were admiring our website on a CRT monitor when my classmate pulled me aside. She had an idea. A business idea.

An idea so great that she couldn't share it with the rest of the team. She whispered, covering her mouth with one hand so a lip reader couldn't steal this fantastic idea: "what if we build websites for people?"

Watch it on YouTube

This was the 2000s, of course it was a fantastic idea. The perfect time to spin up an online business after a market crash. But what she didn't know was that, while I was in class in the mornings, my afternoons were spent scouring Craigslist and building crappy websites for a hundred to two hundred dollars a piece. I wasn't going to share my measly spoils. If anything, this was the perfect time to build that kind of service. That's a great idea, I said.

“Somewhere behind a chatbot interface, an AI is telling one of your friends that their idea is brilliant.”

There is something satisfying about having an idea validated. A sort of satisfaction we get from the acknowledgment. We are smart, and our ideas are good. Whenever someone learned that I was a developer, they felt this urge to share their "someday" idea. It's an app, a website, or some technology I couldn't even make sense of. I used to try to dissect these ideas, get to the nitty-gritty details, scrutinize them. But that always ended in hostility. "Yeah, you don't get it. You probably don't have enough experience" was a common response when I didn't give a resounding yes.

I don't get those questions anymore, at least not framed in the same way. I have worked for decades in the field, and I even have a few failed start-ups under my belt. I'm ready to hear your ideas. But that job has been taken, not by another eager developer with even more experience, or maybe a successful start-up on their résumé. No, not a person. AI took this job.

Somewhere behind a chatbot interface, an AI is telling one of your friends that their idea is brilliant. Another AI is telling them to write out the full details in a prompt and it will build the app in a single stroke. That friend probably shared a localhost:3000 link with you, or a Lovable app, last year. That same friend was satisfied with the demo they saw then and has most likely moved on.

In the days when I stood as a judge, validating an idea was rarely what sparked a business. The satisfaction was in the telling. And today, a prompt is rarely a spark either. In fact, the prompt is not enough. My friends share a link to their ChatGPT conversation as proof that their idea is brilliant.

I can't deny it, the robot has already spoken. I'm not the authority on good or bad ideas. I've called ideas stupid that went on to make millions of dollars. (A ChatGPT wrapper for SMS, for instance.)

A decade ago, I was in Y Combinator's Startup School. In my batch, there were two co-founders: one was the developer, and the other was the idea guy. In every meeting, the idea guy would come up with a brand new idea that had nothing to do with their start-up. The instructor tried to steer him toward being the salesman, but he wouldn't budge. "My talent is in coming up with ideas," he said.

We love having great ideas. We're just not interested in starting a business, because that's what it actually takes. A friend will joke, "here's an idea" then proceeds to tell me their idea. "If you ever build it, send me my share." They are not expecting me to build it. They are happy to have shared a great idea.

As for my classmate, she never spoke of the business again. But over the years, she must have sent me at least a dozen clients. It was a great idea after all.

]]>
Sat, 11 Apr 2026 00:47:19 GMT https://idiallo.com/blog/your-friends-are-hiding-their-ideas?src=feed
<![CDATA[What Are You Trying to Say? ]]> https://idiallo.com/blog/what-are-you-trying-to-say?src=feed Ibrahim Diallo @dialloibu Sometimes, I find myself talking while my audience has a puzzled look on their face. It doesn't matter how much I prepared my speech, the message is just not getting through. But then they ask: What are you trying to say?

Somehow, this shifts the conversation entirely. Instead of trying to sound smart and interesting, I start telling them exactly what I'm trying to say. The fluff disappears, the jargon fades, and I'm left with the raw information in its most primitive form. And somehow, they understand me better this way.

What are you trying to say? Whether it's in person or in writing, that question triggers something in us that allows us to better express our intentions.

Here's an exercise. Look out the window. What color is the sky? Now, on a piece of paper or in a word processor, write that the sky is blue.

"The sky is blue."

Somehow, it doesn't feel satisfying. Were there a few wisps of cloud in the sky? Did those clouds look like they were floating? Maybe erring? Were there mountains in the distance? Were they covered with a thin sheet of snow? Were you actually looking through a window, or sitting outdoors, maybe at a park with kids playing on a playground in the distance? What was happening under that blue sky? Was it actually blue, or a yawning purple suggesting dusk?

There's a whole lot we want to express, a whole lot we want to share of our full experience of the moment. But sometimes, just saying that the sky is blue does it.

What are you trying to say? Maybe you aren't trying to say that the sky is blue. Maybe you're using it as a metaphor for a deeper feeling you're experiencing. Maybe the emotion is complex and you need to paint it with a broader brush to truly express your feelings. But maybe all you're trying to say is that you're sad. Or happy. Maybe that's all you need to say.

This is something I find fascinating about communication. Sometimes the process demands that you say things wrong, or in the long-winded and complicated way, in order to arrive at that simple, raw format. It's just like how writing helps us think. Your idea isn't clear until you have it written down, like a complicated equation that resolves to something simple. The only shortcut we can take is to ask ourselves that question and untangle our mind in private, before we present our simple resolution at the end.

Whenever you find yourself, just like me, going in circles, losing yourself in a spiral, stop for a moment. Ask yourself: What am I trying to say?

]]>
Thu, 09 Apr 2026 12:00:00 GMT https://idiallo.com/blog/what-are-you-trying-to-say?src=feed