Showing posts with label India. Show all posts
Showing posts with label India. Show all posts

Monday, 13 July 2026

Hiring remote foreigners? Slow your roll, hotshot

"If I allow remote work, I'd be better off hiring programmers in Vietnam."

Sound familiar? Because that is the sound of millions of employers all over the world repeating the same old tired line. If I had a penny every time I heard some small-time Towkay-wannabe mouth off about how they'd save so much money by hiring foreign workers remotely rather than letting local talent work from home, I'd be absolutely rolling in it.

If I had a penny...

If you think this makes me sound dismissive, that's because I am. I am dismissing this line as nothing but bluster and hot air. And sit tight; I'm also about to explain why... in the Singapore context, naturally.

When it makes sense

If it's a huge MNC like, say, IBM, whose head office is in the USA and opening a regional office in Singapore, then yes, it makes total sense. Because they're already doing it. Their hiring and legal infrastructures are made for this. Even if the company is not at the scale of a large corporation, but still a respectable size, it might still make sense. It has to; plenty of these companies are doing it. The alternative is that all of them went nuts at exactly the same time... which is scarily plausible in these crazy times.

A game of expansion.

When hiring is done by the book, the host country (in this case, Singapore) and the remote country (in this case, Vietnam), both have agencies that will handle the legalities. I know because I've worked as an Agency Contractor before. These are absolutely a thing.

And of course, these agencies aren't doing it out of the goodness of their hearts. They're a business; they expect to get paid. This will eat into whatever employers think they're saving by hiring foreign workers, remote or otherwise. But that's OK - even if these tech companies don't save that much per foreign worker they hire, at scale, it tends to add up. Enormously.

When it makes less sense

A tiny tech startup trying to follow in the footsteps of a large corporation without understanding basic realities of scale, is on what I would charitably refer to as a "fool's errand". How many would such a company hire? Five programmers? Maybe ten? Whatever the company saves in wages, is nowhere what a larger company saves when hiring hundreds of these people. And if that pittance actually counts as a win, I would be deeply concerned about the finances of said company.

You sure you can
follow in those
footsteps?

I remember a time when Steve Jobs was considered the man to emulate. He was known to be a bit of an asshole, but he had undeniable talent, and thus he succeeded in spite of being hard to work for, or with. People took it to mean that in order to be as successful as Steve Jobs, one had to be an asshole. The end result was that we had quite a few Jobs-wannabes - basically talentless assholes with big dreams and even bigger mouths.

My point is, imitation may be the highest form of flattery; but for those ill-equipped to carry out said imitation, it becomes a liability quickly.

Also, consider this: any employer who isn't comfortable with employees working remotely on an island as small as Singapore, will be significantly less comfortable with employees working remotely out of Singapore.

If your employer is threatening to stop all this WFH nonsense by hiring more WFH programmers from beyond Singapore's shores, it doesn't take a genius to understand that the math does not quite add up.

When it starts being stupid

And it's at this point, where some employers will go, "Well, I'll just skip the red tape and hire direct from Vietnam, then."

Really? You're going to bypass all the legal and pertinent protections that hiring through the proper channels brings you?

How well do you know your own local employees, much less ones you hire from overseas? Do you know their residential address? And even assuming it's a verifiable genuine address, have you ever tried to navigate Vietnam using just a residential address without any understanding of the local language and conventions?

Pray tell, if the foreign software developer whom you don't know from Adam (or Minh, or Rajasamy) decides to sell your IP to the highest bidder, introduce malware into your code base or do any manner of damaging and illegal acts for profit or simply for amusement, how well do you expect to enforce your legal rights? Remember, they're not operating in Singapore, your home turf. Unlike local employees, these are foreign developers under a different jurisdiction where legal enforcement is already significantly harder - now made even more difficult because, y'know, you so cleverly bypassed the proper channels.

That's just the most extreme cases. Let's consider some less extreme but still very real considerations.

Time zones aren't that big an issue. This being Southeast Asia, assuming the employer is not adventurous (or foolhardy) enough to hire from further abroad, the time differences are off by a couple hours at most - an hour tops in the case of Vietnam. It'll need work, but it can work.

What's arguably a bigger issue, is culture. Just because you are all presumably communicating in English does not mean you speak the same language. Nuance gets lost in translation, especially if you're speaking through a computer screen. Honestly, colleagues have enough problems just communicating face-to-face, in the same culture, in the same language.

Don't cut through
this red tape.

