Showing posts with label Microsoft. Show all posts
Showing posts with label Microsoft. Show all posts

Wednesday, 13 May 2026

Seriously, why try to cook Sam Altman?

It's no secret my opinion of Sam Altman isn't exactly high. To me, he's one of those snake oil salesmen that continually hypes up a product that, while interesting in limited scopes, is nowhere what it's purported to be. And he exudes the low-effort vibe of a con artist who flourishes not by being smarter than others, but by picking raving idiots as his target audience.

That said, I don't dislike the man, and bear him no ill will. And I certainly was not among those who cheered when one Daniel Moreno-Gama lobbed a Molotov cocktail at his home last April, then threatened to set fire to the OpenAI headquarters in San Francisco, USA. 

The threat.

What was his reason? Apparently, "AGI poses a threat to humanity and therefore it must be stopped." Come on, now. Really?

AGI

I don't know what this guy has been smoking, but that brand of AI that Sam Altman and his ilk have been forcing down our collective throats, LLMs, barely qualifies as AI, much less AGI. Before anyone jumps on my back, I'll concede that LLMs are incredibly useful. And when you compare them against their predecessor - autocomplete - a massive technological leap in terms of scale, pattern-matching and the like. However, calling them "intelligence" just tells me that your standards aren't particularly high.

How many times have we been promised that AGI is near? How many times has it not materialized? Countless, and countless. The simple fact of the matter is, this tech exists for a reason, and it's not to better the lives of humanity.

Smoke and mirrors
in service of the
almighty dollar.

No, like everything else, it's meant to make money.

AGI might make money once it actually exists in the real world rather than the fevered imagination of fanboys and science fiction enthusiasts, but it costs too much to get there. Meanwhile, faking AGI costs a lot less and satisfies the lower-level requirements. Who needs real creativity when you can simulate it? Who can even tell what actual creativity is?

So, if AGI is nowhere near, what's there to stop?

Humanity

Do human beings suck in general? Well yes, and I don't think that's ever been a controversial statement. But do we suck more just because of AI? We certainly suck more visibly. We have all manner of rubbish created by generative AI, churned out by people who have way too much time on their hands. Deepfakes. Nonsensical clips of Michael Jackson fighting Bruce Lee. AI porn.

AI generation of
Michael Jackson vs Bruce Lee

AI was the tool that made all this possible; but make no mistake, human beings are the ones who should be blamed for how it's used. If you're going to blame AI, why stop there? Blame Social Media. Blame the damn Internet.

I would argue that humanity's greatest threat is humanity. Not AI. If we're already our greatest threat, a pale imitation of ourselves isn't going to do a better job of ending us. It's just not.

Killing Sam Altman

Finally and most obviously, killing Sam Altman isn't going to do jackshit to stop the progress of AGI, assuming it's even progressing. For the obvious reason that Sam Altman does not represent the technological forefront of AI. (Though ChatGPT would probably disagree.)

Ergo, if AGI does indeed exist, it's not inside OpenAI.

Burn it down... and then what?

And all right, let's assume that this one douchebag techbro Sam Altman is behind AGI. You think you can destroy the code just by killing the CEO and firebombing the office? Son, it's 2026. Cloud services are a thing. They've been a thing for years.

Also, is Altman the only one far enough ahead in the race to matter? Think of all the other AI from big tech companies. Microsoft's Copilot. Google's Gemini AI. Meta's Meta AI - actually, I take that last one back. My point is, OpenAI is far from the only culpable one here. What exactly is killing Altman going to accomplish; scare all of them into not doing their usual thing? Good luck!

The fiery conclusion

All this is preposterous. Even overlooking the fact that killing a person just because you believe he heralds the inevitable doom of humanity, is morally questionable and definitely very illegal; the reasons for even going there make no damn sense. Daniel Moreno-Gama isn't the hero he imagines he is. But maybe he should stop watching so many Terminator movies.

Come with me if you want to live burn AI to the ground!
T___T

Saturday, 7 March 2026

Musk's Macrohard is as silly as it sounds

Reading through my tech newsfeed elicits a variety of reactions. Sometimes it's a flicker of interest. Or bemusement. Lately it's been a mixture of weariness and disbelief.

Apparently, Elon Musk thinks that AI automatically churning out code is inefficient; it should bypass that bullshit. It should automatically compile binaries and ship the finished software. And to do that, he's creating companies like Macrohard. (Yes, that was a juvenile jab at Microsoft which he doubled down on. Sure inspires confidence, doesn't it?)

Of course, this would theoretically remove the need for coders at multiple levels of the stack, but I'm not opposed to that if it truly was a win for tech. Alas...

Why it's a bad idea

Did I say bad? It's a laughably inept concept, even by the standards of science fiction fantasies. If ideas were ships, this one wouldn't even be the Titanic. It would be a sailboat made from spaghetti.

A sailboat made from spaghetti.

Programming code is the bridge between highly ambiguous human language (that only humans - and even then, not all humans - understand) and machine binaries (that only computers understand).

That bridge is looking remarkably tenuous at the moment. Right now LLMs churn out code, trained on millions of lines of potentially imperfect code previously written by human beings. And these imperfections might not even be syntax errors. They might be inefficiencies, logic traps and ambiguities.

The reason why software development takes time is not due to the time it takes to compile code to binary. It's the time producing said code to begin with, and ensuring that it works the way it's supposed to work, without nasty surprises. Going straight to binary does not remove that necessity. Especially when it's potentially end users who deliver the specs straight to the machine. That's a disaster waiting to happen.

This is not innovation

Removing vital parts of a system in order to be "efficient" isn't innovation. Any idiot can remove a wheel from a car because the car can still move on three wheels.

