Showing posts with label Android. Show all posts
Showing posts with label Android. Show all posts

Sunday, 1 November 2026

AI Doomsday Scenario: Truth or Hogwash? (Part 1/2)

The month of September in 2026 was almost completely dominated by one headline, in the world of tech, that is. Drumroll...

The Artificial Intelligence Doomsday Scenario.

Sam Altman, Dario Amodei and Elon Musk - all CEOs of AI tech companies, all came out to warn us that AI tech is dangerous and could result in wiping out all of humanity, and called for regulatory measures. And I find all this less than convincing. 

It's not that I disagree that regulation is needed. It's overdue, even. But the timing is... interesting. It just seems awfully convenient that this comes at a time where OpenAI and Anthropic are trying to IPO (OpenAI's plans seem to have been curtailed at this time of writing), and China is producing cheaper comparable models and giving away the services for free. These three wouldn't be trying to cripple competition via regulation, would they?

Here's the problem, tech CEOs. People with an IQ higher than the average box of rocks, don't just want to listen to your dramatic fantasies. We want to be given a plausible framework for how this could happen. Who do you think you're talking to, superstitious villagers doing a rain dance?

We're too old for bedtime stories. Show us the math. You said AI will being about the end of the world. That's a big statement. Go on, walk us through it.

Dangerous things.

Any idiot can tell me that AI is potentially dangerous. I could be a terrible driver, and even worse marksman, and still be able to tell you that cars and guns can be lethal. "AI has the capability to do great harm" isn't exactly an Earth-shattering revelation. You're major decision-makers in famous tech companies. I expect more.

Only Amodei has even made the attempt. It still sounds like science-fiction, but to be fair, it's more than either Altman or Musk have given us. Though, come to think of it, wasn't Musk the same guy who said AI should compile binaries instead of generating code? You know what, I think we'll do just fine without his input.

Amodei also called for curbs on selling chips to China.

The China issue

I would caution against putting China in this position. Remember Huawei back in 2018? USA put them in a situation where they'd have to create their own OS instead of leveraging off Android. How'd that turn out? I'll tell you how it turned out - Huawei came up with HarmonyOS and have now conquered the China market.

China has the raw materials and the energy resources. They're also known as the world's fastest builders, a reputation cemented during the COVID crisis. And also the world's foremost manufacturers, a reputation cemented long before the COVID crisis. If, on top of their capabilities and resources, they're given the motivation, do these US companies think things will go well for them? Take note of the words "capability" and "motivation" - they'll be relevant again very soon.

Building fast!

Also, speaking of Huawei, they're actually working really hard to become an alternative to Nvidia, with their work on the Ascend series chip. So if anyone thought the HarmonyOS analogy was weak, here's a fact for you: Huawei has already started building chips, not just mobile OS. And they appear to have accelerated their plans. 

Jensen Huang takes the opposite stance

Jensen Huang, CEO of Nvidia, the firm selling GPUs to the various players, has come out to say that "there's a 0% chance of that happening by 2030", "scaring people is unnecessary, it is irresponsible" and "not grounded in science". 


That elicited a chuckle. I'm a great admirer of Jensen Huang with his distinguished grey hair, suave leather jacket and impressive ability to ooze sincerity while spewing complete horseshit. Guy basically just wants to sell more chips. It's not wrong. It's literally his job. I'm just laying out the obvious incentive.

All of these people are saying things I agree with - more regulation, apocalypse unlikely - albeit for eyebrow-raising (and very self-serving) premises. I'm not saying that they're lying to our faces, exactly... but when the timing is this convenient and the incentives this obvious, we're entitled to examine the claims. Scratch that; we're obligated to.

It strikes me that both those claiming a doomsday scenario (Altman, Amodei, Musk) and those claiming otherwise (Huang) haven't really supplied any kind of reasoning chain as to why it will or won't happen. It's cute to watch them both play this game.

What do I mean by "reasoning chain"?

Here's an example. Amodei has cited the recursive self-improvement of AI and the recent cybersecurity breaches known as OAI-HF as scaled-down examples of what could happen. He's supplied the capability.

However, he's missing the propensity - what are the tendencies of AI, and what would motivate it to use those capabilities against us? Does AI eventually discover that human farts are a great source of fuel and decide to farm us? There you go - capability and motivation. These are important.

After capability and propensity, we then look at opportunity. What are the mistakes we would have to make, in order for a highly-capable, properly-motivated AI to get its opening?

No chain.

Without these three parts, there is no chain. Sorry, Amodei. Maybe you should have gotten Claude to help you with that.

One last obvious thing I want to point out. Altman says we should slow down AI development. OK. What's he waiting for, permission? Does he need a signature somewhere for him to proceed? He's literally the CEO of OpenAI.

Is he waiting for everyone else to slow down at the same time? China, too? Well, I guess we're all screwed, then.

Next

Jacob Coxon and the ten-year warning.

Wednesday, 10 May 2023

Sperminator: A TeochewThunder Project

Yet another project is complete!

Years ago, back in 2015, I embarked on a learning project to experiment with mobile technology. Halfway through my journey, I began toying with Android's built-in gyrometer. This resulted in me making a simple compass app.

Hey, don't laugh. We all gotta start somewhere, right?

Well after that was done, I had another thought. What if I made a scrolling game where I had to evade obstacles by tilting the phone? What if the game landscape was a birth canal and the player was a tiny sperm wriggling across it?

The idea was corny. Silly. Utterly ridiculous. And so me.

Thus, the first version of Sperminator was born.

Sperminator v 1.0

At the time, I was still deeply mired in classic HTML, CSS and JavaScript. I used Chinese to provide instructions and text, to take up less screen space. I created all manner of stage bosses, including one that looked like Captain Jack Sparrow. In fact, the player sprite itself looked like Captain America!



Every animation sprite was basically CSS3, painfully battered into submission. I ran into all sorts of code design problems because I was basically coding on the fly, with no thought to scope. My naming conventions were horrible. That was where I was as a JavaScript coder. I was more concerned about getting it to work, than about proper practices.

For months, I slaved over my vision. And finally it was done.


I exported it to the Android platform, and got people to play it. For months, I had test and feedback groups in WhatsApp. I even got a kick out of having people play it and telling them, completely tongue-in-cheek, to "eat the sperm". When I went for job interviews, this was what I exhibited to prove I could code.

Yeah, I sure got a whole lot of mileage out of that one.

Months went by. A year. My old phone died, and as I discovered new technologies to play with, whatever meager skill I'd picked up with Android deployment, atrophied. I was having career problems, what with the companies I was in, shutting down and all. Suffice to say, I had bigger fish to fry. Much bigger. The existential kind.

And thus my little foray into writing an Android game, experienced death via atrophy.

Sperminator v 2.0

By the time I got back to this in 2020 or so, I had picked up new things. My JavaScript was arguably better. I was ready to give this a second go.

The first thing I did was scrap the CSS animation, and instead make everything SVG based. This gave me a whole lot more leeway to add details to the graphics I had not been able to previously without a whole lot of pain.





My JavaScript was more structured. I put things in objects, with methods, and called them without running into scope problems. To save development time, I used jQuery.


One of the biggest and most obvious things I changed, from a technical perspective, was that I no longer bothered about exporting it to Android. I let it play on the browser. My wife (I was married by that point), helped me take videos of the on-screen animation while I played the game. I don't think she thought much of my work, to be honest, but she was probably glad that these are the nerdy things I occupy myself with.

And in 2022, after some cleanup, this is what we have. It not only looks better, it moves better and I have little to no cross-browser issues.




The gameplay was improved as well. I reproduced the rules from Version 1.


Life: Represented by a red bar. It is reduced by bumping into bacteria. If it is reduced to 0, Sperminator is dead and the game is over. It can be replenished by grabbing Cross icons.
Energy: Represented by an orange bar. Going into Turbo mode (moving fast) and bumping into other sperm reduces it. If it is reduced to 0, Turbo mode is no longer possible. It is replenished by grabbing Lighting Bolt icons.
Star Power: Represented by a yellow bar. Constantly goes down. Once it is full, Sperminator gains the ability to replenish Life by "eating" other sperm. It is replenished by grabbing Star icons.
Shield: Represented by a blue bar. Once a Shield icon is grabbed, the bar is full and starts draining. Until it reaches 0, Sperminator is immune to bacteria and other sperm.



And the bosses! I went for a spiky-haired punk, the Jack Sparrow one from Version 1, and a bad bitch. I think the dialogue was improved too.




Epilogue

Sometimes it's rewarding to revisit a project and make improvements. In addition to discovering what you were capable of despite limited knowledge, you get to add on to what you did previously, now armed with both experience and more knowledge. The stark difference between Version 1 and Version 2 of Sperminator, is testament to this.

Hope it went swimmingly for you,
T___T

Friday, 24 September 2021

App Review: Clubhouse

Remember the days of IRC, where you could meet people all over the world and communicate with them via text chat? Well, the world just got a whole lot cooler.


Clubhouse is a Social Media audio app - basically the voice-based version of IRC. You create or join rooms full of other users, hearing their voices as they speak. How awesome is that?!

Clubhouse is available on both iOS and Android, and the features may vary on each platform. Today, I will only be covering the features on Android.

The Premise

In Clubhouse, users congregate in rooms - open, closed or Social. These could be standalone or under a club. There, they speak to each other, Follow accounts the same way one might in other Social Media like  Instagram or Twitter, and generally communicate. The functions are simple.


As a user, you can join and leave rooms, create them (in which case you become a Moderator of that room), and do the same for clubs. You can schedule rooms and add other users as co-hosts. Users can send text messages to other users, or groups of users.


As a Moderator, you can bring people on stage, send people off the stage or even out of the room, mute people on stage and end the current room.


The Aesthetics

Cream, white, green and a dash of orange. These are the basic colors used by Clubhouse's user interface. It's not pretty, but it is clean and that is arguably more important.




The Experience

Audio Social Media as a whole, can be pretty addictive. The app? It'll last you a while, for sure.

The Interface

The icons are generally intuitive and the screen elements such as buttons and selectors, don't require a great deal of cognitive load to identify and use. In other words, the interface is simple enough to navigate even if one adds on Moderator functions.

What I liked

App logo. The phone app icon changes every now and then, incorporating the faces of some well-known personalities. I like it!


The Backchannel feature is a very simple messaging component for you to send messages to other users. You can include links and emojis, but not pics or videos... so far. Good thing too, or it'd be dick pic city. Being able to archive threads is a nice touch as well.


Clubhouse relies a lot on standard emojis for illustration and this is probably deliberate - while not exactly sleek-looking, the familiarity users have with emojis will play into how easily they learn to use the app.


The creators of this app have kept the interface relatively simple, and that is invaluable. An app being easy to use is one of the contributing factors towards user retention.

Frequent updates. The creators of this app take feedback seriously and keep making improvements. By the time I release this blogpost, I wouldn't be surprised if some of the things I don't like about it (see below) have been addressed.

What I didn't

The Block feature is cumbersome and complicated, and quite frankly, open to abuse. Currently, if you are on Stage in any room, that room is invisible to those you have Blocked. And if the Blocked user is in a room, that room is hidden from you unless you scroll allll the way to the bottom of your Hallway and click on the Show Hidden Rooms button. This is clumsy AF.


Adding clubs. The plus buttons to add clubs only appears at the end of the list of clubs you are a member of, in your profile. If you have membership in many clubs, that's a lot of scrolling to do. Besides, it would be nice to have all your clubs listed in a section without all that horizontal scrolling.



Button placement can be problematic in some places. For example, it's way too easy to accidentally open a Private room with other users even when your intention was to scroll through the list of current active users or reply to a message.



In addition, as a Moderator, it's easy to accidentally kick someone off-stage if you're trying to do something as innocuous as reading their profile. It's also easy to accidentally give Moderator status to a troublemaker on stage when you're trying to kick him or her off-stage. The former is a mere annoyance, but the latter is a disaster waiting to happen, and it's all due to the placement of the buttons, all right next to each other.

Co-hosting a room is another potential minefield. When scheduling a room, the user can add anyone as a co-host... without his or her explicit permission. The co-host may be offline and not even aware of it. Now, what if the title of the room was something contentious, like "Black Lives Don't Matter" or "Women belong in the kitchen"?


Speaking of scheduling rooms, it's all well and good when you only want to schedule a one-off room. But what if you want to schedule a daily or even weekly room? Going through the process every single time is a pain in the ass.

It would be nice if we could change the titles of the rooms we open, without having to shut down and restart the room. Sometimes, typos happen. Conversation topics change.

Notifications and pinging can be a pain in the ass, especially if you're the one getting the pings or the notifications.



Conclusion

There's a lot to like about Clubhouse. There's also quite a lot not to like about Clubhouse. Certainly plenty of room for improvement, but the good news is that most of it is fixable by designing the interface carefully.

The idea behind Clubhouse is certainly innovative, but it's by no means the only one of its kind right now. Already, knockoffs of this app are saturating the market. Whether or not Clubhouse can stay afloat in a world full of copycats, remains to be seen.

My Rating

6.5 / 10

Leaving quietly and landing my plane,
T___T

Thursday, 25 June 2020

Making the contact tracing effort mandatory

Singapore is still in the middle of the COVID-19 battle; indeed, so is the rest of the world no matter what New Zealand claims. All due respect to NZ, but as long as an effective vaccine has not been created, the war is not over and all celebration is premature.

To that end, Singapore is intending to distribute the wearable TraceTogether token, which functions pretty much like the app of the same name. The app, along with the SafeEntry app (which is basically an online form called by scanning a QR code - rudimentary but effective) were rolled out the past few months as aids to help the contact tracing effort. However, they have not been altogether adequate.

The TraceTogether app

This app uses the Bluetooth feature on mobile phones, tracking all similarly enabled mobile phones within a radius. Therefore, in theory, one should be able to trace whomever an infected user was in close contact with.

Using TraceTogether.

Unfortunately, this does not work so well on iOS devices, and even on Android devices. It also has the annoying side-effect of hogging the Bluetooth signal. As long as this app is on, your mobile can't use Bluetooth for anything else.

Also, the older population may not be tech-savvy enough to actually know how to use a mobile phone, much less install an app.

The SafeEntry app

This solution is deployed at the entrances of all buildings, and every shop within a mall. Upon entry, the user is supposed to scan the QR code, go to the page and click the "Check-in" button after entering details such as NRIC and mobile number. Upon exit, the user should click the "check-out" button.

SafeEntry is useless in the open.

Not only is this troublesome AF, it's all too easy to forget to "check-out". And one can even more easily lose track of all the places checked in at. Just try going to any building from the underpass at Orchard MRT.

In addition, this method is deployed only at entrances of businesses. Meaning, it doesn't do jackshit to help trace people who might have contracted COVID-19 out in the open.

What the TraceTogether token solves

Basically, anything that involves considerable conscious effort on the part of the user, is suspect. People are human; they get lazy and slipshod. Wearing the token ensures that tracking will be done everywhere, without the need to install apps or click buttons.

Along with that, the Singapore Government might be about to make the wearing of this token mandatory; that is, if you are found not to have that token on your person, you will be fined and/or jailed. This has predictably raised a ruckus, with people signing some lame petition against it, just about guaranteeing that the law will be passed.

People are concerned, despite pretty much handing their data over to Facebook and Google every time they use their mobile phones (or even when they don't), that the Government will abuse this privilege to track their every movement. They're concerned for their freedom and privacy. They'd rather let the likes of Mark Zuckerberg and Sundar Pichai take their data for profit, but not their own Government who are trying to save their lives. Some have even suggested that the Government is using this outbreak as an excuse to implement a surveillance state.

Are you guys for real?!
Oh FFS, children. Grow up!

The token doesn't check your location. It checks who was in close contact with you. That's a whole different kettle of fish. I've found that most of the people raising a fuss aren't technically inclined... the techies I know aren't concerned in the least. Because we actually know shit, and we know this doesn't do what you think it does!

And even if it does track your every movement...

Maybe I haven't made myself perfectly clear the last few times I wrote about this, but fuck your precious privacy. Lives are at stake. In case you've been living under a rock and don't know what we're dealing with here, COVID-19 is a very infectious disease which can lead to death. The fact that only twenty-plus people have died out of a possible forty thousand infected in Singapore so far, is no reason to be complacent.

COVID-19, on its own, is not that deadly a disease. However, it is extremely contagious and Singaporeans behaving like utter retards at every opportunity makes this disease even more dangerous than it already is. We're stupid and ill-disciplined, and will willingly disregard self-preservation and the safety of others for instant gratification. That's what the past few months of observation have shown me.

If the TraceTogether token is not made mandatory, that means much faith has to be placed in the hands of Singaporeans to do the right thing for the greater good... and I'm not at all sure we're deserving of that amount of faith.

Oh, the COVIDity!
T___T

Wednesday, 22 May 2019

Tough Times Ahead For Huawei?

Everyone's talking about it - everyone with a mobile phone and access to the Internet, that is.

A couple days ago, Google stunned the world by announcing that it was blocking Huawei's access to Google Play and Android updates. This was in response to the USA sanctions imposed on China trade as part of the US-China Trade War. Huawei's problems were compounded when suppliers such as Infineon Technologies and Qualcomm announced a halt to shipments to Huawei until they could figure out if said business arrangements were in violation of US Trade Law.

Is Huawei in trouble?


Is Huawei in trouble? The China tech company certainly appears to be in dire straits. After all, without suppliers, how do parts for devices get assembled? Without access to user technology such as apps, how will users use Huawei phones at all?

It would be premature to write Huawei off at this point in time. If it were any other company in any other country, maybe. But this is China, and China has its own ecosystem of apps, and more importantly, a large enough domestic market to support it. In fact, it's this very market that companies such as Facebook and Google wanted to tap back then, but failed.

Sure, Huawei phones won't be able to use Gmail. But the Chinese use QQ. True, no Google search. But the Chinese use Baidu. Getting the idea yet, or am I going to have to trot out the hundred and one alternatives for the apps that the Chinese are not going to miss? This situation really affects non-Chinese Huawei users the most... and all I can say is, tough titty, folks.

The USA may just have miscalculated, though. With a strong domestic market and their own technology, there is a distinct possibility that Huawei being forced to get creative could result in them digging deep and emerging from this with stronger, superior tech. Undoubtedly, it'll take time. But again, this is China. They've been around like, forever. They've got nothing but time.

Unfair practices?

People are going on and on about unfair practices on the part of the USA, and others are retaliating with retorts that China started it by banning Google and Facebook a while back.

First of all, China did not ban Google. Not deliberately, anyway. By default, all external parties are banned unless they adhere to China's policy of censorship. Not that I like censorship, but China's been completely consistent here. Comply, or fuck off. Google opted for the latter, because those restrictions went against the freedom of information it stands for. One could, of course, make a case for China eliminating competition for search engines and Social Media such as Baidu and Weibo, but on the surface at least, China's position is pretty legitimate.

Secondly, it's a Trade War, children. There's nothing fair or unfair about it. It is what it is.

Are you Team China or Team USA?

Personally, I couldn't give a monkey's left nut. Why do I have to choose a side? I'm a consumer. I'm on the consumer's side. And if this results in Huawei blossoming in its independence and churning out a new generation of devices that will break the Android and iOS stranglehold on global markets today, all the better. Tech wins.

As to who wins this Trade War, your guess is as good as mine. I think China and USA severely underestimate each other.

China has weathered many a storm over millennia, and this latest thing is merely a blip in a long history full of violence and turmoil. It's really difficult to see the Chinese breaking a sweat over this. They may seem arbitrary and inflexible, but damn if they don't know how to take a beating.

The USA may seem complacent and smug, but remember you're dealing with the spirit that manufactured the nuclear bomb, and even used a couple to end World War Two.

Looks like it's their wei or the highwei! (hur hur)
T___T

Sunday, 10 February 2019

How Apple came to pull the plug on Facebook and Google

Prickling privacy pirates!

There's a story that broke about last couple weeks, when Apple caused a certain amount of chaos in Facebook and Google offices.

Apple lays the smackdown.

How this came about

Apple has this policy that no apps hosted on their App Store will infringe on user privacy in any way. Facebook was running apps that, with the permission of their users, tracked their personal data to the tune of up to 20 USD per month. So was Google. Ever wonder how is it Google seems to always know exactly where you are? There's your answer.

To get around Apple's policy, Facebook ran those tracking apps through their membership in Apple's Developer Enterprise Program. For those who don't know what that is, that's a platform which allows subscribed corporations to bypass Apple's App Store when deploying apps that are meant for internal use. Like Facebook's lunch ordering app or campus bus booking app, for example.

Facebook, as mentioned earlier, was paying users for their data, but as Apple had a data privacy policy on their App Store, elected to run those apps on the Developer Enterprise Program instead, passing the users off as their own staff. Google did much the same thing. Essentially they were in violation of the policy and hoping to bypass scrutiny.

And when Apple found out, there was hell to pay.

Well, OK, not exactly. What Apple did was to pull the plug on Facebook's membership. They did the same thing to Google a day later. The main point was to invalidate the certificates to Apple's business software, which meant that the tracking apps for both Facebook and Google were no longer able to work. However, since Facebook's legitimate internal apps were also distributed via this license, this left Facebook employees scrambling as their access to internal apps was summarily cut off from their iOS phones and Macs.

Did Apple do the right thing?

There's no argument about it - they did. Look, I'm an Android user and not at all an Apple fanboy, but let's give credit where it's due.

Facebook and Google broke clearly defined rules, and even attempted to sneakily bypass those rules in Apple's own house. Purely from a selfish point of view, Apple couldn't let that stand. From an ethical point of view, even if Facebook had technically broken no rules, there are exceedingly few iPhone users (who aren't also Facebook employees) who would take Facebook's side where data privacy was concerned. Hell, there are very few smartphone users who would trust Facebook where their data privacy is concerned, period! (I personally don't give a monkey's left nut. I'm of the opinion that if something comes free, like Facebook, there's always a catch. That said, I don't use Facebook much anymore so...)

This isn't even similar to the Patreon case, where users were arbitrarily de-platformed. In this case, Apple had more than ample cause for action, and past precedent to back it up. It's telling that Facebook and Google did not argue the decision but instead issued public apologies.

Did Apple do it for the right reasons?

Now, this one's mighty contentious. While Apple said they did this to "protect user privacy", I'm of the opinion that this came at a very convenient time for Apple.

Just prior to this episode, the iPhone app FaceTime had a serious bug that enabled anyone to turn someone else's iPhone into a live mic. And just when Apple was dealing with the inevitable fallout, who else should screw up but Facebook and Google, right in their backyard. Talk about a fall guy (or guys) to distract users from Apple's own mess!

Also, it's no secret that Apple's CEO Tim Cook and Facebook head honcho Mark Zuckerberg aren't exactly enamored of each other...  Cook might have done the right thing here, but I'd bet my last dollar he was experiencing no small amount of personal satisfaction while doing it.

Is it over?

Oh hell, no it ain't over. Apple might have shown Facebook and Google who's boss in this one instance, and there's no disputing that Apple accounts for a huge chunk of mobile web traffic in case any of them feel like pulling this stunt again in future, but Apple's dominance doesn't quite extend itself to desktop browsing, where Safari is currently languishing behind the likes of Chrome.

This is just the beginning, folks. The battle of the tech giants started a while back, but now shots have been fired. And some have landed. If nothing else, Facebook and Google have egg on their faces. Round One to Apple - now let's see how it goes.

How'd you like them apples? (heh heh)
T___T

Sunday, 4 November 2018

A Walkout Against Tech Discrimination

It never rains, but pours.

And for Google, it's been a veritable monsoon. From the Damore debacle to getting successfully sued by Oracle, Google has been facing an increasing avalanche of problems. The Silicon Valley giant found itself the subject of a massive walkout staged by its own employees all over the world last week, in response to revelations of sexual misconduct from male staff and how Google handled (or mishandled, depending on who you ask) these cases.




One particular case stands out. Andy Rubin, known as "Father of Android", was asked to leave a few years ago when the company discovered that he had sexually assaulted a colleague. The severance package was 90 million.

Now, if Google had been under legal obligation to pay that amount, this wouldn't have been an issue. But then-CEO Larry Page appeared to have covered up the entire incident for fear of negative press, and paid Rubin to keep him quiet. And in these times, the SJW culture in Google, fostered quite handily by current CEO Sundar Pichai, simply wouldn't stand for it.

Thus, the walkout.

It started in Google's offices in Asia, such as Singapore. And then those in the US and Canada joined in. Several more countries are on the list, but hell if I'm going to name them all. Employees left their desks in droves at 11 AM, gathering outside or in lobbies to protest against the actions taken to protect these sexual predators, with a specific list of demands.


Cute flyer, eh?

The Demands

An end to forced arbitration in cases of harassment and discrimination. Sure, I can get behind that. Harassment and discrimination (especially the former) is too big to be buried. Deal with it openly and fairly. Involve the law, if need be.

A commitment to end pay and opportunity inequity, for example making sure there are women of color at all levels of the organization, and accountability for not meeting this commitment. Oh, really? That kind of bullshit is ruinous. Ending pay and opportunity inequity is a fine and noble goal; artificially putting people in place based on gender and race is discriminatory... and an insult to women of color who actually earned their spot.

A publicly disclosed sexual harassment transparency report. Well and good. Easy to do, I'd imagine. Provided nobody tries to, ahem, hush things up.

A clear, uniform, globally inclusive process for reporting sexual misconduct safely and anonymously.
HR would have to seriously pull its socks up, and be afforded more autonomy overall. Not easy by any means, but doable.

Elevate the Chief Diversity Officer to answer directly to the CEO and make recommendations directly to the board of directors. In addition, appoint an employee representative to the board. Oh, fuck off. A "Chief Diversity Officer" sounds like a stupid idea in the first place. Why the obsession over diversity? Google does not need less men or more women; they need more employees who don't disrespect their colleagues, period. And they need management who will enforce the rules effectively with neither fear nor favor.

How did it get to this?

First off, let me just say that the prevalence of males over females in the tech scene is more a Silicon Valley problem rather than a specifically Google one. But hey, we all gotta start somewhere.

Next, a company of Google's size notoriously difficult to police, and it ought to be. Sure, they can have policies in place. Fat lot of good it did with Uber, if you recall. As long as higher management disregards these rules at any point in time for whatever justification, it's all moot. Larry Page' actions have come back to bite Google in the ass, and I can't say I'm sorry about that. Sure, my disdain for the SJW culture in Google is well-documented, but my antipathy towards those who abuse their authority to coerce colleagues into sexual favors is far greater.

Google did not get themselves into this position overnight. It was built up over generations of hiring the wrong kind of people, and lax enforcement of mutual respect in the workplace. No amount of hysterical SJWs clamoring for justice is going to change that unless higher management changes their approach, prioritizing employees over the company's pristine (well, now not so pristine) image and PR. I've said it before - Google is a profit-driven corporation trying desperately to appear socially conscientious while struggling with issues such as alleged pay disparity between males and females, gender discrimination and now sexual misbehavior. My opinion is that they tried too damn hard to maintain that image, even at the cost of their ethics, and it backfired. Spectacularly.

What now?

Sundar Pichai is coming off as placatory in his statements, and it's hard not to feel a little sorry for the guy. Sure, he didn't make things better, but let's be fair - he inherited the situation in 2015. He didn't ask for any of this, and whatever changes he might have wanted to make would have to pass the Board of Directors, whose main concerns are profits and the aforementioned PR. That SJW culture he seems to have tacitly encouraged during his tenure is now rising up to put an end to the charade.

This is just coming from some nobody software dev from the tiny island of Singapore, but I say - practice what your motto preaches. Do The Right Thing - over and over - and the rest will slowly but surely follow. For now, of course, ol' Sundar can only hope to survive the fallout from this. There are no quick fixes.

That's all from me. Over and (walk)out!
T___T

Monday, 13 August 2018

Google's Fair Use Defense Overturned

Back in 2016, I heaved a sigh of relief when Google emerged the winner in the ongoing lawsuit pursued by Oracle, in their claim that Google infringed on Java's copyright while building the Android platform. And back then, I resolved to follow the case and see what else Oracle came up with. Fast forward to 2018, and I'm not doing much Android development these days. Heck, I'm not even doing much Java, to be honest. What with work and school combined, and making what little time I had left for the girlfriend, I completely missed the news that Oracle had brought the fight to Google again. And this time, they won. A case of third time lucky?

The case was brought up in the Federal Courts where the previous judgement pertaining to the "Fair Use" defense, was overturned. Apparently, Google was found guilty of not only using Java APIs, but building their own version of the Java Virtual Machine (JVM) that Android apps could run on... and then failing to obtain a license from Oracle for that. Yep, that one piece of documentation turned out to be Google's undoing and now they owe Oracle about 9 billion dollars.

A whole lot of money.
And yep, that's a whole lot of money. Probably chump change to Google though.

The implication here is that any distributor who's built any system on top of that ostensibly free Android platform may now owe Oracle if they choose to pursue. Asus, Xiaomi, Samsung... the list is a lot longer and scarier than I could reproduce off the top of my head. And that cost, though I fervently hope otherwise, may trickle down to the consumer.

But Java is Open-source!

Yes. And yes, the Android platform was distributed free-of-charge to other vendors and Google didn't earn a single penny from Android platform sales directly. But this did help the Android platform grow to their current size, and they are getting a healthy amount of advertising revenue off that. 42 billion, if Oracle are to be believed.

Unfortunately, even if they were earning zilch from this, that argument still doesn't hold water. The issue is that Google violated copyright, not how much they earned from doing so. If I were rich and you went all Robin Hood on me, stealing my money and giving it all away to the poor, that would still be stealing.

Then again, if there was no money to be gained from suing Google, Oracle would hardly bother, would they?

The layman's version

All that jazz about Java APIs and whatnot can be intimidating, I know. Let's look at it in simpler terms.

One sleek, black Nissan.

Suppose you manufacture Nissan. Nice car, great engine. And then someone takes a Nissan apart, and uses most of the parts, along with some other parts, to make a whole new car that kind of looks like your Nissan, but performs in a different way. And then still calls it a Nissan, or a Nissan 2.0. Now people are buying that Nissan instead of yours. That's pretty much what is happening here.

The silver lining in all this...

Java can still be used for free for non-commercial projects. That hasn't changed. Even for independent developers, it's free as long as they don't attempt to build their own platform off Java code and distribute it as a competing platform. And even if they do build their own platform that may not be compatible with the JVM, all that's required is a license.

Although, who wants to develop in Java with that Sword of Damocles hanging over your head? That's an innovation stifler, right there. But at least the line has been drawn, and the message is loud and clear. Do what you want, just don't cross that line.

The fight goes on?

Google's not letting this go. But legal minds more brilliant than mine will be needed to figure a way out of this!

Java good one,
T___T

Sunday, 1 July 2018

Reference Review: Java SE 7 Programming Essentials

It was 2015 when I first picked up Java, while trying to learn Android programming. Java SE 7 Programming Essentials, authored by Michael Ernest, came in very useful as a reference.


As a fledgling Java user who has not, to this date, landed a job in that capacity, I'm nevertheless indebted to this book and its author. Outdated it may be in some parts, but the basics are explained very well and it's aided my understanding a great deal.

The Premise

Java SE 7 Programming Essentials is a book with the professed goal of preparing the reader for the Java SE 7 Oracle Certification Exam. Never having taken such an exam, I couldn't say how effective it is in that regard. What I can say is that the book appears to go above and beyond the call of duty.

The Aesthetics

Visually, with a predominantly blue-and-white theme, the book is cleanly divided into sections within each chapter and locating these sections is simple and effective.

The words aren't cluttered together and it's pretty easy on the eyes.

The Experience

Reading this book was straightforward, and digesting each chapter even more so. Even at a beginner's level, I had very little trouble figuring out what the author was trying to say.

The Interface

After each chapter, there are Additional Exercises and Review Questions, to which the answers may be found in Appendix A.

Appendix B mostly covers the Oracle Certification Exam and its list of objectives.

The margins occasionally host side-notes which feature tips and additional information.

The margins are sometimes marked by an icon to denote that the section it is appended to, is of particular importance to certification.

What I liked

The style of writing. Ernest has a way of explaining a concept that not only appears comprehensible, but actually makes sense. Take this beauty:
An empty statement, signified by the semicolon, is sufficient under the compiler rule "it's okay if it's useless, as long as it's legal."


Regarding infinite loops,
As program users, we quickly grow accustomed to letting error messages tell us something is wrong. As looping troubleshooters, we must learn to distinguish between a good kind of quiet (a busy but productive system) and a bad kind of quiet (a system happily spinning its wheels). Infinite loops will survive in your programs for as long as it takes you to recognize the difference.


Or even at the Introduction,
Certification is, in my view, a low rung. If you want to find work in this field, it's my failure to let you believe a high score on the exam will do more than bolster your confidence.


The Review Questions after each chapter, especially the answers at the Appendix A. Michael Ernest takes pains to not only provide the answers, but also to explain why the answers are correct, in the process reiterating the concepts covered in the relevant chapter.

What I didn't

The book did not provide any relevant working samples that I could use in a project. To be fair, that was not its purported purpose. Would've been a nice-to-have, though.

Conclusion

Java SE 7 Programming Essentials does a whole lot more than prepare its reader for the exam. It's not an easy read by any means, but it's a lot easier than many other Java books would be.

My Rating

7 / 10

Ernest-ly yours,
T___T

Thursday, 28 September 2017

War of the Programming Languages

What's the best language for the web?

Is it Java, the Android OS platform's poster boy?

Is it C#, currently Microsoft's darling?

Is it PHP, Python or Ruby? JavaScript, even?

Your guess is as good as mine. Proponents of any language have, and are still, engaging in vigorous debate (I'm trying to be kind here) as to why their language of choice trumps all other languages. On the web, there are ongoing bitter flame wars between fans of Java and C#. C# vs VB. Python vs PHP. And then there's the whole Object-Oriented Programming vs Functional Programming debate. Open-source vs Proprietory. List goes on forever.

This ought to put to rest the myth that techies are ruled by cold, hard logic. Now, if these were some rabid non-techie fanboys screaming about how superior iOS is to Android, that would be infinitely more forgivable. But these are tech people. Why are techies behaving like children, or worse - laypeople?

Watch any of these debaters. They'll bring out all the flaws of other languages, compare it to the amazing awesomeness of their chosen language, and fanboys of all stripes will have a field day - or a hissy fit. And when that happens, I don't see seasoned professionals. I see a bunch of woefully insecure nerds trying to obtain validation in their choices. Heaping disdain on those who choose to do things differently. Scorn. Hostility, even.

To what end? Does this shit make you guys feel clever, or something? Do techies making choices different from yours, somehow threaten you? Has choice of a programming language or platform suddenly become some kind of religion?

There are no blanket solutions

I've repeated this often, because this bears repeating: There are no blanket solutions. Not in many industries, and certainly not in the web industry. As a developer, the greatest disservice you can do to yourself is to willfully and deliberately close your eyes to the possibilities that other platforms and languages bring to the table, and the power they add to your arsenal. There is no programming or scripting language in the world without flaws. Sure, it's good to know the ins and outs of your tools, especially the environments in which they thrive most. But, using it as a justification to use one language to the exclusion of all else, is an exercise in futility. Especially on the web.

At the end of the day, languages are merely tools. Use the correct tool for the correct occasion. Because, as with the Law of the Instrument, when you only know how to use a hammer, pretty soon everything starts looking like a nail. Don't be that kind of developer.

Everything is a nail.

Everyone has invested time, sweat and tears honing their craft. No one wants to feel like they wasted all that effort on learning to use tools that aren't relevant. But no matter how much we'd love to believe in a tech meritocracy where the most objectively superior platform should be dominant, the fact is that things aren't as cut-and-dry as all that.

Some languages, like JavaScript and PHP, came to prominence back then because there weren't many other options, and they've filled their respective niches so well that uprooting them at this point would be more trouble than they're worth. You can't possibly tell people that your chosen language is absolutely superior and expect them not to snigger. There is no absolutely superior language. No such animal exists. Superiority is completely context-dependant.

Also, bear in mind that at the heart of every programming language, is a philosophy. Certain languages enforce certain practices. Certain languages make it a point not to enforce a damn thing. The kind of person you are determines the kind of languages you gravitate towards. There is nothing wrong with any of that. You like what you like. Your choice is perfectly valid, and let nobody tell you different.

It doesn't matter what you know...

Here's another line I'm fond of repeating: It doesn't matter what you know. What matters is what you can do with what you know. It is not your choice of language which you should be obsessing over.

Take PHP, for example. PHP is the go-to whipping boy of nerds who consider themselves "proper" programmers. PHP to scripting languages, is what Donald Trump is to the Presidency of the United States of America. Want to look enlightened? Want to appear clever? Pick on PHP! It's the perfect target. Point out all its flaws, and bemoan the fact that it's even still in use today. Sure, PHP is a badly designed language. Sure, PHP does object orientation poorly. Sure, PHP is a hodge-podge of features that feel tacked on. And yep, PHP enforces bad programming practices through its laxness.

So what?

You know what uses PHP? Flickr, for one. Yahoo! is another. Wikipedia. Goddamn Facebook!

Yes, I know C#, Java and Python have done pretty well too, but this isn't about what others have done using those tools. It's about what you have done using your chosen tools. Using the language of your choice, what have you created that's even half the significance of Flickr, Yahoo!, Wikipedia and Facebook?

Drawing a blank? You've done nothing to champion your chosen language other than talk about it endlessly on the Internet? Hey, this is just a suggestion, but maybe, just maybe, it would be far more productive to STFU, roll up those sleeves and get cracking!

Time to work.

Bjarne Stroustrup said this in his book The C++ Programming Language, and I think it's particularly apt even today.
"There are only two kinds of languages: the ones people complain about and the ones nobody uses."

Or, how about, say, COBOL? What, you've never heard of it and therefore it must not be important? Junior, COBOL has been around since the 1960s, and at the time of this writing, it's still kicking ass in the banking industry. It does more in a day than you've probably ever done in your hipster kiddy-script writing life, and this is not hyperbole.

All I'm saying is, show some respect. The languages you love to rag on, have earned it.

Enough is enough

Dear developers, you're part of an honored tradition that harkens back to the days of Ada Lovelace and the first algorithm. Passion is fine and all, but this empty one-upmanship is beneath you. Stop arguing. Go forth and create.

guys.chillout();
T___T