And the most relevant question of all: Why, in the name of all that's right and holy, would anyone put themselves in this position just to save a few thousand bucks a month? Does a company that needs to save that kind of chump change so badly, really inspire confidence in you as an employee?

Anyone old enough to run a business, is too old to be this fucking dumb.

Hiring foreigners isn't foolish inherently. Hiring foreigners remotely isn't either, though significantly riskier. Hiring foreigners remotely without going through the proper channels? Reckless, and potentially illegal. Don't do it.

Conclusion and disclaimer

This is not meant to be any kind of statement against Vietnam. Vietnam absolutely does have a wealth of tech talent at affordable prices. I've worked with quite a few. I was only using Vietnam as a convenient example. I could easily have said Myanmar or India.

My point isn't that employers shouldn't hire foreigners remotely. My point is that it's not something that can just be hand-waved. Employers who have the experience and capability to carry this out, won't be talking about it because they are already - as Nike likes to say - just doing it. Or at the very least, taking cautious first steps. And the ones who are bringing it up casually as leverage during a discussion about remote work, will in all probability continue to just talk.

Your employer is not stupid. But if he's using hiring remote foreigners as a threat, he probably really hopes you are.

Tạm biệt hẹn gặp lại,
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, 3 October 2020

TeochewThunder: Year Six (Part 1/2)

2020 has been a turbulent year, not just for me, but for just about everyone on the planet. It will forever be known as the year COVID-19 ravaged the world, and the scary thing is, it's far from over. At least not if USA and India have anything to say about it. As befits such a world-shattering event, many of my blogposts this year revolved around COVID-19 as a subject. Not only did this unprecedented crisis give rise to much technical innovation, it also forced changes in the way many people do things, thus forcing even more innovation. The effects were far-reaching and felt even to this day.

Somewhat closer to home, the Singapore General Elections were held around this time. This also gave rise to a series of writings that sometimes coincided with views on COVID-19. This wasn't done on purpose, I swear. COVID-19 just got its hooks into everything.

As it stands, I've just lost my job last month. Long story. As of the first day of this month, I landed another job (though goodness knows how long that will last) and I'm scheduled for yet another stint in school starting this month. The yearly blogging break could not have come at a better time.

Here are some notes about content on this blog...

Web Tutorials

The web tutorials have mostly focused around a whole lot of JavaScript. What can I say; I'm a severely limited programmer and JavaScript happens to be an old friend. There's been new stuff, obviously - D3.js, ReactJS... yes, it's all still JavaScript, but it's different ways of applying the JavaScript ecosystem. You can be a good or bad programmer, but above all, have fun.

My love for learning new stuff has never been put to the test quite as severely as the past year. Everything I learned challenged my assumptions and showed me I know a lot less than I thought I did, and that I have a long way to go before considering myself even mildly accomplished. Which is fine by me; ego is overrated.

A long, long climb.

Despite writing about Ruby just two months ago, I've not actually had a chance to touch it much. It's the same with QBasic. This year has been almost exclusively JavaScript and PHP. All in all, my grasp on tech has evolved. Though, it has to be said, I'm still trying to keep the web tutorials at levels that are accessible to beginners such as myself back then. In many ways, I'm still that wide-eyed kid playing with stuff.

Reviews

Thankfully, unlike last year, I managed to tone down on the overwhelming number of reviews, and actually varied the kind of reviews on offer. There's a recent Reference Review I did on The Mythical Man-month: Essays on Software Engineering, for instance.

No time to play.


I've not had much time or inclination to play or review mobile games, which is a real pity. The mobile game makers seem to be getting more innovative by the day. I guess they have to, with all the competition that's out there, and the notoriously short attention span of their target audience.

Rants

As mentioned in the very first paragraph, there's been quite a few rants on this blog involving either the Singapore General Elections or COVID-19, or both. Regrettably, I've used more vulgarities than was absolutely necessary, and while I don't apologize for it, I acknowledge that things could have been worded a lot less offensively. Could.


Having things to say.


All in all, though, I've been way less of a windbag this year than I've been prone to being the past few years, even though COVID-19 has given me plenty to rant about. Maybe it's because I got most of it out of my system. No point repeating myself.

Or possibly, I'm just getting old.

Others

As mentioned, there's been considerably more diversity in feature blogposts - a good balance of reviews, listicles and what-not. I will strive to maintain that balance.

That tends to be hard because daily, there is tech-related breaking news and I need to decide if I care about it enough to include it in TeochewThunder. And if I do, I need to make hard decisions about what to post now, and what to post later.