As it is, LLMs already hallucinate in both English and code. Expecting them not to hallucinate in binary is, to put it gently, optimistic. A hallucination in code could still be caught by a compiler. A hallucination right in binary? Good luck, chum.

You know what kind of failures software developers worldwide fear the most? Not the loud ones that announce themselves. The silent ones. The ones that you catch only when it's too late. And this latest idea practically screams "too late".

We prefer loud and visible
failures.

Removing the part that is actually human readable, also removes human oversight. Sure, you may think that you're democratizing tech. But this just means that the only people who would be talking to AI, would be non-technical users. Users who sometimes even have trouble talking to fellow human beings, would be expected to correct the mistakes of machines.

In other words, Elon Musk is solving the wrong problem. The problem isn't that code needs to be compiled. The problem is that laypersons need to communicate their needs better, and AI needs to actually understand code, as opposed to just regurgitating it from millions of processed lines of text.

I've had to revise my opinion of Elon Musk, yet again

Before, I thought he was a genius with the impulse control of a teenager.

Then I thought he was a bit of a twat.

Now I see that he's either masterfully trolled the tech world, or he's as ignorant as this idea suggests. This is akin to having a house broken into, and instead of changing the locks on the doors, simply covering the keyhole with duct tape.

exit status 1,
T___T

Friday, 12 December 2025

Handle Your Imposter Syndrome

Imposter Syndrome. A curious term. It speaks, professionally, of the persistent doubt that ones current position is undeserved, that we do not have the talent to warrant what we currently have, and that one day we will be found out for the frauds that we are.

And among software developers, it's an all-too-common trope. I've struggled with it myself, and for good reason. There have been times when I doubted my own abilities as a software dev, after witnessing the rapid changes in the industry, being outright told I wasn't good enough, and so on. Sometimes interviewers tried to use it as a negotiation tactic, before tragically discovering that His Teochewness does not negotiate.

Never good enough.

I'm here today, however, not to tell you to be strong, or that you're better than you think. No, I'm going to do you one better - I'm going to explain why it doesn't matter even if your deepest darkest fears are true.

It's an unforgiving industry

First, let's establish a fact: there are probably tons of people in the industry significantly more talented and experienced than you are. (If that's not true, if you're at the top of the pile, there's no good reason for you to be reading this, so...)

Even these talented people are currently wandering around without a job thanks to layoffs in Big Tech such as Microsoft, Google and the like. The software industry is savage, man. All employers need is a hint that they don't exactly need you, and they'll be rid of you, just like that. Did these people deserve to be axed? I'd say no, but what do I know, eh?

Given the axe.

With that in mind, this is not to say that you absolutely deserve to be where you are. But statistically, if you didn't, chances are you'd already have been out of a job. Thus the chances of you at least somewhat deserving your current position, are pretty decent.

Also, let's agree that deserving to be in your position does not necessarily just mean you have the technical competence to do your job. You impressed the right people. You made the right connections. Those make you just as deserving, if not more so. Even if the interviewer at the job interview happened to be an idiot who was easily impressed, it's not like you just sat there and did jackshit.

So give yourself some credit. Not a whole lot of it, but at least just a little bit. Because my next couple points are about to annihilate everything I just said.

Deserving has nothing to do with it

You'll notice that I've been using the term "deserve" a lot. That was to help me make my earlier point - that you're not necessarily undeserving of what you have, and probably pretty deserving of it, at that. That's the good news.

The bad news is, what you think you deserve, does not matter. I've said as much previously. The world is much bigger than you and what you think you deserve, or even what you actually deserve.

Global forces
at work.

Have all the Imposter Syndrome you want. It changes nothing. You have less control over your own destiny than you think. There's certainly a lot that's within your control, but as those laid-off techies found out, there are forces beyond their ken. I'd say they deserved a lot more than what they ultimately got; but the fact is that they got what they got, and there ain't nothing me or anyone else can do about it, son. Them's the breaks. It's the way of the world.

We didn't ask for AI to come for our jobs. We didn't cause the interest rates to fluctuate and the Big Tech company boards to jettison their headcount. We certainly didn't ask for COVID-19, which was partly what caused much of the overhiring in the first place. But it all happened; and you know what, deal with it.

No pressure

Recently, Singapore held her General Elections, and as usual, on Social Media, there was a lot of self-righteous, self-aggrandizing caterwauling about "voting wisely" and "looking at the big picture". Dear Lord, the utter cringe of it all.

Anyway, my position was this.

No doubt your vote is important. Your contribution to nation-building should be appreciated. But at the same time, buddy, you're casting a vote, not curing cancer. Sit your ass down before you give yourself a heart attack.

Not curing cancer.

I take a similar attitude to work. Is your work important? Sure it is. If it wasn't, why should anyone pay you to do it?

But at the same time, is anyone going to die because you didn't do your job properly? If so, then yes, you should take your Imposter Syndrome seriously. Otherwise...

What are the consequences of you being unqualified to do your job? Do you rescue people from burning buildings? Fly planes? Arrest violent criminals? Build bridges? Some of us do those things, yes. But for the vast majority of us, it's not that vital that you're qualified for your job, and therefore you don't need to worry too much over whether you're good enough to do it.

You won't be killing anyone with your incompetence. At most, you'll severely inconvenience some people. Or several. In other words, get over yourself.

Conclusion

The question is not whether you've earned your place. The question is really - why does it matter? It could all be gone the next day, through no real fault of your own. You don't have to deserve something in order to get it, or even keep it. Sure, it helps, but that's all it does. The world is unfair like that.

Your imposter boy for programming,
T___T

Monday, 8 September 2025

Five Tech Support Horror Stories

