blog.NOVALISTIC

I never really left the Apple ecosystem

Yesterday saw the public release of iOS 11.

Yesterday also saw me powering on my brand new silver 128 GB iPhone SE for the first time. It was still running iOS 10, which I promptly replaced with a restore of iOS 11.

For the uninitiated, you might be wondering what a Microsoft MVP is doing with an Apple device. Well, one of the best things about being an MVP is that Microsoft doesn’t judge you even if you own and use competing products. I won’t go into detail on Microsoft’s role in the Apple and Google ecosystems compared to its own, but what I’ll say is that once you’ve used an iOS or Android device for even five minutes, you’ll notice right away just how ridiculously well made Microsoft apps are on those platforms. I won’t get into why that is, either; I’m just stating that fact for the sake of context.

Anyway, cut to the chase: as of yesterday, my daily driver is now an iPhone SE. The good news is that I’ll be keeping my Lumia 830 and I will be continuing to support Emergency Chat for Windows with updates.

The bad news is that my eight-year-and-three-quarter-old Sony Cyber-shot DSC-S750 is now dead and as much as I wanted to shoot my iPhone SE and Lumia 830 together for this post, it’ll have to wait. In any case, I’ll be spending the next week updating my battlestation to introduce my new iPhone as well, so watch that space for updates!

My Microsoft MVP Award gift package is here!

A little over a week after becoming a Microsoft MVP, I’ve now received my MVP Award gift package!

My Microsoft MVP Award!
My Microsoft MVP Award!

Receiving the Microsoft MVP Award this year was even more special for me, as ten (10) years ago, in 2007, I was certified as a Microsoft Office Specialist (and Expert), doing pretty spankin’ well in the Excel 2003 nationals even if I didn’t make it to the world championships. Sure, certifications and awards are two different things, but they’re both achievements — and these were both official Microsoft-related ones! I may not be an Excel MVP now, but perhaps someday if I get back into it I just might become one in the future… though I think I’m more interested in Windows Development and/or Xamarin.

A diptych of my Microsoft Office Specialist awards from 2007, and my Microsoft MVP Award from 2017.
2007: my Microsoft Office Specialist awards. 2017: my Microsoft MVP Award.

Anyway, since many other MVPs have done it, I figured I’d hop on the bandwagon and post my own photos of my MVP Award gift package. Hashtag unboxing, because, yeah.

I’m now a Microsoft MVP!

It’s official: as of September 2017, I’m now a Microsoft Most Valuable Professional (MVP), having received my very first Microsoft MVP Award in Visual Studio and Development Technologies, in the area of Front End Web Dev!

Microsoft® Most Valuable Professional

It is an absolute honor and privilege to have received this prestigious award from and be recognized by Microsoft for my passion for all things web design, as well as helping others. Even the use of the MVP Award logo you see here is a benefit that only MVPs are entitled to, but there are tons of networking opportunities and tangible benefits to be had and I can’t wait to explore them all.

Check out my MVP profile! Also congratulations to all the Xamarin MVPs who are joining the Microsoft MVP community this month — looks like I’m in some really good company!

If you’re not familiar with the Microsoft MVP Award Program, here are some excerpts from the MVP Award Program website:

Microsoft Most Valuable Professionals, or MVPs, are technology experts who passionately share their knowledge with the community. They are always on the “bleeding edge” and have an unstoppable urge to get their hands on new, exciting technologies. They have very deep knowledge of Microsoft products and services, while also being able to bring together diverse platforms, products and solutions, to solve real world problems.

For more than two decades, the Microsoft MVP Award is our way of saying “Thanks!” to outstanding community leaders. The contributions MVPs make to the community, ranging from speaking engagements, to social media posts, to writing books, to helping others in online communities, have incredible impact.

Anyone already doing an exemplary job of actively contributing knowledge in the past 12 months can nominate themself or have someone else nominate them for the MVP Award. My path to becoming an MVP was a little different. As mentioned in my tribute to Internet Explorer, it was through Jonathan Sampson’s invitation to me to join the Internet Explorer userAgents community back in 2013 that I had the opportunity to work closely with the IE (now Microsoft Edge) product team, alongside my usual participation on Stack Overflow.

Some time within the last couple of years, the userAgents program was wound down. Many userAgents were already MVPs, so nothing changed for them, but I wasn’t one. Nevertheless, my continued contributions to Stack Overflow were enough for product lead Ade Bateman to nominate me for the MVP Award. I submitted my details in early August, and so began the wait…

… and September is here, and here I am today. I’m tremendously grateful to Jonathan for recruiting me into the userAgents program and giving me an opportunity to work closely with Microsoft in a field I’m deeply passionate about, and to Ade for personally nominating me for the MVP Award. Thank you both. I would have been content with my Stack Overflow participation otherwise, not knowing just how much I’d be missing out on.

I should also extend my thanks to the Stack Overflow community at large as well as the staff for their ongoing support, especially for trusting me enough to elect me to be a moderator.

Anyway, just to get into the mundane, I spent Saturday morning commemorating my 10th anniversary on Twitter as @BoltClock (by pointing my followers to @NOVALISTIC where I’ll be tweeting from now on, no less — if you got here from a tweet, hello!), the afternoon doing the necessary housekeeping and getting up to speed with the MVP Award Program, and the evening at church (hey, MVPs have personal lives, too! I think), which is why I’m only finishing and posting this today. Heh, I feel busy already.