Next

Examining what resonated with readers, and what didn't.

Sunday, 7 June 2020

App Review: Missing

A game for a cause, with screenshots that promised so much. What could go wrong? Well, dear readers, you're about to find out.


Missing is a mobile role-playing game by Missing Link Trust where the player assumes the role of one of the many girls who go missing in India every year. And, as ideas go, it's certainly not a bad one.


I first picked up Missing because it advertised itself as a game with a social conscience and the graphics seemed really good - both big pluses in my book. Would have been an even bigger plus if they had featured zombie slavers... nah, I'm kidding. Even zombies couldn't save this game.

The Premise

You play Ruby, a girl in India who has been abducted and forced to work in the sex trade. The story chronicles her day-to-day survival and eventual escape from her predicament.


It's a puzzle-based game with the puzzles built into the story, with a predominantly point-and-drag interface.

The Aesthetics

The game is full of nicely rendered spaces to walk in, depicting the squalor pretty well. The character portraits are actor photographs and they're quite apt most of the time - from the sleazy pimp Masi to the brutal enforcer Shonty. The amount of detail put into each environment is great.




The Experience

This is a nice story with good atmospheric effects. Even though I kind of knew that there was a happy ending in there (it would be way too depressing otherwise) I still wanted to see this game through to the end.

The Interface

Use your finger to drag around the screen, and Ruby will run where you direct her to.


The book in the bottom left is a journal for you to track your progress with, and the items in your inventory will be used at some point in the game.


During conversations with NPCs, you choose conversation options to advance the story and get information.

What I liked

The Logo. Look at that artful use of negative space for the second "I" in "MISSING".



Puzzles. The ones which advanced the story were pretty good. They weren't hard enough to be annoying, but not so easy that they insulted your intelligence. For the most part, it was just a matter of hiding from roaming enforcers.

In terms of aesthetics, the graphics are brilliantly painted and as far as prettiness goes, Missing is probably up there with the best.



The creators of the game did a great job with the story here. It is kind of short, but compelling simply because it's based on real situations. The sexual violence isn't too in-your-face and does just enough to bring its point across.

What I didn't

The font used in narration and conversations. Narrow and all-caps. Considering all the effort they took to make this game look so pretty, why did they choose such a hideous one?

Animation. The great pity about the gorgeous graphics is the silted animation, and sometimes very obvious visual glitches.




The Mini-game where Ruby has to earn money from men. It begins with a time limit, bargaining with a chosen target and closing the deal with a tasteful fade-to-black. Firstly, this mini-game is silly and repetitive. The goal is to earn enough money so that Masi will let Ruby off for the day and give her a chance to advance the storyline. Problem is, every time Ruby meets her quota for the day, Masi will up the quota. Maybe all this is meant to convey the hopelessness that Ruby finds herself in, but we're playing a game here. Being depressing is one thing, but this is pure drudgery.




No replay value. This happens with a lot of RPGs with linear storylines, but in this case, even the various dialog options don't offer anything that interesting on replay.



The final stage. Oh, the horror! It's an absolute pain in the arse to play and again. Maybe this is deliberate in order to convey the danger and frustration... but enough is enough. Look at the screenshots above, then imagine playing them in the dark. Literally, because that stage happens during a blackout.

Conclusion

This game's a mixed bag. The idea is good, but the execution is so dismal that I'm tempted to warn you off it. Still, it's not all bad. There are parts which are good... which unfortunately makes the bad parts stand out even more. This game is the perfect example of how good graphics aren't everything.

My Rating

5.5 / 10

You might want to consider missing this game...
T___T

Monday, 26 September 2016

On the fast track: Project Nilgiri

At the beginning of the year, we took a look at Facebook's Free Basics, and how that initiative was panning out in India. As it happened, not very well. The Telecom Regulatory Authority of India (TRAI) issued a ban on Free Basics, leaving Facebook out in the cold and Mark Zuckerberg back to the drawing board.

Fast forward eight months later...

Google has had a great deal more success in India as Google Fiber and Indian Railways negotiated a partnership. This has recently come to be known as Project Nilgiri. (You were expecting something like "Goograil" or "Indian Fiber"? Dude...)

Free WiFi!

What's Project Nilgiri?