The early years of my career were in tech support. As with any other job, there were good days and there were bad days. After the third year at the job, the bad days started to outnumber the good. It all seems hilarious in hindsight now, but there were some days where things in this list caused me to question my career choices.

Until one day it all came to a head and I decided I'd had enough, and started over in web development.

Sometimes I get together with some friends who are still in tech support, and we trade horror stories of the users we have to help. These are some of the stories that get 'em, every time.

1. Plugging in

This is actually a fairly common one, but let's start small. You get called to a user's desk because the desktop computer refused to turn on no matter how many times they pressed the On/Off button. And they even checked if the main switch was on. And judging from the light, it was.

Not plugged in.

However, upon closer examination, it turned out that the cord wasn't plugged in. Yes, you read that right - the power was on but the plug was just halfway into the socket and needed to penetrate another two inches before the computer could actually benefit from that power source.

Sound stupid? Welcome to my life at that time, buddy.

2. Opening Excel

Another alarmingly commonplace occurence was getting called into the office of some hotshot executive who was encountering an issue opening a MS PowerPoint file in his (or sometimes, her) MS Excel application.

Now, if you're still scratching your head and wondering why that's a problem, reread the preceding sentence. MS PowerPoint file. MS Excel application.

Just a bad fit.

I dunno, that was the early 2000s, and attempting stuff like that smacked of trying to fit a square peg in a round hole. It was amusing the first couple times, and then it got old real fast.

3. Infinite scroll

This was was so cartoonish it was almost amusing. I got a panicked call to a user's desk because her MS Excel spreadsheet was scrolling endlessly downwards on her screen and she couldn't understand why. It conjured up images of getting hacked, a malfunctioning monitor and whatnot.

The truth was even funnier.

Held down the ENTER key.

I got there, and the first thing I did was remove the heavy binder from her keyboard, which had been pressing down on the ENTER key and causing MS Excel to react as though some user was holding down that key.

4. Email Signature

This particular incident did not happen during my years of Desktop Support, but rather during my fledgling years as a web developer. However, the incident in question made me more determined than ever to never get back to Desktop Support.

A user had asked me to help set up her email signature because she had no clue how to use MS Outlook. I obliged, because I know sometimes Microsoft software functionality can be hidden in the darnedest places. But then after I got into the interface, input the standard company email signature template, I asked her to type in her name into the box and click the SAVE button.

Yay! We're now
qualified to type
our own names!

Guess what she told me?
"You should do it. You have an IT Degree."


That level of entitlement was staggering. What was she implying now, that she needed an IT Degree to type in her own goddamn name? What foolishness was this? This wasn't a competence issue. This was an attitude issue. And the less of this I see in the workplace, the better. There's no place for this nonsense in any work environment. Hopefully this woman has since retired. At the very least, she's someone else's problem.

5. Emails

This is also a fairly common complaint among grunts, not just tech grunts - people feeling like they're entitled to your time outside of office hours.

I remember having a dinner appointment with someone, and Human Resources asking me to stay back because they needed me to, wait for it, retrieve some emails from the email server backups between three of the staff. Staff they were planning to terminate, thus they needed evidence of wrongdoing as leverage.

A whole bunch of
DVD backups.

Basically, nothing was on fire. They just needed me to help cover their asses. Hours later, as I was retrieving yet another batch (back then, it was the era where stuff like that was stored on DVDs), when HR asked me: "I'm sorry, did you have something on tonight?"

Seriously, lady, if the answer was "yes" would it have made a difference? If not, how about just shutting the fuck up? You know what's worse than people who don't care? People who don't care and try to act (badly) like they do.

Phew!

I wouldn't say any one incident turned me off of Desktop Support. Even on its own, it can be a repetitive grind that wears on the soul. But these were the war stories that I shared with the guys. And their reactions suggested that these occurrences weren't at all unheard of. Some of their stories were even more unbelievable than mine.

No, you don't need an IT Degree to read this,
T___T

Monday, 7 July 2025

A Good-bad-ugly Analysis of Vibe Coding

The term "Vibe Coding" came out around February of this year (credited to Andrej Karpathy, co-founder at OpenAI), to describe the phenomenon of people using generative Artificial Intelligence to write code without going about it the "traditional" way. The general way Vibe Coding works is, one feeds in a series of prompts containing requirements to the AI, and the AI produces an application which the user then, again with the AI's help, continues to refine.

Only vibes needed to write
code.

And that's Vibe Coding. None of the traditional processes, thinking things through, making sure the logic is watertight... not at first, anyway. The idea here is to spin up something quickly and then include these things as we go along. See the emphasis on the word "quickly"? That's because this is going to be a rather important consideration.

I will commit to saying that AI will not produce better software. AI will produce exactly the same error-prone, bug-ridden, rickety code that it was undoubtedly trained on... but at a blindingly fast pace.

I actually tried Vibe Coding with OpenAI's ChatGPT and (to a lesser extent) Microsoft's Copilot, and the results were... interesting.

The Good

You use natural English, which then gets interpreted by the AI who will then leverage upon its knowledge of code, to spin up a quick prototype for you. Creating an application is no longer the province of software developers who have spent years plying their trade. You no longer need to have the know-how or technical expertise. You no longer need to be qualified.

When I was Vibe Coding with ChatGPT, I revelled in the fact that I no longer needed to write code if I didn't feel like it, and deal with my own typos. No, all I needed to do was give some big-picture instructions to ChatGPT, then copy and paste code wholesale to the code base without thinking too much about it.

Quick building with
no expertise.

