Today was, yet again, a seemingly unproductive day. I’m still fighting with my development environment; attempting to find a long-term solution to my short-present frustrations. And I think, finally, I may be making progress.
Over the last few days I have spent time cloning, nuking and re-cloning repos. I’ve installed Ubuntu nearly half a dozen times, between VirtualBox and Hyper-V. I’ve made post-hoc changes to the size of virtual disks numerous times. I’ve ran between two machines, performed close to a 100 Google searches, and wound up spending over $100 in search of respite.
My wife suggested today that I try to see if our VR tower would serve as a good build machine. It’s got 8 CPU cores, and 4 GPU cores. It has massive amounts of on-board memory, and crazy amounts of RAM. She’s right, I thought. Maybe I should consider that.
The VR tower sits in the living room, where the family congregates to play Oculus games. I can’t rob the living room of it, so I have to devise a plan to remotely control that machine from my home office. Not a problem―I’ll use Remote Desktop Connection, which is built right into Windows.
These solutions are nearly always easier said than done. I started by getting the IP address of the tower, and tried to connect. That failed. Hmm, maybe the machines are on two different networks? I do, after all, have a 5mhz and 2.4mhz options. As it turns out, that wasn’t the issue either. Both were on my 5mhz connection.
My next thought was that the tower was configured to reject remote connections. After a bit of fiddling, I found that was also not the case. Every checkbox I could find warmly welcomed incoming connections from computers on the same network. So what then could it be!?
At this point I was getting desperate; time to turn off the Windows firewall. Perhaps there was some obscure inbound connection rule that prevented me from accessing that machine remotely. That too failed to address the issue.
After about an hour or so of walking between the office and living room, adjusting knobs here and there, I happened to notice that the tower was running Windows 10 Home edition. Could it be that this is some bizarre limitation of Home edition? Sadly, a quick search confirmed my fears.
As it turns out, if you want to connect to your machine, your machine needs to be a Pro version of Windows. Granted, you could instead use some other Remoting application (I’ve used VNC Viewer in the past with success). I try to stick with Windows solutions these days though. If it’s built-in, that’s what I prefer to adopt.
After an hour, and $109.99 later, I had my Windows 10 Home upgraded to Windows 10 Pro, and I was able to move on to the next step!
It was at this point I began feeling as though there was a light at the end of the tunnel. Not a bright one, but a faint glimmer of hope. It slowly approached me, instilling a pregnant sense of confidence that everything would be alright. Boy was I wrong!
After installing Git, Node, Python, PIP, and more, I began cloning my project. This usually takes some time, so I decided to step away for a bit. I managed to come back just as it was wrapping up the tedious middle-portion of the process, and began the latter steps.
Then it struck. Failure. Errors across the terminal. My wife happened to step in just as this happened, and let out an audible gasp. Look at all of those errors, she exclaimed. As if I wasn’t already being tormented by them to begin with 🙂 I was missing a few necessary components, and to get them I’d have to install Visual Studio 2015 Community Editions (emphasis on the “2015”).
The latest version version is 2017, and that is all that Microsoft offers on their VS page. I thought perhaps I’d be able to use 2017, even though the documentation explicitly says to use 2015. Maybe it’s just out of date, I thought. To be safe, I decided to see if anybody else was talking about the 2017 edition. To my relief, they were, and it is not compatible at this time. Dodged that bullet!
After finding a download option for Visual Studio 2015 Community Edition, I began the lengthy process of installing the more than 10GB of data. Again, all I could do was sit and wait. I’m often at the mercy of my machines these days.
Once the install completed, I was a back on track! The build script was running beautifully, until it stopped AGAIN! Numerous complaints filled the screen about not being able to reach a particular domain. No way. That domain is accessible. It has to be! I tried to manually ping it; no good.
I was tired at this point. I just wanted to shut the machine down, and give up for the evening. It has been 3 days of constant trouble. Every step forward is followed by 2 or 3 tumbles backward. I decided to take an hour and play a bit of Final Fantasy XV.
As I sat there on my couch, flicking at the controls, watching as the Xbox One complained that it couldn’t sync my saved game data. Great. You want to ruin my night too, do ya? The machines, I was convinced, were coming alive. And they were bent on crushing my spirit 🙂
As it turns out, thunderstorms in the area took out internet services for many people. They just happened to take out mine at a time which wouldn’t be obvious to me.
I’ve been writing software professionally for nearly 20 years now. There are good days, and there are bad days. And one thing is for sure, when it rains, it pours.
I’ve been hit pretty hard this past week, but I’m hopeful that better days are ahead. I’m not about to turn in; I’m not about to give up.
While it is true that I was too busy doing nothing this past week, I’m fully aware that this isn’t foreign to any other developer in the industry. We win some, and we lose some. But we press forward.