Sunday, 3 March 2024

Film Review: Black Mirror Series Four, Redux (Part 2/3)

On to the next episode: Metalhead!

The Premise

We follow the trials and tribulations of a middle-aged woman named Bella, who is being hunted by - get this - a robotic dog.


Were you expecting more? Too bad, then, this is all there is. Honestly, what else do you need?!

The Characters

Maxine Peake does a fantastic job as Bella. Plucky, tenacious and compassionate. I was rooting for her to survive, but this is Black Mirror, after all. That being the case, this was a heroine I could really get behind. 

Clint Dyer as Tony. The weary black dude who gets killed in the first few minutes.

Jake Davies as Clarke. Jumpy fella. Comes across as someone who wants to do the right thing but has to be persuaded by deal-sweeteners.

The Mood

Dark, man, it's dark. Visuals aside, this is probably the most depressing Black Mirror episode ever, period. All hope goes out the window. Humanity is doomed.

What I liked

The fact that this episode was filmed entirely in monochrome. Think about it - dogs are color blind.


Holy shit, the Dogs are terrifying. Just the fact that they look like large iron roaches already made my skin crawl. Add the penchant for wanton violence and, well, dogged persistence, make them an extremely scary threat. Not to mention that part of their arsenal includes tracking devices embedded in shrapnel bombs, and short-range bullets! Their silence and obvious intelligence, as well as the inherent wrongness about the way they move, serve to make them intensely creepy in addition to being dangerous.


Not just their weapons - the little devices they have in their "paws" that enable them to commandeer vehicles and hack into houses. The plot points really revolved around those too!


The scanning from the dog's point of view is grainy, monochrome and nightmarish. Nice work!

I really liked the way Bella outsmarts the AI of the Dog hunting her and even takes the fight to the Dog. This gave me shades of Sarah Connor in Terminator.

Bella's tearful farewells on the comms are really poignant. They bring up an extended cast whom we never hear from (much) but add to the backstory.

What I didn't

If I had to quibble, this was thematically one of the worst fits in the Black Mirror universe. I mean, normally we see hints of advanced technology and humans screwing it up due to being human. This one was outright apocalyptic. Doesn't make it less fun, but I watch Black Mirror for certain things, y'know? There wasn't any of it here.

Conclusion

Not too heavy on the social commentary. There is basically one main character in here. If you're looking for an action-survival hour, this episode ain't too bad at all. However, if what you really want is some urban drama revolving around tech, maybe not so much.

But hey, I enjoyed it. The monochrome really reminded me fondly of Sin City.

My Rating

9 / 10

Next

Black Museum

Friday, 1 March 2024

Film Review: Black Mirror Series Four, Redux (Part 1/3)

It's time to continue with the review of Black Mirror Series Four!

We have the next few episodes lined up here, and trust me, these are great. And fear not, I'm gonna tell you why as we proceed on through this review. Suffice to say, Black Mirror Series Four really ups its game midway through this offering, and the latter three episodes reflect brave and refreshing choices.

The Premise

In an alternate reality where a dating system promises a 99.8% compatibility rate, two participants brave all odds to stay together despite the system deciding otherwise.


At the end of the entire episode, we see that this is about a dating app, but in a more meta context.

The Characters

Joe Cole as Frank. Didn't I see this guy in Peaky Blinders? Whatever, he's good here as an everyman with self-deprecating wit.

Georgina Campbell as Amy. Charming, beautiful, with a very healthy sex drive and great sense of humor.

George Blagden as Lenny. A hunk with a penchant for exhaling loudly. Just a little character quirk that annoys Amy no end.

Gwyneth Keyworth as Nicola. Supreme sourpuss, with all the charm of a blunt battle axe. The actress does a pretty decent job of making her unlikeable.

The Mood

Everything seems beautiful and glamorous in this episode, a sure sign that something is not quite right. It's all just so... neat.


I mean, even the houses the participants stay in, look like little doll houses!

What I liked

Whenever Amy and Frank are together in the same scene, even as a shy awkward couple or a pair of daring co-conspirators, the chemistry is amazing. I can totally buy them as star-crossed lovers. That is some great dialogue right there, and the two of them just carry it so well.



The design of the little devices that participants have to carry around. They're just flat circular palm-sized things, which matches the logo of the system - two interlocking circles! Pretty apt.

The recurring theme of the rocks skipping an exact number of times. SOmething I only picked up on at the second viewing, a hint that this is a computer simulation.

The twist at the end - that it's a simulation - was so cleverly done. And we see exactly how the 99.8% figure was achieved.

What I didn't

The episode title. These seem to get increasingly nonsensical in Series Four. Like, what the heck does "Hang the DJ" even mean?! It's just the refrain of the song they play at the end.

It's a little weird that the participants seem to have literally nothing else to do than wait for their next partner. Then again, perhaps this is a clue that the whole thing was a simulation.

Conclusion

This episode was not bleak, and even ended on an uplifting note. The twist, however, was very Black Mirror and I approve heartily.

My Rating

9 / 10

Next

Metalhead

Monday, 26 February 2024

Take ownership of your career, please