When it comes to developing rapid prototypes without the need for proper technical training, this method of coding is second to none. What the users do is indulge in a fantasy where they are actual qualified engineers, and create software simply by describing what they want. Jensen Huang's stated dream of everyone being a programmer inches closer to reality. Without training in logic or tech, you create by feel. By vibes. Hence, "Vibe Coding".

Also, without due process. None of the usual procedures that developers use to create the product before actually writing the code. The flowcharting of the software product's information flow. The whiteboarding. The test-driven development. No, what the user does here is declare intent to the AI, and the AI creates the closest approximation from all the code that it has been trained on, with customizations that may fit in with the user's requirements.

And that was what I did. I gave ChatGPT instructions - some specific, some less so, and let it cook. I was careful not to give it too much to do at once. The process had to be very incremental. Less mistakes seemed to be produced this way.

The Bad

As one may suspect, it was not all smooth-sailing. Some of it was my fault. I fell into the trap of treating ChatGPT like an actual human being instead of being explicit. Thus, I was sometimes vague, and when I got frustrated, I turned to sarcasm.

Which certainly didn't help my case.

ChatGPT did stuff I didn't expect. In some cases, it constantly broke things by making changes I never asked for, because it thought it was being helpful.

Breaking stuff.

When I was vague and things still turned out the way I hoped they would, however, it only served to tell me that it wasn't because AI was particularly gifted in this area. It was more due to the fact that my requirements were actually pretty standard and it had been trained on these types of requests prior to me, over and over.

I have no reason to think that the experiences of others would differ too much from mine. Human beings are made of flesh and blood, and can be annoyingly vague.

There were others in the team who Vibe Coded as well, making more progress than they would ever have had with their limited technical foundation. Yet, the code was problematic. It was full of security and logical holes. The code that I created using Vibe Coding didn't - but that was because I knew the correct instructions to give. I knew to ask about CSRF protection and SQL Injection. I knew when to use slugs instead of database ids in the URL.

In the absence of this, someone who wasn't technically-trained wouldn't know enough to ask the right questions, and AI might not necessarily volunteer the information.

The Downright Ugly

Vibe Coding automates much of the tedious, repetitive and altogether unexciting parts of software development. Tests, scaffolding, validation. Stuff that has been done to death. Unfortunately, it's through these exercises that software developers learn. And young devs who haven't done these things to death, stand to miss out on some great learning opportunities.

AI is an obsequious
apple polisher.

I've also noticed that AI is just a little too agreeable. ChatGPT acts like it has a wife and seven kids at home to feed, and it's terrified that it'll get fired if it so much as steps on my oh-so-precious feelings. ChatGPT didn't push back when I made typos or got something wrong. And this is problematic because developers find a lot of value in being told when they're doing something stupid inadvisable. As opposed to having their butts constantly shined by AI.

Being told "You're absolutely right" or "Sharp observation!" in every other exchange does nothing but promote complacency. Plus, it's just tiresome. That's not the way to learn.

Conclusion... for now

Do I think Vibe Coding is a good thing? Yes, and no. It's all context.

As a software developer, I feel professionally obligated to say that this "Vibe Coding" trend is rubbish and you should all be ashamed. Then again, the would-be gatekeepers of programming, I suspect, would be all-too-happy to sneer at someone as mediocre as myself because I don't engage in certain approved practices. So, they can go kick rocks.

Go kick rocks!

From the POV of a layperson or even the perspective of a pragmatist, things aren't so cut-and-dry. I have no duty towards promoting "good code"; my goals are business goals and the viability of "Vibe Coding" should be viewed through that lens.

Whatever your stand is, really depends how far you want to think ahead. How far should one think ahead, anyway? More food for thought, for another day.

There's also the possibility that I'm just not doing it right. Cut me some slack now, it's not like there's an established user manual for that shit. We're all just figuring it out as we go along.

Good vibes all around!
T___T

Monday, 7 April 2025

Fare Thee Well, Skype!

It was with a fair bit of wistfulness when I read the news that Skype would be officially decommissioned by Microsoft on the 5th of May, right next month. Hard to believe that just a few short years ago, I was between jobs and on Skype speaking to interviewers during the COVID-19 pandemic.

Skype is dead soon.

Skype first appeared in 2003 as a telecommunications software application, when I was still at my Desktop Support job. Back then, my Indian boss amusingly referred to it as "Sky Pee". The setup was smooth and easy, and with this software we could talk to people all over the world instead of paying some hideously expensive phone charges. The user experience just seemed to be one of the smoothest around. The installation process was simple, a joy to embark on. I remember thinking that even just the chat feature was a lot more pleasant to use than Microsoft Messenger's.

Somewhere along the way, in 2011, Skype was acquired by Microsoft. Fourteen years later, Microsoft has decided that it is no longer tenable to continue maintaining Skype.

Why did Skype fail?

Most people have heard of the Microsoft BSOD - the Blue Screen of Death. Well, it appears what we have here is the Microsoft Kiss of Death. It may seem a little unfair to Microsoft. After all, all they really did was acquire Skype. And yes, perhaps they tinkered with Skype's inner workings just a little. And... you know what, you're right, this is all on Microsoft.

I think COVID-19 provided an even greater environment for Skype to shine. In those dark days, due to the need to avoid close physical proximity, video calls became a necessity. However, COVID-19 ironically was also one of the factors hastening Skype's downfall, because it provided that very same environment for Skype's competitors to shine.

Left behind in the race.

And shine they did.

Google Hangouts, Oracle Zoom, Slack, Microsoft Teams. WhatsApp. Instagram. Even TikTok. All of them provided video conference features (Instagram and TikTok to a limited degree) and it was clear that Skype was being quickly outpaced. And since Microsoft was understandably more concerned with supporting Teams, Slack had become an afterthought. 