I'm going to keep it simple (and it really is that simple) and say that Google builds WiFi stations all throughout the train stations operated by Indian Railways. To date, it's covered 10 of these and looks to be building on that number by the end of this year. What this means is that passengers on the train now have access to free WiFi at staggeringly high internet speeds for about 30 minutes upon the issuance of a one-time password. The access persists after the time limit but at a reduced rate.

The target is 400 railway stations, making Project Nilgiri the largest WiFi network in India, ever.

That's not all. This is only Phase One. Phase Two involves providing WiFi to moving trains, not just train stations!

What's in it for Google?

I'd like to believe that it's purely because Google CEO Sundar Pichai  was born in India and thus would like to aid in its economic growth. But let's get real and look at the huge amount of exposure and potential deals Google is going to get from this. Already, usage has hit astonishing heights as users stream music, videos, even porn, at the railway stations. I bet this hasn't hurt Indian Railway's consumer rate either. And that's considering Google Fiber and Indian Railways are not even done yet!

There are licensing costs associated with being an ISP in India. With this partnership, Google probably will not have to be overly concerned about those costs. In short - brilliant!

Now the burning question...

Why did Google succeed where Facebook failed so spectacularly? I mean, approval from TRAI aside, the reception to the Project Nilgiri seems to have garnered much less controversy and way less resistance. I have some theories about this...

Nationality

It could all just boil down to skin color. Sundar Pichai is India-born. Mark Zuckerberg comes across as the white boy trying to muscle in on India territory. Personally, I think kind of mentality is so last century, but I won't discount the possibility.

Keeping it simple

Project Nilgiri is presented as a value-add rather than a product in itself. Take the train and you get free high speed WiFi. No fuss, no caveats, no conditions. Free Basics, on the other hand, makes someone jumps through a whole lot of hoops and then subjects them to restrictions. Buy a SIM card, register an account and only certain sites are free for access, yadda yadda.

No Preaching

Facebook makes an awfully big song and dance about eliminating poverty and bringing Internet access to the impoverished masses. That's a big dream, a noble dream. Always good to aim high. And no, I don't doubt Zuckerberg's sincerity. But yes, fairly or not, the whole thing does smack of condescension. And people react negatively to that.

Google has kept their aims manageable. Give train passengers free WiFi. That's all there is to it. No grand marketing campaign to sell the nobility of the enterprise, no epic scope, at least not on a moral level. Far more achievable, and something people can get behind.

The epic irony is, Google may have done more towards lifting India out of third-world status without actually even (apparently) meaning to.

Conclusion

Whatever the case is, Project Nilgiri appears to be going places. It'll be exciting to see how this impacts India as a whole eventually.

Is that railly cool, or what?!
T___T

Tuesday, 5 January 2016

FreeBas(ic)ing the Facebook way

Freebasing... OK, I know. Terrible, terrible pun.

Anyway, if you haven't already guessed, today I'll be talking about Facebook's new initiative, Free Basics. As some of you may know, Facebook launched Internet.org last year and it was renamed "Free Basics" in the final quarter of that same year. Its purpose? Broadly speaking, to provide free internet access for less fortunate folks who can't afford to pay for it.

Free Basics


How's that supposed to work?

Interested parties providing web services and applications apply to join the platform, which is carried out by Facebook and an Internet Service Provider. Anyone using the a special sim card to access these sites/services/apps does not get the charges added to the bill. So the point, ostensibly, is that people who can't afford to pay for data charges can use these services for free.

Reactions

Response from India has been mixed despite Free Basics' potential for reducing the massive wealth gap. The majority of the online chatter seems to be denouncing it. Comedy group All India Bahchod (AIB) released a few skits which will effectively sum up their concerns. I particularly like this one by Schitz en Giggles. It's pretty funny and explains the reactions far better than I ever could.

But what the hell, I'm gonna try anyway.

See, the ruckus is about Net Neutrality.

Net neutrality (also network neutrality, Internet neutrality, or net equality) is the principle that Internet service providers and governments should treat all data on the Internet the same, not discriminating or charging differentially by user, content, site, platform, application, type of attached equipment, or mode of communication. - wikipedia.org

Activists are concerned that this compromises the principles of Net Neutrality if only certain services approved by Facebook and the ISP are allowed to take part in Free Basics. This excludes entities who are competitors of the ISP, or who do not conform to technical specifications set by Facebook. Which effectively means that those using the Free Basics platform will get free access only to a certain segment of the internet.