But I’m not even done yet — because I’m expecting my MVP Award gift package in the coming weeks, which will definitely warrant a post all on its own!

Some quick thoughts on video game DRM

This week saw the release of two PC games that I’ve been super excited for: Sonic Mania, Life is Strange: Before the Storm. Sonic Mania was going to be released for all platforms on the same day, August 15 (incidentally, Clock Day), but the PC version was delayed by 2 weeks putting it in the same week as Life is Strange: BtS, much to my chagrin as I was worried that the two games would end up competing for my time. But I have to admit, I haven’t had any trouble managing both games on the same day. Yet. Oh and I’m loving every moment of them.

I’m not going to comment on the delay of Sonic Mania, the true intentions thereof, or any other political matters, because I trust the developers and frankly I don’t care beyond that. But as anyone following either game or both games is aware, Denuvo Anti-Tamper is included in both games.

What’s really intriguing (and what prompted me to blog about this), though, is the stark contrast in the Steam reviews between the two games: Sonic Mania’s product page is chock full of angry negative reviews complaining about the DRM (though I did find this gem of an adaptation of a well-known Sonic Sez segment), while out of the 1400-some reviews so far for Life is Strange: BtS, a whopping 96% of them are positive, and almost none of them even so much as mention the DRM. It’s almost as if the game didn’t come with any form of DRM.

Maybe it has something to do with the fact that SEGA failed to disclose the use of Denuvo Anti-Tamper in Sonic Mania until it was pointed out by a consumer whereas Square Enix made sure to be upfront about it prior to the release of Life is Strange: BtS. Or maybe it has to do with the fact that the DRM initially prevented Sonic Mania from being played offline but not so for Life is Strange: BtS.

Now, I care very much about being able to play my games offline, and it does bother me to learn when a game that’s designed to be played offline cannot be played offline for no good reason, but I don’t get so angry I leave knee-jerk scathing reviews and make empty threats on the Internet. I send feedback to the right people (and even then only if I’m sufficiently bothered by this), and I wait and see if the developer and publisher iron things out. If they do, like in the case of Sonic Mania having received a day-one patch enabling offline play, then I consider the matter sufficiently resolved. If not, it’s not the end of the world, and my decision to purchase the game usually isn’t significantly impacted, certainly not if I’m already a huge fan of it.

Either way, I just happened to find it amusing how completely and utterly different the reviews have been between the two games despite the fact that both of them include DRM, said to be the scourge of the gaming industry. Well, it certainly hasn’t stopped 96% of the reviews for Life is Strange: BtS from focusing on what matters most, the game’s merits.

So what do I think of video game DRM in general? Well, I was one of the first 200 in Singapore to line up for a copy of Spore on launch day. It was the first game to receive a lot of bad press for its use of the SecuROM DRM scheme, and in the case of Spore, it tied the game to the machine’s hardware configuration, which in an age of viruses and custom PC building was a red flag. EA responded by releasing a SecuROM deauthorization tool and never using SecuROM again, though that didn’t stop them from implementing always-on DRM in Darkspore, and, well, look what happened exactly a year and a half ago:

So what bothers me isn’t really the use of DRM per se, but more of always-on DRM specifically and worse, always-on DRM that never gets patched out. Sure, it would be nice if games just didn’t come with any DRM to begin with since I’m sure there are much better anti-piracy measures out there than invasive DRM, but you know how the industry is. It can’t be helped. So we can only hope for the next best thing, for certain definitions of “best”.

Anyway, like I said, I’m loving every moment of both Sonic Mania and Life is Strange: Before the Storm, and I’m fortunate enough not to have run into any technical issues so far. Dishonored 2 also included Denuvo Anti-Tamper, but I’m fairly confident the gameplay performance issues I’ve had with it have everything to do with my AMD Radeon RX 480 and nothing to do with the DRM, considering it runs like butter on my brother’s NVIDIA GeForce GTX 1070. By the way, I clocked my 500th hour in Dishonored 2 just in time for the release of Sonic Mania — and that’s over two weeks before the release of Dishonored: Death of the Outsider (which will surely also include Denuvo Anti-Tamper, it’s a given at this point).

You are not required to close your <p>, <li>, <img>, or <br> tags in HTML

Are you an author writing HTML?

Just so we’re clear: Not XHTML. HTML. Without the X.

If you are, repeat after me, because apparently this bears repeating (after the title):

You are not required to close your <p>, <li>, <img>, or <br> tags in HTML.

(The same applies to over a dozen other elements but these are the most common ones.)

There are a number of reasons it is good practice to do so (which I’ll get to later in this article), but it is not wrong or inherently bad practice not to do so with elements with optional end tags or elements without end tags (believe it or not, these exist — they’re called void elements). Browsers do not treat missing optional end tags as errors that need to be recovered from.

Anyone telling you otherwise about these elements was unfortunately misinformed by the one before them. Please correct them, perhaps by pointing them to this article; chances are you were referred here by me or someone else for this very reason.

For the sake of convenience, “HTML5” refers to either WHATWG HTML (the living standard) or W3C HTML5, whichever you’re personally more comfortable with. None of the differences between the two are pertinent to this article, so I won’t even make any references to either specification.