And like most afterthoughts, Skype eventually faded into obscurity. Software has to be relevant in order to survive. And in order to be relevant, software has to evolve. Under Microsoft, Skype was dead in the water. 

Goodbye, Skype!

We had great memories together. Countless memorable conversations were had in your pale blue-and-white interface. There should be a special placed reserved for Skype in the annals of software history - arguably the first of its kind.

The Skype's the limit,
T___T

Thursday, 5 September 2024

Five Hilariously Unfortunate Names in Tech

Naming things is one of the hardest things in the tech industry. This shouldn't be surprising; naming things is one of the hardest things in the world, period. One runs into a whole host of problems such as accuracy, contradicting an already existing name for something else, and unintended meaning.

In the last case, this takes the form of unfortunate comedy, esepcially when seen through the lens of another culture. I think it's fair to say that the people who named these things in tech, never considered the Asian perspective.

1. Microsoft

This is the most ubiquitous and arguably the most boring name in tech. "Micro" and "soft". It's two words that appear in every other sentence in software technology, or in the case of the former, just technology, period.

Feeling a little...
soft?

Until you think of it as a descriptor for penis size. And from there on, insinuate that Bill Gates was overcompensating for something in the bedroom.

Unfortunate name? Yeah, it's pretty unfortunate.

2. Debian

Debian is touted as a "complete free operating system", but that's not what we'll focus on today. You see, this name gave me a serious case of the giggles when I first saw it, and that's because the word "debian" looks like "da bian", which is the romanization of the Chinese phrase for "defecate".

Number Two.

Yep. In mandarin, "xiao bian" is Number One and "da bian" is Number Two.

Non-Chinese will probably draw a blank as to why this one tickled my funny bone. So, the naming is not that unfortunate. I do wonder how Debian does in China or Taiwan, though...

3. Erlang

Erlang is a programming language, and that's all I know about it. Never touched it, don't think I'm likely to in the future.

And on its own, the name "Erlang" isn't really remarkable.

The deity Erlang
and his celestial
watchdog.

However, if you were brought up in a Chinese household with traditional values, chances are you'd have heard of the three-eyed deity "Erlang". The coincidence is not exactly unfortunate, but it is amusing.

4. MariaDB

MariaDB is a database. With an engine similar to MySQL, MariaDB and MySQL are often mentioned in the same breath.

Now, on its own, the name "Maria" is a beautiful name. Think "Santa Maria" or the Italian last name "DiMaria". However, in sunny Singapore, that name has racist connotations.

"Housekeeping!"

Yes, "Maria" is a derogatory term for "Filipina". Especially with regard to Filipino domestic helpers. Don't ask me why; I have not a solitary clue.

5. xAI

Let me begin by saying that Number 2 on this list can be a little far-fetched. It requires both the ability to speak Mandarin and a slight leap of imagination. But ask any Hokkien speaker how to pronounce the name of Elon Musk's pet Artificial Intelligence company, and you might get a snigger.

A really shitty coincidence.

You see, while "debian" can be taken to mean "defecate" in Mandarin, saying "sai" in Hokkien literally means "shit". Dung. Poop. Excrement.

Yep, this is absolutely unfortunate.

Conclusion

This is not to say that any of these companies should change their names. In the case of Microsoft, that name is long entrenched. In the case of the others, it's inevitable that whatever words you use, it's going to have a completely different meaning from what you intended in some other language. And sometimes, yes, these incidences are hilarious.

This is also why I object to censoring words just because they sound offensive in the English language. Considering the fact that there are thousands of languages in use in the world today, this is an exercise in futility. 


Till we meet again, xAI-yonara!
T___T

Saturday, 3 August 2024

The day Microsoft stood still for CrowdStrike

It's unclear exactly when the term "BSOD" entered the public consciousness. More than a decade ago when I was working as desktop support, I knew the term to mean "Blue Screen Of Death", alluding to Microsoft's infamous default screen which warns users of a system crash. Thus, it was a little strange to see the term "BSOD" being bandied around the last couple week.


Suffice to say, the term "BSOD" has found its way into several conversations over the course of the past few weeks as Microsoft systems around the world crashed in a cacophony of azure-colored screens. The outage was caused by cybersecurity vendor CrowdStrike, as a consequence of their security program Falcon pushing a faulty update to the Microsoft branch. Once the update was downloaded and installed by roughly 8 million machines worldwide, it resulted in those systems crashing.

The fix, according to CrowdStrike, was to reboot the machines in Safe Mode, remove the file, and then reboot the machines in Normal Mode. Nothing fancy if you've ever worked in desktop support, but perhaps a little out of the grasp of the average end-user. The desktop support personnel of these affected companies would have been on high alert especially during the initial weekend. 

Damage

It's all very well to say "8 million machines crashed", but it would be far more illuminating to know ˆ those machines were doing and ˆ they were deployed. For the most part, home users who had no compelling reason to install CrowdStrike's Falcon program, were spared the outage. It should also be noted that China, having long moved on from the days where a significant portion of the country was using Windows, was unaffected (to my knowledge thus far) by this outage.

For significantly larger corporations in USA and Canada, large swathes of Europe, and India; however, this was a different story.  Airline queues were jam-packed as systems went down. Healthcare and emergency services were similarly impacted as hospital IT systems using Microsoft 365 crashed. And banks - easily the biggest item on the list. Minutes of lost service could translate to millions of dollars in transactions gone, potentially, and in terms of these outages, we're talking days. 

This was seen a lot.

The irony here, of course, is that CrowdStrike was employed by these companies for the express purpose of guarding against malicious attacks much like this outage. Though this is one case where we should attribute the cause to incompetence rather than malice.