Mark Zuckerberg, founder of Facebook, has voiced his opinion to the contrary. I'm not sure I entirely buy his message that Free Basics fully respects Net Neutrality. Because, if we go by the definition above; the way Free Basics is being implemented, the very fact that interested parties need to be approved by Facebook and the ISP, contradicts that principle.

Due to the outcry, Telecom Regulatory Authority of India (TRAI) has temporarily ceased the implementation of Free Basics, at least till January 7th, 2016.

So in a nutshell, this is about the principle of Net Neutrality. The principle is admirable. But as a developer, my faith in principles do not supercede my faith in results. Punctuality is an admirable principle too. If you had to choose, would you rather have a developer who comes in late every damn day but meets all his delivery deadlines, or a habitually punctual developer who doesn't deliver? Again - results. If you had a fire to put out and someone handed you bottled water, would you refuse to use it because of ethical issues?

I'm not saying that the naysayers don't have a point. In fact, they have an excellent point. But let's look at this again. The problem is that a sizable percentage of India's population do not have the means to pay for long-term internet access, and lack of access to information and services will further disadvantage the poor. Free Basics will alleviate that problem swiftly. Does Net Neutrality matter to the ones that Free Basics is supposed to benefit? I think fucks given: zero isn't too far off the mark here. (Far off the mark, geddit? Heh heh)

Facebook is not being altruistic

Facebook stands to gain from this. It stands to gain big. Increased exposure to the masses, increased growth... the opportunities are huge. So yes, all that slick marketing Facebook is doing to promote Free Basics as an noble endeavor, is just so much doggy-doo.

Free Basics poster
So what?

Last time I checked, Facebook isn't a non-profit organization. So Facebook found a way to benefit itself and the poor, without robbing anyone (jury's out on that one, though). Why is that a problem, again?

Tim Berners-Lee has argued that customers should "just say no" to offers of a cut-down Internet.  Now, I respect TimBL as much as the next web geek, but wouldn't "customers" in this context be the target demographic that Free Basics is aiming for? I can't see them complaining about getting free stuff. And those not wanting to participate are certainly not being held at gunpoint to do so.

Facebook's tyranny

Which brings me to another point - the activists who cry "Who is Facebook to decide what services poor people should and should not get?"

Hmm, you guys got me there. Not so long ago, I was looking over hosting plans from Hostinger. Now apparently there's a free plan where you don't have to pay a cent. What Hostinger gives you is 2000 mb of storage, 2 MYSQL databases and 100 gb of data transfer, among other things. But guess what - if you want more stuff, you have to pay, like, 2 gbp per month.

God damn it! Who is Hostinger to dictate what services that I, an impoverished web developer, can access on their free hosting?!

Alternative solutions

Recognizing the fact that giving unfettered free internet access is economically unfeasible, some activists and concerned citizens have raised alternative ideas in place of Free Basics.

One such idea involves providing free internet, with no restrictions, for a period of, say, 3 months. I don't think that's such a hot idea. If the goal is to provide access to people who have never had internet access, the learning curve here may turn out to be costly. Surfing the web is a no-brainer. But surfing the web productively, to gain access to useful information and services, is something that can only be learned over time. And almost certainly not in the space of 3 months, unless one dedicates an entire 3 months to learning productive web navigation. Just a wild guess - the target demographic is a little too preoccupied trying to make ends meet.

Another idea: Provide internet access, with no restrictions, with the first 300mb of data free. You're kidding, right? All these guys need to do is watch a few YouTube videos and the 300mb will be gone faster than you can say "Save The Internet". Unfettered access, remember? Plenty of options. Too many choices. An overwhelming number of options.

Possible consequences

This could lead to Facebook getting a stranglehold on the Internet. By limiting free access only to certain sites, Facebook can control what poor people see and think. How deliciously insidious.

Here's an idea - get off the Internet. Or, if you want to access anything outside of the free stuff Free Basics is giving you - pay for it like everyone else.

If Free Basics does not go through, Facebook loses nothing. India will still have the problem of a struggling, under-developed segment of its population with no internet access. If Free Basics does go through, all that happens is that these people get stuff they didn't have before - at no cost. I fail to see a downside to that, at least. As an interim solution, Free Basics is ugly but effective.

What is TeochewThunder's position?

Hey wait. This is India we're talking about. I don't live there. No skin off my back. I'm just a web geek writing about interesting occurrences in my industry.

But, if you insist on supporting one side or the other, the link to Save The Internet's petition is here. And the link to support Free Basics is here.

Stay tuned. This appears to be TRAIing times for Facebook!
T___T