React Native: NodeJS and Expo Start Failure

Recently I was looking at doing some React Native work so that I can quickly get some Android and iOS prototypes up and running to help me build the app that I actually want to get onto the Apple App Store and the Google Play Store.

To help me get a better understanding of what I need, I looked at several YouTube videos. The tutorials/guides were extremely useful, however I encountered an issue that was not present in the videos. When I ran the following command on my computer:

npm start

instead of the Expo DevTools running locally in my browser until I force killed it through Command Prompt, it would crash immediately and my Command Prompt would display an Unterminated Character Class error like below:

C:\Development\Android\React Native\Tutorials\rn-first-app>npm start

> @ start C:\Development\Android\React Native\Tutorials\rn-first-app
> expo start

Starting project at C:\Development\Android\React Native\Tutorials\rn-first-app
Expo DevTools is running at http://localhost:19002
Opening DevTools in the browser... (press shift-d to disable)
error Invalid regular expression: /(.*\\__fixtures__\\.*|node_modules[\\\]react[\\\]dist[\\\].*|website\\node_modules\\.*|heapCapture\\bundle\.js|.*\\__tests__\\.*)$/: Unterminated character class. Run CLI with --verbose flag for more details.

Metro Bundler process exited with code 1
Set EXPO_DEBUG=true in your env to view the stack trace.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ start: `expo start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

After doing some Googling, I found this super handy StackOverflow page (answer linked) which has several answers that talk about specific NodeJS versions that have this problem and downgrading to an earlier version (I had installed NodeJS 12.13.1, which at the time was the latest recommended version to install) fixed it. Or you could modify a specific JavaScript file that was not escaping correctly.

I decided to modify the blacklist.js file instead of downgrading my NodeJS version. The StackOverflow page linked above outlines what needs to be changed in the file. If you are using an editor like Visual Studio Code then with the syntax highlighting you will notice the difference once the \ is added to line 15 of the file. It basically goes from:

var sharedBlacklist = [
  /node_modules[/\\]react[/\\]dist[/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];

to this:

var sharedBlacklist = [
  /node_modules[\/\\]react[\/\\]dist[\/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];

Now this issue may only affect Windows due to the nature of how the slashes are escaped and respected (different OS do things slightly differently). So if you encounter this problem, either downgrade your NodeJS version, or if you don’t want to do that then modify the offending JavaScript file. Also it would be worthwhile to go visit that StackOverflow page and bump up the answer. As developers we need to help each other out and share as much information as possible to help make the world a better place.

E3 2019: Microsoft Xbox Briefing Impressions

I woke up at 6AM AEST to watch the Microsoft Xbox E3 2019 briefing and I felt a little indifferent after it ended. There were some moments I was like, “yeah this is going to be awesome”, and then there were moments like “next game please”. Frankly it was not their best showcase (for me anyway). I watched it again before writing this blog post and took notes down as the event progressed so I could at least have some references and ideas to go off. You can watch the VOD here (I have time stamped it to the start of the event so you don’t have to sit through 25 minutes of a countdown timer).

Xbox Game Pass is king

The biggest take away from the entire Xbox event IMO was that Xbox Game Pass is going to be such an attractive offering to gamers on Xbox and now on PC that it would be foolish to not consider the subscription service, especially that for a limited time it is $1 for the Xbox Game Pass Ultimate subscription. Nearly every single game that was announced or shown was going to be available at launch of Xbox Game Pass, which is fantastic news. Not only that but with their new Xbox Game Pass Ultimate subscription at $15.95 AUD per month you get your standard Xbox Game Pass, Xbox Live Gold and Xbox Game Pass for PC. I’ve just subscribed to the ultimate service as it is too good to not use. Well done to Microsoft for offering such an enticing and worthwhile bundle. Using this service I have bought less games but I have played more games, and even games that I had held out on or was hesitant to pick up such as Homefront: The Revolution and Vampyr.

The future of Xbox

The new Xbox console was also teased, code-named Project Scarlett. With four times the power of the current Xbox One X, it is going to be one beast of a machine. It appears the focus for the new Xbox console is to have games play faster/smoother, load quicker, while also look amazing (obviously). As a gamer you should be excited by this. As Phil Spencer said, “The new Xbox has been designed, built and optimized for one thing and one thing only, gaming…”. Unfortunately we need to wait until Holiday 2020 but on the bright side I am going to have the time to save up for the console and any game I want when it comes out.

There was also a very brief mention of Project xCloud but there was not mention of the network specifics or how it will function or even how much it will cost, so we will need to wait and see for that. There is also a new console streaming service that will be available too, where your own personal console can be setup as your own personal xCloud server so that you can play your games anywhere you want which is cool.

I already have an Xbox Elite controller, but version two of the controller is going to be coming out soon. From what they showcased in the trailer (you can see that here) it looks like that they listened to the gamers and have made some really good improvements like fully wrapped grips, adjustable-tension thumbsticks, and more. Having Bluetooth connectivity is a bonus as is the USB-C connection, but I am not entirely sold on the internal battery which from the looks of it is not removable. Many people have said the first iteration of the controller was poorly built and did not withstand the use from long gaming sessions; I have not had problems with my and the grips, etc. are all still going strong.

So many games

When Microsoft said that they were bringing games to the show, they really meant it. There was a crazy amount of games that they showed but there was only a handful of games that really appealed to me from either the cinematic trailer or the gameplay trailer. A quick rundown of the games that interest me included:

  • The Outer World – I was a fan of Fallout New Vegas, and to be able to play an RPG from the creators of New Vegas is going to be great. Plus it is going to be available on Xbox Game Pass at launch.
  • Ori and the Will of the Wisps – as someone who is not interested in platformers too much, the original game was absolutely outstanding and difficult. This looks to be much of the same and will also be on Xbox Game Pass at launch. However it looks like the game will be coming out early 2020.
  • Star Wars Jedi: Fallen Order – you can check out my breakdown of the gameplay shown at EA Play 2019 here, but the CGI trailer looked decent. However being a single player action game, the replayability does not look very high.
  • Blair Witch – horror, atmospheric and thriller games are some of my favourite. This looked to be right up my alley and gameplay-wise appears to play closely like the Outlast series. I am interested in seeing more of this and as a bonus it is an Xbox Game Pass title.
  • Cyberpunk 2077 – nothing more needs to be said about this game. It will be GOTY. CD Projekt Red are one of the best developers out there. They know how to make fantastic looking RPGs and worlds that are fully immersive. This game looks no different, but we will need to wait until 2020 for this title too 😦
  • Age of Empires 2 Definitive Edition – more Age of Empires is always a good thing. As an RTS fan, and a fan of the series I will be playing this game when it launches and it is going to be on Xbox Game Pass.
  • 12 Minutes – this game has me intrigued. It is not a game that would normally interest me. I’ll keep an eye on this game and when it goes on sale I’ll probably pick this up and give it a play.
  • Gears 5 – I absolutely cannot wait to get my hands on this title. Everytime I see this game I get more and more excited. The new Escape game mode looked absolutely crazy and is going to be a blast playing with two other mates. The story looks like it is also going to go places where other Gears games have not gone. Releasing in September 2019 on Xbox Game Pass makes this a no brainer.
  • Halo Infinite – it has been too long between main Halo games. The last big Halo game came out at the end of 2015, Halo 5: Guardians. Halo Infinite is going to be a launch title in 2020 for the new Xbox console. 343 Industries went forward with the campaign in Halo 4 and then took great steps forward with multiplayer in Halo 5. All they need to do is now have both packaged together, but I am not sure they can do this; fingers crossed. I have high hopes for the game and it launching through Xbox Game Pass along a brand new console might be what the 18 year old franchise needs.

The next year will be interesting, with many of the games announced coming through Xbox Game Pass and playable in 2020 they will most likely be playable on the current generation of Xbox and next generation of Xbox consoles. Bring on 2020!

E3 2019: The Sims 4 and Battlefield V Stream Impressions

Originally I was going to have two separate blog posts for The Sims 4 and Battlefield V streams, but after watching the streams I felt that from what both announced it would be better to have a single write up. There was absolutely no way that I would be able to write up two meaningful blog posts.

The Sims 4

It will be 20 years of The Sims franchise this year. I cannot believe it has been that long, and I have been there from the start. So congratulations are in order for the franchise that keeps on giving; thanks EA and Maxis on such a fun franchise to play.

Just a very brief breakdown of what is coming this year:

  • The Sims 4 Island Living (new expansion pack)
    • Will be releasing at the end of June.
    • Brand new island world with an active volcano.
    • Plenty of new Create-A-Sim (CAS) and Build/Buy items that are inspired by real world Polynesian cultures.
    • Mermaids – something that looked interesting.
    • Dolphins – great to see some more animals in the game with interactions included.
    • New island interactions – from using aqua zips to snorkeling.
    • New Conservationist career.
    • New small odd jobs including being a lifeguard, diving instructor, etc.
    • Plus much more.
  • The Sims 4 Realm of Magic (new game pack)
    • Will be released in the Fall of 2019 (unless it is delayed and pushed out)
    • More information about this pack will be detailed later on in the year 😦
  • The Sims 4 Moschino (new stuff pack)
    • Will be released later in the year.
    • New Freelance Fashion Photographer career.
    • Primarily a CAS focused pack with new items to make your sims look fashionable.

If there was one thing that I could say about this particular stream; there was not many announcements but within each announcement there were a number of new items that needed mentioning. The brand new expansion pack alone has so many new items it would be crazy to list them all. I am super excited for this one though. Some of the features that I am looking forward to include the new world that has an active volcano (that can shoot lava bombs into the world – perhaps there will be a new death method in the game?), all the new interactions with the world including entering and exiting the world’s water (great addition to make the world feel more lifelike and real), and all the new interactions that can happen with the world and the items such as sunbathing, snorkeling, etc.

So I think what Maxis has done is give what every Sim fan out there wants. There is a little bit of everything for everyone; from the individuals who want to create some amazing worlds and buildings, to the individuals who want to craft interesting and fun stories with all the new world and item interactions. Good job here, I was super satisfied with what they showcased.

You can check out the stream using this link.

Battlefield V

I knew going in that it would be a map reveal, but I was very disappointed in what maps got revealed. As someone who was an avid Battlefield player, I think DICE really have missed the mark with Battlefield V. What did get announced was for the next two chapters in the game, chapters 4 and 5 (coming in the next several months).

There is a new map set in Greece and that does not look like it is going to be a fun map to play on. It looks absolutely gorgeous but as they showcased the map it looked like it was going to be one with many choke points and be a pain in the ass to take capture points. The focus of that map looked primarily infantry as well (something I am not a fan of in Battlefield especially with the majority playing the recon/sniper class).

There is a new North Africa map that also got announced. This to me felt like an absolute cop out of a new map as it was taken from the war stories mode and reworked for multiplayer. All the Africa maps that have been in any recently developed Battlefield game have been absolutely trash and are by far the worst maps on the rotation. The only positive from this is that there is a good focus on vehicle combat due to the scale of the map.

Along with these two maps there are a number of close quarter combat style maps which are designed for squad conquest coming out in August; again something that I don’t think Battlefield V really needs at the moment. I like squad conquest but there are more important issues to resolve. Operation Underground which is a “re-imagining” of Operation Metro and coming out in October; again this looked a little lazy to me.

DICE are also going to increase the maximum level cap to 500 from 50. I don’t see the point in doing this. Why have a level cap at all? The rewards that you get from reaching certain milestones after level 50 include company coins, new dog tags, icons, etc. To me it would make sense to remove the level cap completely and let people just continue to get rewards. In September they will also finally be having the ability to have private servers through private games; this should have been there from the start.

The only redeeming announcement was that in chapter 5 you will be able to play as the USA and Japan while fighting in the Pacific. Along with this will come new weapons and vehicles. Looking forward to that the most, unless DICE somehow mess that up too. Maybe the next Battlefield game will be worthwhile playing long term.

You can check out the stream using this link.

E3 2019: Star Wars Jedi: Fallen Order Stream Impressions

I would not consider myself a die hard Star Wars fan, but I would consider myself a fan of Star Wars. I’ve watched most of the main Star Wars movies, played most of the Star Wars games and have read some Star Wars novels. So I would say that this game would be right up my alley.

I didn’t watch this stream live because I really didn’t want to disrupt my sleeping schedule just for E3 so it was one of the first streams I watched when I woke up. I am going to say the 15 minute or so gameplay footage they showed did not disappoint and if I did stay up to watch the stream I would have been okay with it overall. As the stream progressed I noted down some of the positive elements that stood out to me which include:

  • Single player action game only
    • This is good news to me (and probably other gamers out there too). Most of the Star Wars games that I have enjoyed playing have been single player only games such as Knights of the Old Republic, Jedi Outcast, etc.
  • Thoughtful” combat
    • It was mentioned that the combat was designed in a thoughtful way and it showed. From the enemy variety and placement, choice of using your lightsaber and force powers; it really was designed to have you think while fighting the enemy with many ways to go about completing the encounter.
    • The transitions between using your lightsaber and force powers looked fluid and smooth. Actually the entire gameplay was fluid and smooth.
    • At times there were “cinematic” moments while you were in combat such as when you were in the process of finishing off an enemy. The camera would pan around slightly, now I don’t know if this was done using one of the analog sticks or part of the game however.
  • Buttery Smooth Movement
    • As smooth as the combat was, so was the traversing and movement around the environment.
    • You can tell that this game took inspiration from Titanfall in regard to the wall running, clambering and climbing; it was made by the same developers.

You have a companion droid which looks to provide you with health when you are low (limited supply and you need to prompt for it, leaving you vulnerable) and it can unlock paths, provide you with Star Wars lore, and generally help you out to progress to the next area. Being an action game I know the focus will be on the combat and moment to moment set pieces, but I also really do hope that there are some puzzles in the game to break up the pace a little. We did not get any further information about the skill points and how they will be used or spent other than they can be used for force abilities. I would have liked to see that; will it be a skill tree? Or will it just be a “pick an ability” option?

If I was to be fairly critical of the game I noticed that it did not look the best or something coming out late 2019. I don’t know if it was the stream, but I was watching it at 1080P at 60 fps and for a 2019 game, graphically I had seen better looking games. It did not look bad but I would have expected some of the models and textures to look a little better. Some of the fire and smoke effects were also not the best I have seen. Lighting, shadows and the foliage were generally okay however. Having this quality shown is far better than having something look amazing and then when the game is released have it significantly downgraded, so kudos to Respawn here on that.

Maybe it was just me but the facial animations at the beginning of the gameplay along with how the character’s face was sitting looked a little off too. Now it was nowhere near as bad as Mass Effect Andromeda’s facial animations but it just did not look right. Being focused as a Jedi story I knew going in that you will not be choosing a force side, ie. light or dark. I don’t know why Greg would ask them this question. As someone who prefers the force abilities on the dark side and generally plays a Sith or dark Jedi I am a little disappointed but it is not a deal breaker. Perhaps I can choose to wield some of the dark side force abilities?

Overall from what I have seen so far of the game it looks like it is going to do well. There will be more shown at the Microsoft E3 2019 event which will be great and I will have a blog post about that whole event separately. Being a single player only game and because I buy all my games digitally now, it will be a game that I buy when it is on sale for at least 40% off; I don’t see it having much replay value (I could be surprised). If you want to check out the official Star Wars Jedi: Fallen Order stream then use this link (I have timestamped it so that you don’t have to wait for the actual stream to start). Enjoy πŸ™‚

Google Chrome VS Microsoft Edge (Chromium Version) Initial Impressions

Google Chrome is my go to stable browser at the moment for my Google Pixel 3, my Surface Book 2, my work Macbook Pro, and my Windows gaming desktop. Previously I used Microsoft Edge but like I had posted about previously there were website compatibility issues but it came with far superior memory and battery management. Now there is a change in the wind with the Microsoft Edge browser.

What Microsoft has done (it appears) is to finally accept the open source Chromium project and modify their Edge browser to now support and be built off Chromium. Absolutely amazing news if you ask me (but not according to Mozilla). When they announced that they will be releasing canary (daily updates) and dev (weekly updates) channels so that people can try out their early builds I jumped right in. As of 25/05/2019 the macOS version of Microsoft Edge only appears to have the canary channel available whereas the Windows version has both canary and dev channels.

If you are on Windows 10 then you can go ahead and download the in-development Microsoft Edge Chromium version from here.

If you are on macOS then you can go ahead and download it from here.

On my Surface Book 2 I have been using the dev channel as my daily driver while on my Macbook Pro I have been using the canary channel. Initial impressions are positive (except for an update that happened mid week that caused my Edge browser to not launch at all on my Macbook Pro – but that did get fixed quickly).

Complete Compatibility

One area that I was critical of the original Microsoft Edge was that some websites were not compatible with the rendering engine that was used, so some sites either failed to render content correctly, or render at all. Other browsers like Google Chrome or Mozilla Firefox rendered the content perfectly fine.

Using the Chromium version of Microsoft Edge gives an extremely positive first impression. All the websites render their content correctly and there has been no website that fails to render at all. It is on par with other browsers I would say from my usage so far. It is off to a good start for the in-development browser.

Fast Performance

Microsoft Edge was quick at loading some sites but was slow at loading other sites (or not at all). Other browsers were generally fairly consistent and loaded most sites quick. Obviously the loading speed of the site will depend on the content that is trying to be loaded. Comparatively the speed is on par with Google Chrome.

At the moment I found no speed or performance issues when loading various websites. So not only is the website compatibility good, the speed at which the content is displayed is quick. Navigating around the settings and just generally using the browser is also a fairly smooth and quick experience.

Solid-ish Resource Management

For a portable machine like my Surface Book 2 and Macbook Pro, managing my systems resources (including battery) is extremely important. I don’t want to travel around with my charging adapter; a good laptop should last a full business day under normal use for me.

Google Chrome has gotten better at managing the amount of system resources it uses (it also depends on what extensions, etc. you have installed) but it is still a resource hog. Battery drain has also gotten better but it can still be a problem. I don’t notice it as much on my Surface Book 2, but on my Macbook Pro it is definitely noticeable. Note that even without using Google Chrome my Macbook Pro has extremely poor battery life compared to my Surface Book 2. Overall though Google still has room to improve here.

Microsoft Edge has always been good at making sure the battery drain is minimal and even the management of your system resources is balanced and efficient. The Chromium version is good but still does not match that of the non Chromium version of Microsoft Edge. The battery life is slightly worse and seems to be using more system resources. I need to spend some more time here but from what I have seen it is slightly better than Google Chrome, but not by much.

The underlying problem could be Chromium itself. Hopefully now that Microsoft is going to be contributing more to the open source project, it can help Google and the other developers in ensuring that Chromium provides the most efficient browser for all devices. I am hopeful that this is the case and look forward to the improvements that will be made.

Trimmed and Slim

Right now Microsoft Edge (Chromium) does not have all the features of the non Chromium version of Microsoft Edge. This is expected as it is not fully released and is still in early development, not even beta, at the moment. You do miss some of the features like setting tabs aside, etc. but Microsoft did say that they will come to the Chromium edition.

On the plus side being on Chromium there is greater extension support and availability. You still cannot have all the extensions that Google Chrome supports at the moment and it will get better with time as both will be using the same underlying engine so that is a plus.

Overall I am impressed at the in-development and early release channels that Microsoft has made available. Would I use it as my stable and go to main browser at the moment? No. But once released I feel it will give Google Chrome a good run for its money because if it can perform close/if not slightly better right now in regard to system resource management and battery drain. Good job Microsoft and welcome to Chromium πŸ™‚

Playing with my new Google Pixel 3

My Final Nokia Troubles

Last weekend my Nokia 8’s microphone had stopped working/functioning correctly. It was also not the first time that it stopped working or started to not function correctly. Instead of the individual on the other end of my call being able to hear and understand me, all they could hear was static or white noise. But to resolve the problem before I just blew into the microphone to remove any dust, dirt or anything else that might be interfering with the microphone. This time that did not work 😦 Looking at the official Nokia support forums I am not the only one who has experienced this problem; poor design. You can also see various YouTube videos that show the same thing that I was experiencing.

I could have taken my phone to a repair shop to get them to take a look at it but it got to the point where I was a little frustrated and annoyed at Nokia and my Nokia 8, so I decided instead to take the more expensive option and buy a Google Pixel 3 (not a 3a however); with my friend getting me a good deal on what I purchased and a sale already on the white version of the Google Pixel 3, I feel I made the right choice. Along with the white Google Pixel 3 I also picked up an official charcoal Google Pixel 3 case and a Pixel Wireless Charging Stand too.

I knew the Pixel 3 phones were really good phones even if they lacked some of the features of other flagship and no flagship phones (3.5mm headphone jack, expandable memory, 5G support, etc), and it did come in at a high price point but it has not disappointed me so far.

Solid Hardware Build

The build quality of the phone is really good IMHO. In your hands it feels heavy and well put together. The size of the phone is perfect for my hands and I don’t see any real shortcuts that Google took when I am handling the phone. I did put a case on my phone (as I do with most of my phones I purchase) so I don’t have to worry about scratches to the back of the glass and if I do drop it then it should protect it from any major damage.

The screen is of really high quality and along with the stock Android OS it makes for an absolutely smooth and pleasant experience. The front facing dual speakers are also really good. I prefer to have front facing speakers than a single speaker at the bottom of the phone, or what some phones are now having, in-screen speakers (using vibrating motors behind the screen). The fingerprint sensor on the back is something I have to get used to as the Nokia 8 had a fingerprint sensor at the front.

One area that I want to comment on is the forehead and the chin on the Pixel 3. I am not a fan of a notch or punch hole on phones. I am also not a fan of the various different ways that device makers are adding mechanical and moving parts to the cameras which over time will breakdown or not work properly; no matter what they say, moving parts are prone to breaking. The Pixel 3 has, as some people would say (not me), a large forehead and chin. But I think the Pixel 3’s forehead and chin are absolutely fine. Plus with the “sized” forehead and chin on the Pixel 3 you get dual front facing speakers, which are well worth it.

Pixel Android

I am a super fan of stock or “pure” Android. I don’t want (nor need) multiple email clients, multiple chat clients, multiple browsers, etc. Apps I cannot delete or disable are pure and utter garbage that annoy the hell out of me. As soon as I see that there is a separate skin or over the top launcher added to a phone out of the box with that bloatware I refuse to buy the phone. Most, if not all OEMs do this which is a shame.

The Pixel phones are IMO what I feel Android should be. It is how Google imagines Android should be; stock Android with all the added benefits of Google’s new ideas. If you are not into the entire Google ecosystem and like all the Googleyness that is added to the Pixel phones then the Pixel line up might not be for you; but you can then add other apps to better suit your needs though. I do enjoy what Google offers and having Android setup with how Google envisions the direction Android should go is great.

Crazy Camera Quality

There are countless articles out there from a number of different sites that say that the Pixel 3 phone’s camera is one of the best (if not) the best camera out there on a phone. Does it have ultra wide support? No. Does it have the highest megapixel count? No. Does it have multiple camera lenses? No. But it has some of the best software out there to make sure that no matter what photo you take it is the best possible capture.

I generally do not take many selfies, or photos; unless the time calls for it. I don’t use Instagram or Snapchat so I don’t have a need for a camera to be on the high end, but if I go to an event or place and want to take a picture then I want to be sure that I am getting the best possible photo or video. Knowing I have a Pixel in my pocket makes me feel that I will get the best photo (no matter how much light is present or not).

All the Extras

The squeeze functionality if a little bit of a gimmick. I don’t think I’ll be using that feature much. I’d rather just use my voice.

This is the first phone I have had that has wireless charging. Right now I am seeing the convenience of it. Nowhere near as fast as charging through USB-C fast charging, but when I come home from work I place it on my Pixel Stand and I leave it there until I need to leave for work the next day. On the weekend I keep it docked while I am at my desk and it shows me the time, etc. I never need to worry much about whether or not I will run out of battery.

Overall I am super happy with the Pixel 3. The screen is vibrant, the sound is clear, the build quality is top notch, the OS is perfect, and it will get constant OS and security updates for 3 years. Hopefully this phone lasts me the 3 years and I will not have to pick up another phone until at least the end of 2021.

No New Nokia Phones For Me

Last week on the train ride home I was talking to my friend about the up and coming Google I/O 2019 event, Android, the Pixel phones and gimmicks/features all these phones are coming out with. With the recently leaked Pixel 3a and Pixel 3a XL details I questioned whether when the Pixel 4 is announced (at the end of 2019 at the usual Google Pixel hardware event?) that there would be three or four models. Two mid-range models (one for the smaller model and another for the larger one) and two premium models (again one small and one large). The reason I bring this up is because HMD Global/Nokia have again failed to live up to timely updates and I am fed up.

It is now the month of May and my Nokia 8 still does not have the April update. It took until the end of April/beginning or May for HMD Global/Nokia to release the March update or my phone to receive the update. Completely unacceptable IMO, for a company that specified they will be providing timely updates to their devices, and my telecommunication provider not being at fault. I have already blogged about this, but this time I am drawing a line through the HMD Global/Nokia brand when it comes to buying a brand new phone. When my friend’s Samsung Galaxy Note 8 has the April security update, and Samsung being known to take more time to release updates to their phones it is unacceptable.

It is as if HMD Global/Nokia have completely forgotten their commitment to timely updates for older model phones. This is one of the reasons why I moved away from HTC. Right now the only devices that I feel would be providing timely updates are the Google Pixel line of phones, have the hardware to do what I need (nothing special and I don’t play games) and not fall apart; oh and also not cost an arm and a leg. I miss the days of the Nexus line (I had a Nexus 4 and Nexus 6), all of which had timely updates, did the job they were tasked to do and lasted physically without costing a fortune. I know that the Pixel line is expensive but with the new line of mid-range phones coming from Google perhaps that is what I will go with. Is it so hard to ask for an OEM to provide timely OS and security updates, at a reasonable price point (under $700 Australian dollars) and has specifications that are not turtlish but also not elite. I also don’t need gimmicks with my phone such as the with the LG G8 ThinQ.

Goodbye HMD Global/Nokia, you had your chance to keep me as a loyal customer but you have failed after I gave you a number of chances. The only hesitation I have with the Pixel line is the hardware is not the best such as the lower than what is common now RAM and the durability of the phone. If the Pixel 4 mid-range phone can withstand JerryRigEverything’s durability test, has workable hardware, and is not going to break the bank it will be my go to; otherwise I will need to look elsewhere for a new phone when this Nokia 8 kicks the bucket. My fingers are crossed for the Pixel 4.

My First 30 Days at Atlassian

On February 21st I let my (former) employer know that I was resigning because I had taken a position at another company to grow professionally and expand my technical abilities. Come April 1st I started a new position as a Junior Backend Developer at Australia’s best software company (IMO) and one of the world’s best software companies (IMO), Atlassian. I was going to write this post a little earlier but I wanted to get more settled into my new position at Atlassian and get a better feel about how I was really adjusting working at a new and amazing company, in a new city, with me not knowing anyone at the company. What I can say it has been fantastic πŸ˜€

Previously my commute was a very short walk to the bus stop, then catching the free shuttle bus service our town offers to work (which was the bus’ first stop from where I caught it from). In total the entire trip from my house to my work was generally no more than 15 minutes at the best case. Now I need to wake up early (well early for me) at around 6am, drive to the train station and catch an early train to the Sydney CBD. I could catch a later train but there is no guarantee that there will not be any diversions or delays. In total the trip can take as long as 1 hour and 30 minutes. Thankfully I don’t need to stress on the train trip as I don’t need to change trains (the one I take directly goes to the CBD), can do some light work, listen to some music or a podcast, and even chat with my mates if they catch the same one that day.

One thing I can definitely say is that Atlassian looks after their employees very well. Originally for breakfast I would have an Up & Go and then head to work. Now I don’t have breakfast at home. Atlassian offers free breakfast πŸ™‚ I usually grab a bowl of fresh fruit and yogurt, and a small bottle of orange juice. Overall a much healthier breakfast option. For lunch I would generally make myself a sandwich and pack some snacks like crackers, yogurt, muesli bar, etc. Again, I don’t need to worry about lunch because Atlassian has me covered with free lunches everyday. With an assortment of different fruits, vegetables, meats, breads, drinks, etc and hot foods on Tuesdays and Thursday I can safely say that I will never get hungry; oh that is not to mention the assortment of snacks including chips, biscuits, nuts, ice cream, etc. I have already started to put on weight that I need to work off with all the food I am consuming.

One thing that I knew was coming was getting a new Apple laptop, based on all the images I saw of employees with their computers on Glassdoor and YouTube. I have never owned an Apple product until now and I am still getting used to the butterfly keyboard and macOS, but generally moving between Windows and macOS is no different than when I was moving between Windows and Ubuntu at university. On the hardware and workstation front having a super comfortable computer chair, standing desk, and large monitor along with a Macbook Pro that is spec’d out to the gills are all great things to have. If you are in Silicon Valley or work at a startup technology company these might all be common but it wasn’t where I was previously working (including the amount of free food and drinks).

Working at Atlassian has also been amazing so far. I am on the Bitbucket Server team and it has some really intelligent and talented developers, designers and managers. One thing that I have noticed when I got here was that my team and manager had a plan for me for the next several months and if I had any questions I could approach any colleague whether they were or were not on my core team. After getting through the massive amount of HR and onboarding tasks put in front of me there was just so much to learn. Many at the company say it is like “drinking from the fire hose“. There is just so much to learn, consume and understand. I can say that what they are saying is 100%, based on how much there is to learn and consume. Thankfully for me, I am surrounded by such helpful people that if I need any clarification or guidance about anything I can easily approach them and they are more than willing to help. It can be a little daunting to try and understand everything, see how everything fits together and how to resolve some of the issues. But as any good developer would say, your debugger is your friend as well as the log files. With a very clean code base with plenty of unit and integration tests it makes understanding the product much easier.

To summarise my first 30 days, it has gone very quick. From fun company and team events such as Star Wars movie event for May 4th (we had it on May 3rd as May 4th in Australia is on Saturday) and lawn bowls to resolving customer issues on Bitbucket Server, I have completely enjoyed my time. I am always learning something new every day and am trying to help my team as best I can, where I can. The next couple of months I am going to try and resolve more and more complex problems, try not to break anything (or if I do fix it) and ensure that I am leaving a positive measurable change. One thing I have learnt very quickly is to speak up when stuck, if you see an issue don’t ignore it but proactively do something about it. Everyone at the company I feel breathe Atlassian’s company values. With everything going well so far, I hope to be here for a very long time.

If you are looking for a change the take a look at the Atlassian careers page, we are always looking for talented individuals to grow our ever expanding team.

Resolving my restarting PC issue

Last weekend my gaming desktop PC started to randomly restart itself. It first did not appear to be after a set period of time or when there was a certain application running, it looked really random. I noted it down and said to myself that I am going to fix the problem in the coming week or next weekend. I was not looking forward to the troubleshooting and diagnosis process.

During the week I was a little busy with other things and I never even got a chance to turn on my gaming desktop PC, so fixing it during the week did not happen. As the weekend came along and I just finished my lunch on a bright and clear Saturday I said to myself that I should probably fix the problem.

Now I have only ever experienced this type of issue before once and have heard a number of different people have the same problem. In my case originally the problem was the PSU and I had to replace it. The issue here was that every single story had a different solution to the problem. Googling the problem will also give you some general and generic answers. The problem could be:

  1. Hardware related – something could be faulty
  2. Software related – some virus or application writing to an area of memory it shouldn’t
  3. Firmware/Driver related – graphical drivers or even deeper problems

I was hoping that the problem was hardware; I had not installed any new software and if I had a virus I would be concerned; Nvidia had put out new graphical drivers but I had not updated any other firmware on my machine. And fortunately enough for me this time around it was only hardware related. My thought process in resolving the problem and narrowing it down to a specific piece of hardware (if it was not hardware related I would have gone through the process of troubleshooting the software, etc.) was to piece by piece remove all hardware component and see if the PC restarts.

I started off by removing and unplugging all my audio equipment and disconnecting my PC completely from the network; not too important and I would not have thought they were the culprit but I need the space and room to work. The first hardware component I removed and test was my GPU. I was hoping that my GPU was not the culprit (it wasn’t) as buying a new GPU right now is out of the question for me. Once my gaming desktop PC restarted with the GPU out I also uninstalled and removed any driver and Nvidia software. Sometimes updates to the graphic drivers causes problems; it has done that to me a number of times. Still the issue persists.

With the GPU removed and all the accompanying software/drivers removed with the issue not resolved, the next logical piece of hardware to remove is the RAM. I have configured 2 8GB RAM sticks, and I first removed the RAM stick that is in Channel A but #2. Issue still unresolved. I replaced the first RAM stick in Channel A #1 with the one I removed first. Low and behold the restarting issue could not be replicated.

To verify that it indeed was the RAM stick, I changed them over to see if it would restart but it didn’t. I was a little confused. After talking to my dad and a couple of my mates on Discord, they said that potentially it was that the RAM stick was just having contact issues and needed to just be reseated. So I played around a little more with my RAM configuration and I could not reproduce the issue. Restarting would normally and reliably occur after at least 10 minutes of my gaming desktop PC being on and logged into Windows 10 when I was testing on Saturday. But now with both RAM sticks (even just having the one identified as the faulty RAM stick alone) installed the issue could not be replicated. This is good news.

I inserted back my GPU, installed the latest Nvidia graphic drivers and made sure everything was up to date, and then just let my PC run a video in the background waiting for it to reboot. It did not happen. Looks like reseating the RAM sticks resolved the problem. Thankfully I do not have to purchase any new hardware and I can still have my PC running with 16GB worth of RAM and not the 8GB if one of the sticks was faulty. So the lesson to be learnt is to methodically go through each of your hardware one by one, noting down any configuration changes and testing to see if the issue can be reproduced consistently. Once the issue has been resolved, see if you can reproduce the issue by reverting the change you had done; once that is confirmed see if your fix when applied again resolves the issue.

Returning back to the fundamentals and my programming roots

I have been at my current employer now for over four years and when I started there I was merely involved in the implementation of new features and bug fixes. But as my tenure increased as did my involvement in the projects that I was implementing for the various customers we have, and responsibilities. Now I spend a significant portion of my time not looking at as much code or configuration for the project’s implementation but assisting my team members in implementing new features or fixing bugs, helping our customer support team resolve issues, working through customer requests with a business analyst and how it could be implemented, and ensuring that we meet the deadlines that we have set.

Moving from a software engineer to a manager like role is different and presents its own set of challenges. The code I do look at now and modify is mainly to assist another colleague (pair programming, guidance, etc), to optimize what we currently have (nothing better than making something run more efficiently or take up less memory), or to streamline our internal development process across the teams (if I can automate it then why not). I really do miss sitting at my desk uninterrupted for extended periods of time listening to either a podcast or music and coding away resolving a bug to be ready for a release or implementing a new feature for a customer. But now that is few and far between.

With this limited amount of time programming at work I have decided to start programming even more at home; I really don’t want to get rusty at my programming skills. The last month or two I have been attempting to (and successfully) solve programming challenges and problem sets on both LeetCode and HackerRank. Both are very good sites IMO on keeping your software engineering skills up to scratch and making sure that you understand the fundamentals no matter the language. Along with this I have started to get back into working on some side projects. The problem I have with side projects is that I start them, get a portion of the way through them, and then lose interest. I have many side projects shelved and stashed which are incomplete, and when I go back and look at them I know why I stopped working on them; to be honest they are not really good side projects.

So for 2019 (and I have been going strong so far which is really why I have not written a meaningful blog post recently) I plan on working on and finishing a side project (at least one meaningful one) so that I can showcase it, and write up some more technical post about what I have been reading and doing in my spare time. 2019 is going to be another good year πŸ™‚