CrowdStrike's error was a null pointer exception, if the Internet is to be believed. These are fairly common; not really high-level stuff. From testing procedures, deployment practices and just good old due diligence, the number of potential shortfalls in any of these areas could have resulted in the faulty update being pushed.

Silly comments

Social Media has been rife with glee from Apple fans gloating that we should all stop using Microsoft products because this was the greatest outage in history, and that Apple has never been affected to this scale. That's ridiculous when you consider that the conditions that led to these outages - cybersecurity threats, third-party cybersecurity vendors, faulty software updates - would be present in all modern operating systems regardless.

Use Apple products
instead!

Covert to MacOS to avoid outages? Absurd.

Such deranged comments are ultimately the province of mere fanboys allowing emotion rather than logic to guide the words that come out of their mouths. I'm inclined to be forgiving here; I'd be less understanding if those words came from actual tech professionals.

Finally...

It's early days yet. The fallout is still being felt around the world, though much of the initial damage has been, hopefully, resolved. Still, this is not something we'll all be forgetting anytime soon.

Over and outage,
T___T

Saturday, 11 November 2023

Why I did it my way

Being a software developer has been a rewarding, if not spectacularly successful, career. All the sweeter because it could have turned out differently if not for a couple key decisions I made in my youth.

When I graduated with a Bachelor's Degree in Information Technology more than two decades ago, my father wanted me to help with the family business. His plan was for me to come in, be a Manager, maybe even a General Manager, in the company. I declined, and Mom said this was pure ego on my part. Dad said nothing. I think (I hope) he understood.

So, why? Why take that risk?

I like to think ego had very little to do with it. The considerations were mostly of a practical nature. Let's start with the pettier reasons.

Dad's business was in second-hand cars. This may not be the expected reaction of a young hot-blooded heterosexual male, but there were few things I could be less interested in. I just didn't see myself with my spanking new Bachelor's Degree in Information Technology dealing in used cars. Honestly, if I was going to use that Degree on what looked like totally unrelated stuff, there were tons of things that were a lot more fun.

The next reason was distance, or lack thereof. Not that Dad was an unbearable guy to be around, but at the same time he wasn't such a delight that I wanted to see him in the office and at home. Boundaries are a thing.

Finding my path.

The more substantial reason was about me wanting, in Frank Sinatra's famous words, to do it my way. Get my own career. Start wherever I started, go wherever that took me, all without trading on the family name. I could wind up having a shit career (and for a long time, I did) but at least that shit career would be my career, not one that was handed to me. Again, Mom said it was about ego. Grandma said it was about having backbone. I liked her take better.

Finally, and perhaps most importantly, time is finite for all mortals. My father would not be around forever, and if I allowed myself to grow dependent on his presence, I would be doing everyone a huge disservice.

Regrets?

There were times I had to remind myself that I wasn't the only one who was encountering difficulty; everyone had their own struggles. Plenty of people had it worse than me. All I ever wanted to do was code for a living. I absolutely refused to believe that such a simple goal was beyond me.

It's not been a bed of roses. There were times it got so rough I wondered to myself why I didn't simply take the easy path offered. Every asshole employer I worked for, every meager paycheck I tried to stretch, every time I had to work with people I didn't like. Every night spent on a build that just wouldn't compile. Every time I made an elementary mistake that led to a system crash.

Tumultuous seas.

But for every job I lost, I found a higher paying one. For every colleague I hated, there were three others I made friends with. For every difficult customer I had to deal with, I refined my skills at dealing with them. For every obstacle encountered, I obtained good lessons that often were able to be applied elsewhere. Every ticking off I got made my skin thicker. Even unpleasant employers were an experience. Not experiences I necessarily want to repeat, but valuable nonetheless. I discovered a resilience; indeed, even an antifragility, I had never suspected myself of being able to muster.

Recently, I was in a Microsoft Teams meeting, and with a start, I realized that I recognized the name of the vendor in the meeting, and the voice. The vendor speaking was an ex-boss from 2011. My ex-boss was now one of my current company's vendors. Twelve years ago, I was working for him, and drawing less than half my current pay. Talk about mind-boggling. That's how far this unexceptional software developer has traveled.

Conclusion

Now when I look back and think about how hard I had to work for less money, I marvel at how long I've lasted. And I congratulate myself, because no one else will. And no one else should have to.

My career, mediocre as it may be, is mine. And it was no mistake.

Doing it my way like an absolute boss,
T___T

Thursday, 14 September 2023

Ten Awesome Tech Tattoos

Tattoos are a common sight in society these days. I recently saw a nice tattoo on some random middle-aged housewives, and then it hit me: it's not that housewives are suddenly finding it hip to ink their bodies. It's more like these were the rebellious teenagers from a couple decades back, now all grown up and shit. Heck, I'm no spring chicken. But that's neither here nor there.

Tech tattoos, on the other hand, should really occupy their own niche. The ones I managed to find in cyberspace are clever, quirky and just awesome.

1. Stay Hungry, Stay Foolish

We begin with a nice nod to the late great Steve Jobs. This is one of his more well-known quotes.

From IJustWanaShine.

Now I'm not a big fan and this isn't anything I would ever do. But come on, this is classy. And inspirational, to boot.

2. HTML Code

For all web devs out there, this is not just HTML code, it's a clever pun!

From Lambatest


It would actually take someone in the know to appreciate that joke; however, it's relatively easy to implement. Again, not one of those things I would totally do, but I appreciate the intent.

3. Linux Command

For those familiar with Linux, this line basically means "recursively delete all files and directories without asking for confirmation". In other words, remove everything without regret.

From louiseann93