Often, I have remarked on how important it is to own your career. And never was it more apparent a few years ago, when I came upon a Facebook post by a self-styled entrepreneur, who claimed to be the kind of boss who sends his employees for skills upgrading. He further asserted that it is the employer's responsibility to do so. Now, in all fairness, this fellow's English is less than ideal, which may account for the fact that he sounds like an obnoxious virtue-signaller. (Of course, him actually being obnoxious may be the main reason he sounds obnoxious.)

That was his assertion, and now this is mine, and I recognize that this may be an unpopular opinion, but here goes. Your career is not, and should not ever be, your employer's responsibility, no matter what they may claim. It is yours. Letting - or worse, expecting - your employer to take care of your career, is tantamount to abdicating that responsibility.

Would it be nice if your employer took care of the costs associated with pursuing your professional training? Of course. It's also potentially dangerous to allow your employer to determine what parts of your game to upgrade. You, and you alone, should be deciding the direction in which you train. And if your chosen direction does not align with that of your company, perhaps it's time you parted ways. Remember, your career will span more than one company. The company you are currently a part of, is but another step in the journey. It's not the entire journey.

Be the Captain of your ship.

If I'm going to upgrade my skills, I want to be the one to decide which skills to upgrade. Think of your career as a ship, of which you are Captain. Not your employer, not your wife, not your mother. You.

Then again, perhaps I speak from a position of privilege. I've spent my entire career ensuring as much as possible that I am not beholden to any one employer beyond the terms of our contract. And I have the luxury of knowing I have a healthy bank balance, and other income, to pay for the costs of my decisions. Everything I say assumes that you enjoy similar privileges - that you are not in a position where you are underqualified and therefore at the complete mercy of your employer in order to stay employed.

And if that's the case, if indeed you are in that kind of position, you should absolutely eat whatever your employer graciously gives you, and be properly grateful for it, peasant.

Your Employer's Responsibility

Getting back to the subject of your skill upgrades being the employer's responsibility...

Employers control many things. In particular, they control whether or not you are employed at their company. They, to some extent, control your working conditions, and whether or not you are able to pay your bills. The more people they employ, the more they control. Thus, it's almost inevitable that employers tend to develop some kind of Big Brother complex (or, as I like to call it, the Chinese Towkay Syndrome). That is not a slight against their character; put that amount of power in anybody's hands, it's almost guaranteed to happen at some point. Employers are only human, after all.

However, regardless of their feelings towards how much control they have over your career, your career is yours and yours alone.

Your employer does have responsibilities. Managing your career is not one of them. Employers determine company direction. They manage the business. They drive profits. And if your career progression has a large bearing on the aforementioned, then sure, it is the employer's responsibility to ensure you succeed. Not because of you. Because it benefits the company, which the employer is responsible for.

However, in isolation, you don't matter. In the context of the entire company, your career is a drop in the proverbial ocean.

Your career is a
drop in the ocean.

Let's, for a moment, switch the context to that of the programmer, a role I'm most familiar with. A programmer has an influence on product quality. A programmer may be able to lead entire teams. A programmer may even be able to indirectly drive profitability. But the most control programmers have, is over what technologies they master, what skills they pick up, and what industry experiences they acquire.

Our careers are only thing we can have control over. How does it make any sense to cede that control to someone else? Someone that, I may add, has less skin in the game than you do. If you're not good enough, your employer suffers a temporary setback. But your employer can replace you just like that. You, on the other hand, are a hundred times more affected by your own professional success, or lack thereof. Depend on your employer to upgrade your skills and send you for training? What, are you insane or simply just spineless?

Learn what makes sense to you. Steer your career in directions that you want to go.

Final words

Relying on another person to "take care of you" is a sure recipe for calamity. Expecting someone else to care more than yourself about your own career, is nothing short of folly. Never ever make the mistake of thinking that your career is in someone else's hands.

Steady the course, Captain!
T___T

Tuesday, 20 February 2024

Becoming an employer (sort of) for a day

On the very first day of this year, I began the daunting and emotionally-wrenching process of clearing out my apartment.

For context, this was one of the final parts of a journey that began in 2015, when the Singapore Government decided to reclaim the land on which my apartment building stood, which meant that I would be relocated and suitably compensated. COVID-19 turned out to be a two-year spanner in the works. In the tail end of 2023, the new homes were finally completed and we could begin moving over.

So yes, I now have a new home which I just moved into.

The surroundings of my
spanking new home.

That wasn't the end of the story, however. I still had to clear out my old apartment and return it to the Government. This meant that all the furniture, appliances and unwanted rubbish in the apartment had to be properly disposed of. Removals company were quoting me an outrageous fee for this service. Some asked for SGD 400. One quote even went up to SGD 750.

I mean, ultimately, it's just money. But still.

An ex-schoolmate had some Bangladeshi workers he knew, who were looking to make a quick buck during the public holidays. He hooked us up, and we made a date for the first of January.

How it went

Honestly? They showed up on time, did the job without fuss, and finished in maybe three hours. At the end of it, the big-ass pine dining table, computer desk, queen-sized bed and mattress, three single beds were all dismantled and cleared. My old washing machine, refrigerator (now that was a nightmare) and other miscellenous bits of furniture were removed. And finally, everything that wasn't nailed down, was taken out in garbage bags.

