Jekyll2023-06-09T03:57:30+01:00https://dafuloth.me/feed.xmldafuloth.meI am David Thai, a software engineer based in London and dafuloth.me is my personal blog.David ThaiREVIEW: Oculus Quest 22021-05-25T21:17:33+01:002021-05-25T21:17:33+01:00https://dafuloth.me/reviews/tech/review-oculus-quest-2<p>My first taste of VR was a cheap plastic Google Cardboard headset. The Quest 2 is the real deal. After 4 months I confidently say it is worth it and exceeds expectations.</p>
<h2 id="the-good">The good</h2>
<p><img src="/assets/uploads/red-matter_the-room-vr_tokyo-chronos_shorter.png" alt="My first three VR games were Red Matter, The Room VR, and Tokyo Chronos" title="Adventures in VR: Red Matter, The Room VR, Tokyo Chronos (source: oculus.com)" /></p>
<p>At this point I’ve completed three games: <em>Red Matter</em>, <em>The Room VR: A Dark Matter</em>, and most recently <em><a href="/reviews/20210502-review-tokyo-chronos/">Tokyo Chronos</a></em>. All grabbed when they were Oculus daily deals or if I had a discount code.</p>
<p>I have not been disappointed. VR is great for immersion. I love escape room games (hence <em>Red Matter</em> and <em>The Room</em>) which work really well as immersive VR. For a visual novel like <em>Tokyo Chronos</em>, it really makes you feel part of the story, and it really does feel like you’re in an anime.</p>
<p>I was never much into the idea of tethered VR, and now with Oculus Air Link I can use the Quest 2 for PCVR without being connected by USB. I did consider getting the Oculus Link cable but I’m glad I didn’t (saving myself the £89!) because there’s plenty enough to do with just the standalone HMD, and I’ve got Air Link for any of the minimal PCVR I may want to do.</p>
<p>And rather than the headset being merely a peripheral for a VR-capable PC, the Quest 2 is its own standalone unit, i.e. it’s a VR games console. The advantage of that, and the concept of games consoles generally, is that I don’t have to worry about my hardware specs. I don’t have to worry about keeping up with the latest graphics card, of which there is currently a shortage.</p>
<p>The latest graphics card I have access to is the NVIDIA GeForce GTX 1060 Mobile, which is barely VR capable by today’s standards - but it’s fine for older games or games with low spec requirements. It won’t be the main engine for my VR experience but it’s there if I want it.</p>
<h2 id="the-bad-and-really-bad">The bad and really bad</h2>
<p>My main complaint is to do with the ergonomics. The headset is very front-heavy and can quickly become uncomfortable with the included strap, unless I miraculously have it exactly right.</p>
<p>Oculus also sells an Elite Strap that is easier to adjust and is more comfortable. After little more than a week I caved and shelled out for the Elite Strap (with battery), and with it I was having a much better time in VR. In my view, the Elite Strap is <em>not</em> an optional accessory.</p>
<p>This issue must either be down to bad design or a deliberate choice to make you spend more on the headset - i.e. sell the headset at a low price but design it so that if you want to be comfortable, then you have to buy the “Elite Strap”.</p>
<p>The issue with the strap does not end with the Elite Strap either. My Elite Strap with Battery snapped after less than four months, and I’m not alone. The Elite Strap has been plagued with defects since its launch.</p>
<p><img src="/assets/uploads/quest-2-elite-strap-broken.jpg" alt="image showing snapped Elite Strap" title="Non-optional elite strap is not durable..." /></p>
<p>Oculus responded to widespread complaints about Elite Straps snapping by extending the warranty to two years.</p>
<p>I had bought mine directly from Oculus, expecting better service that way. I was wrong about that. They have refused to give me a refund because it’s after 30 days. In theory, I’ll be getting a replacement. The reality is that they do not have stock available at the moment. So I have to wait, and I’m back to using the original strap.</p>
<p>While I’m waiting and don’t have use of my Elite Strap, I am still nevertheless running down the warranty. Good thing it’s extended, huh?</p>
<p>I really hope that the stock unavailability of the Elite Straps is because Oculus is actually trying to fix the design and/or their manufacturing processes.</p>
<blockquote>
<p><strong><em>2021-05-25</em></strong>: <em>It’s been over a month, my support request has been “escalated” twice and passed through four different Oculus Support people, and I am still waiting. Attempts to secure a refund have failed. I would be happier knowing that the delay is due to sourcing of better materials or improving manufacturing processes… but I’ve received no explanation.</em></p>
</blockquote>
<h2 id="verdict">Verdict</h2>
<p>The Oculus Quest 2 is an amazing bit of tech that’s been let down by poor design in non-tech-related areas. It’s like a car designed with the best engine, and the best tech, but without enough thought into everything else.</p>
<p>Overall I don’t regret my purchase of the Quest 2 but if there’s one thing I would have done differently it’s that I would have sought an alternative solution to counterbalance the front-heavy headset, or I would’ve bought the Elite Strap from somewhere else - maybe John Lewis, or even Amazon - so that if it breaks within the warranty period, I could have got a refund more easily.</p>
<p>If I had known about <a href="https://vrbalance.net/">VR Balance</a> before I bought my Elite Strap directly from Oculus, I might have gone for that instead. I still might.</p>David ThaiAfter nearly 6 months with the Oculus Quest 2. Here are some of my thoughts.REVIEW: Tokyo Chronos2021-05-02T10:25:36+01:002021-05-02T10:25:36+01:00https://dafuloth.me/reviews/review-tokyo-chronos<p>Of the three VR games I’ve played since I got my Quest 2, this one has taken the longest to complete because to get the most out of it, you do actually have to read and understand the story (duh! it’s a novel). It’s my favourite game I’ve played so far.</p>
<p><img src="/assets/uploads/tokyo_chronos-cover.png" alt="Tokyo Chronos box art" title="Tokyo Chronos" /></p>
<h2 id="not-everyones-cup-of-tea">Not everyone’s cup of tea</h2>
<p><em>Tokyo Chronos</em> is a visual novel so you don’t play it the way you would an action game or RPG.</p>
<p>Like how you would play (watch) a movie or play (listen) to music, playing (reading) a visual novel is all about the experience, what it makes you think, and how it makes you feel.</p>
<p>On the Oculus store page, some of the negative reviews seem to be from people who did not find the kind of game they were expecting, i.e. a typical action/adventure game. In my book, I would say a game is any kind of interactive media where you can make choices to affect the outcome.</p>
<p>Perhaps it might help to think of <em>Tokyo Chronos</em> not as a videogame but as interactive fiction. Growing up, I used to love choose-your-own-adventure gamebooks, which were books that you could play by reading them. I was especially fond of the <em>Fighting Fantasy</em> series by Steve Jackson, and the <em>Lone Wolf</em> series by Joe Dever. I still read <em>Lone Wolf</em>, because they are officially available for free online.</p>
<blockquote>
<p>We’re on the right track! The TVTropes page <a href="https://tvtropes.org/pmwiki/pmwiki.php/Main/VisualNovel">Visual Novel</a> mentions <a href="https://tvtropes.org/pmwiki/pmwiki.php/Main/InteractiveFiction">Interactive Fiction</a> and goes on to say:</p>
<p><em>“Visual novels are effectively seen as a digital evolution of <a href="https://tvtropes.org/pmwiki/pmwiki.php/Main/Gamebooks">Gamebooks</a>, with music, pictures, and occasionally even voice acting or movies.”</em></p>
</blockquote>
<p>I’m not that familiar with visual novels. I think I’ve played a little <em>Ace Attorney</em> but my first real experience of visual novels prior to <em>Tokyo Chronos</em> was <em>Doki Doki Literature Club.</em> However, DDLC is really a horror game that uses the format and mechanics of visual novels for its gameplay, so it’s <em>not your typical visual novel</em> even if it is outwardly presented as a “dating sim”.</p>
<p>Still, I think it’s introduced me to some of the conventions of visual novels - or at least the conventions of a specific genre of visual novel. Either way, you have to play through it multiple times to unlock different endings, which in the end allow you to unlock a true ending.</p>
<h2 id="great-gameplay">Great gameplay</h2>
<p>The overall story is deep and thought-provoking. Maybe I’m just sentimental and a softy but I swear I got teary-eyed several times while playing. Although this game is two years old, I’m still hesitant to say too much in case I spoil it for anyone reading this who hasn’t played it yet. I feel that the story is so good, and that everyone should be able to experience it all for themselves.</p>
<p>This game is marketed as a “<em>VR Mystery Visual Novel</em>” so let’s start there. So something has happened, and playing through the game, you will learn about the different experiences of all the characters and piece together the whole story.</p>
<p><em>Not all visual novels are dating sims</em> (see TVTropes), and <em>Tokyo Chronos</em> is most assuredly <strong><em>not</em></strong> a dating sim. All the characters have their own meaningful backstories, and there is like only one truly romantic relationship.</p>
<p>The trailer and cover has the tag line <strong><em>I am dead. Who killed me?</em></strong> So this is a <em>whodunnit</em> story and you will discover who the victim is and who killed them.</p>
<p>So far, so obvious.</p>
<p>The story is good because because there is a twist that makes it not entirely obvious. Perhaps predictably, because this <em>is</em> a game, the story does ultimately revolve around your character.</p>
<p>If you are at all partial to a good story, then trust me, it is well worth getting through all the downer-endings to unlock the true happy ending.</p>
<h2 id="verdict">Verdict</h2>
<p><em>Tokyo Chronos</em> is one of the premium titles, going by the price tiers in the Oculus store, and I think justifiably so considering that it’s fully voice-acted (albeit in Japanese). My sole criticism is that there are a lot of spelling mistakes in the English subtitles. That’s kind of just nitpicking, since it didn’t affect my comprehension of the subtitles or detract from my overall experience.</p>
<hr />
<p><em>2023-06-09 Update:</em> <a href="https://dyschroniaca.com/en/">DYSCHRONIA: Chronos Alternate</a> is the latest addition to the Chronos series but it’s episodic so I’m waiting for all 3 episodes to be released before I play it. In the meantime, if you have yet to experience where it all started, why not try Tokyo Chronos on the Quest 2? Click <a href="https://www.oculus.com/appreferrals/dafuloth/2812851825399383/?utm_source=2">here</a> for 25% off!</p>David ThaiOne thing I've done during this early May Bank Holiday weekend is to finally finish *Tokyo Chronos*. I've been playing it intermittently over a period of about three months, and have now completed the game! It's been totally worth the time and attention to see all the endings and unlock the true ending.Magical Machine Learning2019-07-02T00:00:00+01:002019-07-02T00:00:00+01:00https://dafuloth.me/blog/magical_ml<p><a href="https://www.youtube.com/watch?v=R9OHn5ZF4Uo">CGP Grey’s video</a> describes a fundamental thing about machine learning that I find interesting: regarding neural networks specifically, even though we may understand the process of training them so that they will produce a correct result, we can’t really explain their “thought process”.<!--more--></p>
<!-- Courtesy of embedresponsively.com //-->
<div class="responsive-video-container">
<iframe src="https://www.youtube-nocookie.com/embed/R9OHn5ZF4Uo" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
</div>
<p>I wish I’d remembered this video a couple of months ago. It would have been interesting to think about while working on our <a href="https://github.com/dafuloth/soda">Makers final project</a> on machine learning - training a convolutional neural network to do facial expression recognition.</p>
<p>In a neural network, you have your input layer and output layer, and in between there are <em>hidden layers</em>. That’s where the <em>magic</em> comes in. And if we find that our model is giving us unexpected results, how would we debug it? If it was a piece of code I would try to gain visibility with print statements or similar.</p>
<p>It’s kind of fitting really, seeing that neural networks are modelled upon biological neurons. We can explain how a single neuron, or bunch of neurons, work in a mechanical sense, but that doesn’t explain how the billions of neurons in biological brains together give rise to consciousness. Like our animal brains, artificial neural networks can be really complex and we may never fully understand how they work inside, but we just know that they do.</p>David ThaiCGP Grey’s video describes a fundamental thing about machine learning that I find interesting: regarding neural networks specifically, even though we may understand the process of training them so that they will produce a correct result, we can’t really explain their “thought process”.Codewars2018-10-03T23:57:00+01:002018-10-03T23:57:00+01:00https://dafuloth.me/blog/codewars<p>I joined Codewars just over two weeks ago, on the 17th last month, and it’s been a lot of fun! I’ve been focusing on Ruby because it’s what Makers is interested in but it’s OK, I feel like I could switch to JavaScript just as easily if the situation required it - having completed most of the <em>JavaScript Fundamentals</em> section of a “Free Coding Bootcamp Prep” course, I believe that I have a decent grasp of the, er, fundamentals.</p>
<p>Without much difficulty I since have reached <em>5 kyu</em> and I have the profile badge to prove it ;)</p>
<p><a href="https://www.codewars.com/users/dafuloth"><img src="https://www.codewars.com/users/dafuloth/badges/large" /></a></p>
<p>Up to this point, I haven’t needed to think too deeply to solve the kata. It looks like <em>5 kyu</em> onwards is when things start getting serious. My usual approach has been to read the brief and dive in to implement a step-by-step solution based on the brief, but that doesn’t quite work so well anymore. Now I’m going to have to <em>really</em> think about the problem!</p>David ThaiI joined Codewars just over two weeks ago, on the 17th last month, and it’s been a lot of fun! I’ve been focusing on Ruby because it’s what Makers is interested in but it’s OK, I feel like I could switch to JavaScript just as easily if the situation required it - having completed most of the JavaScript Fundamentals section of a “Free Coding Bootcamp Prep” course, I believe that I have a decent grasp of the, er, fundamentals.Jekyll Static Sites and the Search for a CMS2018-09-28T00:55:00+01:002018-09-28T00:55:00+01:00https://dafuloth.me/blog/a-cms-for-jekyll<p>Jekyll is wonderful. When GitHub Pages launched, it was exactly what I was looking for. What I felt was missing was decent CMS for writing, managing and updating posts. I found it was awkward having to write, commit and push to GitHub everytime I wanted to post something on my blog. Writing is what I want to do on my blog so it’s the only thing I want to focus on. First I tried <a href="http://prose.io/">Prose</a> but found it too simplistic. Now I’m using <a href="http://www.siteleaf.com">Siteleaf</a> and I don’t think I’ll ever want to leave…</p>
<h3 id="about-jekyll">About Jekyll…</h3>
<p>It’s lightweight and is quite easy to use, after some setup and configuration. When all I want is somewhere to write stuff it’s perfect. Before static site generators were a thing, popular ways to have blog were sites like Blogger or WordPress.</p>
<p>Jekyll has changed everything. Unlike Blogger, I feel a greater sense of ownership and my blog truly feels like it’s <em>mine</em>. And unlike WordPress, Jekyll is lighter and doesn’t come with all the baggage of WordPress.</p>
<p>In short, with Blogger I didn’t feel like I had enough control, and while WordPress did give me full control over all aspects of my blog it was overkill for what I wanted to do.</p>
<h3 id="why-jekyll">Why Jekyll</h3>
<p>If not for Jekyll, in time I might have begrudgingly gone with WordPress. But let me talk more on the “overkill” aspect. WordPress is a dynamic blog. Dynamic because of php backed by a MySQL database. On a practical note, the things that make WordPress dynamic are also what introduce security vulnerabilities, so I would have to keep up to date with latest updates. With a static blog, I don’t have to worry about any of that and still have everything I want from a blogging system. The only update I ever have to apply is if I want to update the theme my blog is using.</p>
<p>If I need any dynamic features like a comment system or email form, there are plenty of external services I can embed.</p>
<h3 id="the-cms">The CMS</h3>
<p>For me, the major advantage of WordPress is that it’s got a great CMS (Content Management System). Because I wasn’t fond of the write/commit/push cycle every time I wanted to post, I ended up not posting much. More specifically, I wasn’t keen on having to do it myself. I wanted to be able to just write, click a button and be done with it. So what I needed was some web based system to manage my blog. What I needed was a CMS. For a while I tried Prose. Now I use Siteleaf.</p>David ThaiJekyll is wonderful. When GitHub Pages launched, it was exactly what I was looking for. What I felt was missing was decent CMS for writing, managing and updating posts. I found it was awkward having to write, commit and push to GitHub everytime I wanted to post something on my blog. Writing is what I want to do on my blog so it’s the only thing I want to focus on. First I tried Prose but found it too simplistic. Now I’m using Siteleaf and I don’t think I’ll ever want to leave…Talking My Way Out Of An Internship2018-08-08T01:00:00+01:002018-08-08T01:00:00+01:00https://dafuloth.me/blog/Talking-my-way-out-of-an-internship<p>So I did get feedback on that Technology Internship I applied for. I thought the video interview went well. In a sense it did but it seems I talked my way out of the job :(</p>
<p>Here’s the feedback:</p>
<blockquote>
<p>We thought you demonstrated a good, logical thought process and you had some good answers – we particularly liked your answer about changing technical answers into non-technical language – but we had a concern about whether this would be the right internship for you, as we got the impression your interests lie in developing.</p>
</blockquote>
<p>The internship was in IT vendor management. Maybe I might have succeeeded if I left out my developer ambitions. It’s good feedback and I’m glad to receive it so I know how to do better for future interviews.</p>
<p>I appreciate the feedback and their honesty but maybe I was a little <em>too</em> honest myself. I guess I was hoping they would appreciate someone open to new ideas and keen to broaden their horizons. Maybe I might have decided after this internship that IT vendor management was what I wanted to do going forward. Perhaps we’ll never know.</p>
<p>The recruiter explained in a web conference for applicants that this internship would involve working with different areas of the business across their London offices, so I was hoping I might have got the chance to meet one of their developers.</p>
<p>So yes, my interests do “lie in developing”. No sense denying it. Next stop, coding bootcamp. Makers is a little inaccessible right now due to the £8000 upfront cost. Instead, I’m looking at <a href="https://flatironschool.com/career-courses/coding-bootcamp/london/">Flatiron School</a> because even though they cost more, they only ask for the deposit upfront.</p>David ThaiSo I did get feedback on that Technology Internship I applied for. I thought the video interview went well. In a sense it did but it seems I talked my way out of the job :(Failing Faster2018-05-18T01:00:00+01:002018-05-18T01:00:00+01:00https://dafuloth.me/blog/Failing-Faster<p>That’s not pessimism talking. A long time ago, an <a href="https://www.youtube.com/watch?v=rDjrOaoHz9s">Extra Credits episode</a> introduced me to the idea. It’s an idea that really resonates with me because I feel that it identifies my greatest flaw.</p>
<p>The video uses the term in the context of design but I think that it can apply more broadly than that. It applies to life too.</p>
<p>I really don’t know when to quit. Perhaps I don’t really know how. Maybe put it down to my Aspie tendencies. In a way, it’s been the story of my life.</p>
<p>Failing faster could mean I’ll get more done. Determination in following a particular path can be a good thing, and the trait has served me well… but when it goes too far, it becomes tunnel vision and isolation.</p>
<p>I’ve been living with CFS/ME for about 10 years now. Awareness of the condition is better now but I’d rather have a cure. Although I suppose Stuart Murdoch of the band Belle and Sebastian, has a point: <a href="http://www.bbc.co.uk/news/uk-scotland-44085954">“It would be a miracle to actually find out what is going on… We can talk about a cure later.”</a></p>
<p>This whole time I’ve been trying to finish my degree but the illness has made it impossible. I’ve gone and done other things in that time but I’ve always gone back to trying to study and finish what I started. However, it’s clearly not working. I know I need to try a different approach. But what to do?</p>
<p>I wonder how much more I might have achieved if I’d been less myopic.</p>
<p>Thinking about the more immediate future, hopefully, I manage to secure that internship I applied for. It’ll be closer towards what I had wanted for a career and so be preferable to a retail job. I got through the initial sift and have a video interview next.</p>
<p>Whatever I decide to do, I may have to finish off the degree at some point but maybe it doesn’t have to be so immediate a priority. There were reasons/circumstances, and not just blind determination, behind why I stuck with it for as long as I did. The short version is that the degree was Plan A, and I was already too far along to be able to back out. The only way out is through. Switching to an apprenticeship was a potential Plan B but due to the work I’ve already put into the degree, I’m technically overqualified. I plan to keep monitoring that situation as I’d be really keen to get onto an apprenticeship if I can, assuming I don’t manage something better.</p>
<p>Or perhaps maybe I can find happiness and success in pursuing a career doing something else other than my first ambition. At least then I would be moving on with my life instead of being stuck in this purgatory.</p>David ThaiThat’s not pessimism talking. A long time ago, an Extra Credits episode introduced me to the idea. It’s an idea that really resonates with me because I feel that it identifies my greatest flaw.Thoughts on the TV License2016-08-10T01:00:00+01:002016-08-10T01:00:00+01:00https://dafuloth.me/blog/TV-Licensing<p>The “number of televisions”* line got my attention. It was in a comment on a Facebook post that was talking about the TV License. If anyone cares, here are my thoughts - as a Brit living in London, UK who feels that the TV Licence is worth it. If I say anything that’s inaccurate, I’m happy to be corrected.</p>
<p><em>*Person who made that comment is forgiven, as I don’t think he’s British and he does go on to correct himself - The TV License is a single annual fee per household, not a fee per television</em> :P</p>
<p>I believe that the license fee is a good thing in principle. It means no advertising on any of the BBC’s channels or websites. As they don’t need to attract advertisers, they don’t have to worry about not getting the highest ratings. They can take chances on programmes and concepts that might otherwise not see the light of day because of being experimental, unproven or possibly controversial. If I’m benefiting from a service, I don’t mind paying to get more of it. Remember, if something is “free”, then it’s likely that you’re the product.</p>
<p>I guess if we could absolutely guarantee the BBC’s independence and continued ability to do what it does, maybe scapping or lowering the license fee could be possible. But privatisation - from public good to commercial interests - isn’t some magic bullet that’ll make everything better than it currently is and once something is privatised it seems practically impossible to put it back into public hands.</p>
<p>Perhaps the one concern I have - perhaps unwarranted, perhaps not - is to do with the Royal Charter which allows the BBC to exist that has to be renewed every 10 years by the government. One has to wonder if the occasion might allow the government to exert influence so that around that time, would the BBC truly be <a href="https://www.theguardian.com/media/2016/mar/18/petition-keep-bbc-independent-signed-140000-people-four-days">independent</a>? Allowing the government to hand pick the people who run the BBC sounds like a really bad idea to me.</p>David ThaiThe “number of televisions”* line got my attention. It was in a comment on a Facebook post that was talking about the TV License. If anyone cares, here are my thoughts - as a Brit living in London, UK who feels that the TV Licence is worth it. If I say anything that’s inaccurate, I’m happy to be corrected.TECH: VR Headsets2016-07-19T01:00:00+01:002016-07-19T01:00:00+01:00https://dafuloth.me/tech/VR-headsets<p>More than the mere virtual reality proclaimed by industry commentators, we’ve segued in a big way into augmented reality with the massive success of Pokémon Go. More accurately, this has been the year of alternate realities.</p>
<p>Although I look upon it with much anticipation, I’ve yet to get fully get into Pokémon Go as I’d run out of Pokéballs and haven’t had a chance to get to a Pokéstop.</p>
<p>So let’s talk about VR.</p>
<p>I’m not going to be getting the Oculus Rift or HTC Vive any time soon. With the PC upgrade I’d need, it’s way out of my price range. I won’t be going with PlayStation VR either because I’m not a console gamer. However, I did participate in some market research for PlayStation VR where I got to try it out. It was then I was convinced beyond a doubt this was a genuine comeback for VR, this time accessible to home audiences.</p>
<p>My personal introduction to VR came last week when I took delivery of a DSCVR headset by I AM CARDBOARD. The first thing I tried was the horror title Sisters and my reaction was just WOW! I then tried a few other apps and 360-degree videos.</p>
<p>I don’t think the DSCVR is that bad for less than £25, although there is a review I’ve read that calls it a piece of overpriced plastic. I just think it’s a shame it doesn’t come with a head strap. That really limits the duration of each session to however long it takes for my arms to get tired. I’ve purchased a cheap headstrap from eBay and hopefully when I get it, I’ll be able to attach it to the plastic casing of the DSCVR…</p>
<p>So the DSCVR was a positive introduction to VR. Having determined that I like it, it was time to upgrade to something. After looking at all the smartphone driven VR headsets that are available, it come down to choosing between Homido or Freefly. I stopped myself at the last moment, having learned to consider my VR purchases more carefully following the slight case of buyer’s remorse with the DSCVR not having a head strap. Although I still think the DSCVR is OK and I’ll tell you why. It’s because I wear glasses and the DSCVR wasn’t all that uncomfortable during usage.</p>
<p>The Freefly states it’s not suitable for glasses-wearers and the Homido (which has adjustable interchangeable lenses), as with VR headsets in general, probably isn’t great with glasses either. I’m not going to be risk paying just under £50 for something I can’t fully enjoy.</p>
<p>So where does that leave me and other glasses wearing VR enthusiasts?</p>
<p>Well, on Saturday 16th July, Carphone Warehouse launched their “universal” VR headset under its Goji brand. For £39.99, it’s not too expensive and if it’s comfortable enough for use with glasses then it could be the perfect VR headset for me. It has two <a href="http://lowdown.carphonewarehouse.com/news/virtual-reality-from-carphone-warehouse/36813/">adjustable sliders</a> on top for aligning the lenses and <a href="http://www.dixonscarphone.com/media-centre/press-releases/carphone-warehouse-launches-universal-virtual-reality-headset">magnetic controls</a>.</p>
<p>Having some kind of lens adjustment could help ensure an optimum experience. Homido offers interchangeable and adjustable lenses- an appealing feature for me. Freefly on the other hand say their wide diameter lenses mean that adjustment <a href="https://www.freeflyvr.com/fixed-interpupillary-distance/">isn’t necessary for 95% of the population</a>.</p>
<p>Something that I consider important, that the DSCVR has but is lacking in both of the higher priced headsets I’ve mentioned, is some kind of physical button or control. Not all VR experiences can be controlled by “looking”. The Freefly comes with a bluetooth controller included but the Homido doesn’t and I’d have to buy one separately. A physical button on the headset is a low-tech solution that I would be perfectly content with and that’s what the Goji VR headset has.</p>
<p>So some time soon, I’ll be heading to my local Carphone Warehouse store to try out the Goji VR headset and if all checks out, it’s going to be what I’ll be getting for my VR needs.</p>David ThaiMore than the mere virtual reality proclaimed by industry commentators, we’ve segued in a big way into augmented reality with the massive success of Pokémon Go. More accurately, this has been the year of alternate realities.Google Drive misbehaves when sync folder is on a NAS2016-01-09T00:00:00+00:002016-01-09T00:00:00+00:00https://dafuloth.me/tech/GoogleDriveSync<h4 id="problem">Problem:</h4>
<p>If the Google Drive sync folder is on a NAS, Google Drive sync will complain that the folder is missing when computer resumes from Sleep or Hibernation.</p>
<h4 id="causes">Causes:</h4>
<ul>
<li>
<p>Probably because my NAS enters power saving state when there is no disk activity so it takes a moment for the computer to re-establish connections to network drives as it has to wait for NAS drives to spin up.</p>
</li>
<li>
<p>Assuming this is the case, I would speculate that this issue would also occur if the Google Drive location was on any other network drive or device which wasn’t continuously available.</p>
</li>
</ul>
<h4 id="symptoms">Symptoms:</h4>
<ul>
<li>
<p>Unfortunately, although Google Drive is happy to have its sync folder on a network drive it also expects that location to continuously be available, regardless of location or computer Sleep/Hibernation.</p>
<p>That would be OK if Google Drive bothered to wait for the location to become available or automatically tried again after short interval. Instead it just complains that “Your Google Drive folder is missing” and stays that way.</p>
<blockquote style="font-size:12px; font-style: oblique;">Whatever other faults OneDrive has, it does actually recover gracefully from temporarily not being able to locate its folder. However, it does also require a silly workaround involving a subfolder and symlink to be able to store its contents on a network drive.</blockquote>
</li>
</ul>
<h4 id="solutions">Solutions:</h4>
<ol>
<li>
<p>Of course, you could use a local folder as the Google Drive sync folder but that’s not a solution to the problem. That’s just avoiding the problem.</p>
</li>
<li>Simplest/easiest/tedious solutions:
<ul>
<li>
<p><em>Simplest</em>: Restart your computer and defeat the point of Sleep/Hibernation.</p>
</li>
<li>
<p><em>Easiest</em>: Kill <strong><code class="language-plaintext highlighter-rouge">googledrivesync.exe</code></strong> with<br />
<strong><code class="language-plaintext highlighter-rouge">taskkill /F /IM googledrivesync.exe</code></strong> at the command line or with the Run command and then start Google Drive again.</p>
</li>
<li>
<p><em>Tedious</em>: Click the Google Drive tray icon, click on the error, click Locate Folder and remind Google Drive where the folder is.</p>
</li>
</ul>
</li>
<li>A better way. It does need a little setup but in my opinion it beats all the above. Set it up once and never worry about it again:
<ol>
<li>
<p>Use the Task Scheduler to automatically kill <strong><code class="language-plaintext highlighter-rouge">googledrivesync.exe</code></strong> whenever the system is going to Sleep or Hibernate.</p>
<p>We want this task to trigger <strong>“On an event”</strong> and the trigger should be as follows:</p>
<ul>
<li><strong>Log: <code class="language-plaintext highlighter-rouge">System</code></strong></li>
<li><strong>Source: <code class="language-plaintext highlighter-rouge">Kernel-Power</code></strong></li>
<li><strong>Event ID: <code class="language-plaintext highlighter-rouge">42</code></strong>
<br /><br /></li>
</ul>
<p>That Event ID 42 indicates that <em>“The system is entering sleep.”</em></p>
<p>As the action, choose <strong>“Start a program”</strong> and put <strong><code class="language-plaintext highlighter-rouge">taskkill</code></strong> as the program and <strong><code class="language-plaintext highlighter-rouge">/F /IM googledrivesync.exe</code></strong> as arguments.</p>
</li>
<li>
<p>We want to have more control over how and when the sync client runs because if it starts too soon after resuming from Sleep or Hibernation, the network location won’t be ready and it will complain that its folder is missing. Open up Preferences in Google Drive and untick <strong>“Start Google Drive on system start-up”.</strong></p>
</li>
<li>
<p>Use Task Scheduler to have <strong><code class="language-plaintext highlighter-rouge">googledrivesync.exe</code></strong> start after a delay, when you log in to Windows.</p>
<p>This task should also trigger <strong>“On an event”</strong> and the trigger should be as follows:</p>
<ul>
<li><strong>Log: <code class="language-plaintext highlighter-rouge">Security</code></strong></li>
<li><strong>Source: <code class="language-plaintext highlighter-rouge">Microsoft Windows security auditing.</code></strong></li>
<li><strong>Event ID: <code class="language-plaintext highlighter-rouge">4624</code></strong>
<br /><br /></li>
</ul>
<p>Where the Event ID 4624 indicates that <em>“An account was successfully logged on.”</em> The important part here is to tick <strong>“Delay task for:”</strong> under <strong>Advanced settings</strong> and changing the value to something sensible. You want the delay to be long enough so that the network location becomes available but short enough so that Google Drive doesn’t take forever to start up. Maybe “1 minute”.</p>
<p>As the action, choose <strong>“Start a program”</strong> and put the path to your <strong><code class="language-plaintext highlighter-rouge">googledrivesync.exe</code></strong>.</p>
<p>Even after this task has done its job, its status remains “Running”. I haven’t noticed any ill effects as a result of this. Actually it might be a good thing. I’ve observed that Event ID 4624 can intermittently reoccur even while I’m logged in and actively using the PC. This results in this task running again and trying to launch the Google Drive client again, and because the client is already running it just opens your Google Drive folder which can be annoying. For good measure, select the option <strong><code class="language-plaintext highlighter-rouge">Do not start a new instance</code></strong> under <strong>If the task is already running…</strong></p>
</li>
</ol>
</li>
</ol>
<h4 id="comments">Comments:</h4>
<p>I realise that there are a lot of people this issue won’t affect but I’m also fairly sure that are people who, like me, prefer to Hibernate their PC so that they can always pick up where they left off - as opposed to Sleep which still uses power or a full shutdown which means opening up browsers and directories from scratch.</p>
<p>If you’re wondering where the trigger criteria comes from, I put the machine to Sleep or Hibernate and looked in the Event Viewer. There’s really so much in the event logs but it’s so helpful when looking for something specific.</p>David ThaiProblem: If the Google Drive sync folder is on a NAS, Google Drive sync will complain that the folder is missing when computer resumes from Sleep or Hibernation.