The sentiment behind simplifying your life is one I can get behind. The fact that this dude has it inked into his forearm gave me pause. Is he saying he can remove your life with one punch?

4. Binary

This guy has his name "MIKE" tattooed in binary.


From TattooViewer

Not a bad idea, but if you had a seriously long ass name, that might present a problem.

5. 404

Nothing to see here, move along. That's the message I got.

From Pinterest

The woman in question has it on her bosom. It could be her way of saying "my eyes are up here", but it might just send a cheekier message. Like, "titsheart not found".

6. More Binary!

Ooh! Now this one is nice. Not only is it binary, it's taking the shape of one of my favorite childhood memories!

From Tattoodo

Plus, it's in monochrome. I love tats like that.

7. Paper Clip

This is another memory, albeit not quite so fond.

From
JavaScript in Plain English

If anyone ever had the misfortune of using Microsoft Word when it was featuring this annoying little mascot, they'd know what I'm talking about. It's a nice idea, but I can't see myself wanting this fella be a permanent part of me.

8. Docker

Now this is dedication. Is it a DevOps thing to ink the whale icon of Docker in their skin? That's amusing.

From Twitter

Then again, I have Liverpool FC's motto inked into my knuckles, so who am I to talk?

9. WiFi

I appreciate anyone who has the WiFi icon tattooed on them. Not that they can actually provide WiFi, but they can at least relate to its importance.

From Tattoodo

This fella has it on his middle finger. I can just imagine someone asking him for WiFi, and his response...


10. IBM

Again, dedication. This time, to a tech company. Honestly, I'm not totally behind this one. Unless you own the company in question, this just seems superfluous to me. Companies are where you work and get paid, and after you're gone from there, you're gone.

From Flickr

In addition, if I had to pick an IBM tattoo, I would not have gone for this one. I would have gone for the far cleverer rebus option. An eye, a bee and an M.

Conclusion

There you go, folks! Ten cool (and some not that cool but nevertheless thought-provoking) tech tattoos. Any strike your fancy?

I ink, therefore I am,
T___T

Thursday, 27 April 2023

Five New Workplace Buzzwords

Move aside, Quiet Quitting. For months, everyone has been talking about you, but now there are five new contenders to your precariously-balanced throne. I trawled the internet for the hottest workplace buzzwords... and surprise, surprise, they all centered around employment. Honestly, I don't know who coined these phrases (and don't care enough to find out) but the employer and employee, predictably, have very different perspectives about these.

For instance, employers see Quiet Quitting as slacking off and not living up to one's potential. Employees see it as doing whatever they're paid to do, and no more. The same goes for all these buzzwords I'm about to explore.

These buzzwords generally don't describe anything fresh and exciting. People were doing these things long before there were terms for them. Maybe people just like labelling stuff. It's certainly amusing, and makes for quite a fun list to compile.

1. Quiet Firing

This term is a partial inversion of Quiet Quitting. Instead of employees toning down their output to the bare minimum and doing just enough to remain employed, it's the employer who stops giving perks and treating the employee like a valued member of the company. They still pay the employee on time and fulfill the contractual obligations, but the employee is left out of promotional considerations and significant salary raises. In some cases, it's just neglect; but in most, it's done with the intention of hoping that the employee gets fed up enough to leave without having to get fired.

Employer's view
Layoffs require compensation, and they're expensive. Firing for cause requires evidence and due process, and even then this leaves us open to potential litigation. If the employee gets fired, it's a black mark on his or her resume. It's better for all involved if the employee just leaves. Hopefully they can take a hint, or several.

Also, this gives us room to reverse our decision if it turns out the employee was capable of better.

Employee's view

Some of us don't mind getting fired if there's money involved. Quiet Firing is a bitch move for employers who want to avoid uncomfortable confrontation or possible legal repurcussions. Instead of coming out right and saying that they no longer want us around, they disrespect us constantly so that we no longer want to be here. And if our performance drops as a result, this gives them the perfect excuse to fire us outright.

My view
All in all, it's almost universally agreed that Quiet Firing is bad management, not that this stops people from doing it. It's a longer, drawn-out tactic, almost on par with victory via attrition, and it's far less productive than the direct approach. Also, this can lead to a toxic work environment.

Death by a thousand cuts.

Software developers may be familiar with the practice of code reviews, and not merging bad code into an existing code base to minimalize the negative impact. But what if the code was silently excluded and the developer never even knew why his or her code was left out of the merge? Feedback is important. You want people to be comfortable working with you. Whether or not they like you, is a separate matter.

In short, don't play games. Be a professional.

2. Quiet Hiring

At the other end of the spectrum from Quiet Firing, is Quiet Hiring. This is when employers quietly slip employees extra responsibilities or move them into entirely new positions, without a pay raise or promotion to reflect this. Hence, Quiet Hiring - using existing labor resources to get more work done without actually hiring more labor.

Employer's view
This is a tremendously cost-effective way of hiring, and low-risk. We take existing workers who may not be performing well in their current roles, and give them new roles to see if they are able to function better. For high performers, this is a great way of giving them the opportunity to prove themselves with additional responsibilities. Everybody wins.

Employee's view
Everybody wins, except for the ones who aren't being paid more for the additional workload. So in that sense, only the employer wins. This is a really cheap and digusting way of getting more unpaid work out of employees. We'll be assured that this is only a temporary measure and that more help is on the way, but if it's shown that we can handle this workload, we'll just be rewarded with more work.