They toiled, strained, and grunted. But at the end of it, it was done. Done.

Clearing out the
old place.

And they charged me a hundred Singapore dollars each, which I paid. Happily. Without haggling. Because I've been a freelancer before, and I absolutely fucking hate it when people ask me to justify my price. No, bro. My price is my price. You get to take it or leave it, but you don't get to question it.

Thus, this being the standard I set with regard to naming my price, it seemed only reasonable to extend others the same courtesy when the roles were reversed.

Was it too expensive?

This led to a question that people inevitably asked when I told them. Is this too expensive? After all, they were charging me for a full day's work, which they finished in three hours.

Let's examine the facts, then.

Firstly, remember that the typical removals company would have charged me more than double what these guys cost me, for less work.

Secondly, it was the New Year's Day, a public holiday. Many people asking this question would actually get paid overtime if they were recalled in to work on this day. In a full day's work, as a software developer, I estimate that I earn more than double what these guys were charging me. On that evidence, I saw no reason to begrudge them this.

The last point is major for someone who works with software. I'm not concerned about the fact that they worked three hours but charged me for an entire's day work, at all. Good for them; we should all aim to be this productive. The staggering amount of work they did in these few hours would have taken me an entire day. And I was more than happy to not have to sit around an entire day waiting for them to be done. It's a failure of several employers I see, a trait of The Chinese Towkay Syndrome, to value the efforts of someone by how long they work.

This is a syndrome that begrudges people money unless these people sweat buckets for that money. This obsession with having people work hard for your money, is pure foolishness. That is akin to judging the monetary worth of a software product by the number of days it took to produce it!

Get a beast of burden.

This is why I feel that Singaporeans generally make poor employers. They bitch a lot about how they're undervalued and exploited at work, but once the shoe's on the other foot, they become the exploiters with tragic alacrity, becoming the very assholes they constantly rail against. You want hard work as opposed to results? Get a fucking camel. I don't know what else to tell you.

Why would I feel inclined to pay less just because someone took less time to do the job? FFS, I'm a software developer. In our world, we believe in results, not perspiration. You generally want to encourage people to work faster, not necessarily harder, and definitely not longer hours, to produce the same result. Paying them less for it is counterintuitive, or at least it is for people who engage in logic for a living.

Are there migrant workers who could have done it for less? Maybe. Probably. But these are the ones I was handed. They did the job for less than I would have paid otherwise. They got paid well for their trouble. We both benefited from the arrangement, and everything else is just noise.

Conclusion

We should measure the value of things by work done, not by hours worked. There is a stark difference. Quantity does not equate to quality.

Don't work hard. Get work done.
T___T

Friday, 16 February 2024

Why Mask The Password Field?

There is a delicate balancing act to be maintained where web security is concerned. Scratch that; this happens with all security. The more secure a system is, the more inconvenient it tends to be for the user.

The example we will examine today is the humble Password field. In HTML, this is how you do it. This is a typical input tag.
<input value="This is a text field" />

Nothing fancy here.

All we need to do, is use the type attribute, and give it a value of "password".
<input type="password" value="This is a text field" />

Simple, eh? Now the input is masked.

But this isn't just about HTML. There are plenty of form builders out there which will also provide masking once a field is described as a Password field. Why this convention?

The reason why passwords are masked, are to prevent others from being able to view the user's password, on the off-chance that these others are shoulder-surfing at the time. But hold on, won't other things like keystroke loggers do the job of stealing passwords much better? And in an age where people work remotely (during the COVID-19 pandemic anyway) why is shoulder-surfing still a concern?

No, remote working can actually be an even more compelling reason for password masking. Remote working tends to mean video calls and screen presentations. What if the user needs to enter a password during that presentation?

The inconvenience of masking

Of course, hiding any kind of input the user creates on screen, just by definition, is inconvenient. If people can't see what they are typing, mistakes occur. And in the context of passwords where even capitalization is important and typically passwords of a minimal length are mandatory, that inconvenience is magnified.

Effectively blind.

In effect, you're typing blind.

This assumes that there is nothing wrong with the keyboard (not stuck, etc) and that the user isn't suffering any kind of impairment, like dyslexia. Needless to say, all that can only add to the inconvenience.

Mitigating features

Not masking passwords is out of the question. So what, then, is the way around that inconvenience?

One way is to implement a feature for temporarily revealing the password. You may see this take the form of an eye icon on the right side of the field.

Masked...


... and unmasked!


Is it perfect? Well, it kind of solves the problem while kind of maintaining security. It's a long way from watertight, but until we come up with a better idea, it stays.

Finally...

This blogpost was inspired by an interview candidate who, while demonstrating a project she had made, showed me a web form she had created where the password was represented as a... you guessed it, standard text field. I waited for her to bring that up and maybe make an excuse for it. Honestly, I would have taken any excuse, I just needed to know she was aware of the need to mask the password. This isn't entirely why she failed the interview, but it did get me thinking about password masking.

Yours ***************,
T___T