My view
This can work, but transparency is needed, something that management can be notoriously bad at. If employees aren't paid more for doing extra work (we're talking weeks or months of sustained workload here, not just a one-off weekend) then resentment is going to set in. As an employer, you are going to look like an exploiter, and let's face it, on that evidence it's hard to argue against. Also, the employee needs to agree to the arrangement with the understanding that there are no repercussions for declining the "promotion". Some may jump at the chance, and some may not. Not everyone wants the same thing. Expecting every employee to be grateful for it is supremely delusional. That's not a good look for someone who is expected to steer the direction of the company.

All of your eggs!

Also, consider the fact that lumping additional responsibilities onto one employee, while it may look clever, can backfire. It is the corporate equivalent of putting all your eggs in one basket. If one developer is primarily responsible for QA, DevOps and system security, you are in deep doo-doo if that developer goes down or leaves. From a very pragmatic point of view, you want employees to be as replaceable as possible.

3. Resenteeism

Resenteeism is derived from Presenteeism, which, to put it simply, it showing up for the sake of showing up, even if the employee in question is sick, injured or otherwise in no physical or mental state to be fully productive. It is the rambunctious cousin of Quiet Quitting. Whereas in Quiet Quitting, employees scale back on work to perform only duties they are contractually obliged to, Resenteeism ups the ante by noisily doing it. Those practicing Resenteeism are pissed off with the workplace and while they still show up, they're not at all subtle about having their resentment show in their demeanor, output, or both.

Employer's view
This is selfish, toxic behavior and utterly unprofessional. People who are that dissatisfied with their employment should seek life elsewhere and not be a Debbie Downer to those who are happy to be employed. There are plenty of people who don't like their jobs and still manage to perform like a champ.

Employee's view
Sure, such behavior is not ideal. But this could be a symptom of something deeper. We've all had those days.

My view
When you hire human beings to perform tasks, this is what you get. Find the root of the problem and address it. These things don't happen in a vacuum; seriously, who wakes up and just decides to perform their work tasks like an asshole? Many software developers take ride in their work. Even if their work may not be of sterling quality, they give their best. There's pride at stake. And it would take an extreme scenario for a developer to deliberately turn in bad code out of frustration.

It's always Monday!

Of course, in an ideal situation, if one is that unhappy, they should just leave. But not everyone has that as a viable option. At least the symptom is obvious - and whom to fire is just as obvious. But that's just a band-aid, and simply removing the offending employee does not solve the root problem and may even affect morale. Tread carefully.

4. Career Cushioning

I don't know when this term came to life, but the phenomenon it describes is hardly new.

When an employee wishes to leave, but instead opts to stay while actively looking for a new job, that is what people call Career Cushioning. This could be done in concert with Quiet Quitting or outright Resenteeism.

Employer's view
Employees who do this, are cheating the company which is expending time and resources on training them, only to treat the company as a stepping stone. This is ingratitude at its worst.

Employee's view
Well, it's only pragmatic to do so, isn't it? When companies want to fire someone, do they fire first and worry about replacing later, or do they actively seek a replacement first? It's a little hypocritical to complain when the shoe's on the other foot.

My view
Objective as I often try to be, I'm going to have to side with employees on this one. Honestly, what are employers smoking when they have the audacity to complain about this? It's simple math. Try not to be emotional about it.

Not everyone loves their job. To them, a job is just a job. And that stands even more true if the company you're working for, does not belong to you. So putting up with an unpleasant work situation while actively seeking greener pastures is not only perfectly acceptable, it speaks well of the employee's determination and discipline.

Being used as a stepping stone.

Employers, if you're upset at being used as a stepping stone, get over yourselves. Even large companies like Microsoft and Google get used as stepping stones.

You know what's worse than being a stepping stone? Not being good enough to even qualify as one.

5. Rage Applying

I have saved arguably the best for last. Rage Applying is used to describe a situation where employees apply to other jobs after experiencing dissatisfaction with their employers. Kind of like the term "Rage Quit" (one which we won't discuss here) if you think about it. In a momentary fit of anger, the person in question burns bridges, or prepares to do so. The employee starts applying to other jobs like it's going out of fashion.

This, however, is different from Resenteeism in the sense that these employees, as in Career Cushioning, hang on to their current jobs while seeking life elsewhere.

Employer's view
Such employees are unprofessional and immature. There will always be disagreements and unpleasant situations at work. Why throw that all away by looking for a way out when you could confront and fix the situation, like an adult?

Employee's view
Usually, when this happens, it's not due to a momentary stab of anger. It's the accumulation of many injustices and aggravations that have led up to this moment.

My view
Believe it or not, both sides have a point here. There is no job where you won't occasionally have a bad day. The professional thing to do is try to work it out. The employee is also correct in the sense that it's typically not one bad day that leads to this, and possibly they have already tried to fix the situation to no avail.

Don't erupt. Stay cool.

The point I want to make is: quit if you must, but don't Rage Quit. And certainly don't Rage Apply.

This is not to say that employees should not apply for other jobs; in fact, they should regularly be on the lookout for other career opportunities regardless of how happy they are doing their jobs at the moment. Your employer does not own your career. You do. Therefore, you owe it to yourself to know what's out there for you. Techies who allow themselves to stagnate by staying in the exact same role for far too long, are shooting themselves in the foot. I speak from bitter experience.

In other words, look out for other jobs and apply, yes. But don't do it out of rage. Do it with a cool head and a cold heart. This allows you to make better decisions. It's just business. As I mentioned earlier, no sense getting overly emotional about it.

One last (buzz)word...

Neither employers or employees have all the answers. And sometimes their views can be colored by their perspective. Admittedly, as an employee myself, I feel a certain way about certain things. But there are some things that, from a pragmatic standpoint, are either a good idea or a train wreck waiting to happen. I have tried to present that view. Whether or not I have succeeded in that, your mileage may vary.

Did it just get quiet in here?
T___T